Open Directory: 복제 항목을 사용하여 Open Directory의 SSL 활성화하기

Open Directory 마스터, 복제 항목 및 LDAP 디렉토리 도메인에 접근하는 컴퓨터 간에 암호화된 통신을 제공하기 위해 SSL(Secure Sockets Layer)을 활성화할 수 있습니다. SSL은 디지털 인증서를 사용하여 서버에 인증된 신원을 제공합니다. 자체 서명 인증서 또는 인증 기관에서 받은 인증서를 사용할 수 있습니다.

Open Directory 마스터 및 복제 항목 컴퓨터를 준비한 상태에서 다음을 수행합니다.

  1. Open Directory 마스터 및 복제 항목 컴퓨터가 모두 SSL 연결을 지원하는지 확인합니다.

  2. 일반 이름이 마스터의 호스트 이름으로 설정된 자체 서명 인증서를 사용하여 Open Directory 마스터에서 SSL 암호화를 활성화합니다.

  3. 모든 복제 항목 컴퓨터에서 SSL 활성화하기: 일반 이름이 복제 항목 컴퓨터의 호스트 이름과 동일한 서버 관리를 사용하여 복제 항목 컴퓨터에서 자체 서명 인증서를 만듭니다.

터미널에서 다음 명령을 실행합니다.

Mac OS X Server 10.5:

sudo slapconfig -setldapconfig -ssl on -sslkey [path to SSL key] -sslcert [path to SSL cert] -ssldomain [name of the certificate]

Mac OS X Server 10.6:

sudo slapconfig -setldapconfig -ssl on -sslkey [path to SSL key] -sslcert [path to SSL cert]

(기본적으로 서버 관리는 인증서를 /etc/certificates에 저장합니다. 또한 경로에 파일 이름을 추가하도록 합니다.)

Open Directory 마스터 및 복제 항목에서 인증서 설치하기

클라이언트 컴퓨터에서 SSL을 사용하려면 디렉토리 클러스터에 있는 각 서버의 인증서를 클라이언트 컴퓨터에 복사해야 합니다. Open Directory 마스터 및 복제 항목 컴퓨터에서 인증서를 설치하려면 다음을 수행합니다.

1. 각 클라이언트 컴퓨터에서 /etc/openldap/certs 디렉토리를 만듭니다.

2. 각 클라이언트 컴퓨터에서 터미널을 열고 다음 명령을 실행하여 서버에서 인증서를 가져옵니다.

openssl s_client -connect [hostname of the server]:636

3. "---BEGIN CERTIFICATE---"와 "---END CERTIFICATE---" 사이에 있는 라인을 'hostname'이라는 파일에 복사합니다.

4. 새 hostname 파일을 /etc/openldap/certs/에 저장합니다.

5. 다음 명령을 사용하여 인증서를 테스트할 수 있습니다.

openssl s_client -connect [hostname of the server]:636 -CAfile /etc/openldap/certs/hostname

이 경우 이전과 비슷하게 출력되며, 마지막 줄이 다음과 같이 변경됩니다. verify return code:0(ok) instead of the 18 or 19 you received previously

6. 인증서가 1개만 있는 경우(예: SSL이 활성화된 단일 LDAP 서버) /etc/openldap/ldap.conf 파일에 다음을 추가합니다.

TLS_CACERT /etc/openldap/certs/[hostname of the server]

SSL이 활성화된 LDAP 서버가 여러 개 있는 경우

서버를 개별적으로 지정하거나 서버를 모두 동일한 디렉토리에 두고 다음 단계에 따라 ldap.conf를 가리키도록 해야 합니다.

1. LDAP 클러스터의 각 서버에 대해 openssl s_client 명령을 사용하여 전과 같이 인증서를 받아야 합니다.

openssl s_client -connect [hostname of the server]:636

2. 인증서를 받았으면 c_hash(OpenSSL 유틸리티)를 사용하여 인증서를 암호 처리된 포맷으로 가져옵니다. 각 인증서에 c_hash를 사용하면 /etc/openldap/certs에 있는 인증서 파일 이름을 바꾸는 데 사용되는 이름이 제공됩니다.

/System/Library/OpenSSL/misc/c_hash /etc/openldap/certs/hostname

다음과 비슷하게 출력됩니다. 03be8eb2.0 => /etc/openldap/certs/hostname

3. 해시 이름을 받으면 기존 인증서 파일 이름을 수동으로 바꿉니다.

예:

mv /etc/openldap/certs/hostname /etc/openldap/certs/03be8eb2.0

4. c_hash를 통해 인증서를 모두 실행했으면 다음을 사용하여 /etc/openldap/ldap.conf 파일을 편집합니다.

TLS_CACERTDIR /etc/openldap/certs/

5. ldap.conf 파일에 있을 수 있는 이전 TLS_CACERTDIR 항목을 제거합니다.

6. ldapsearch 명령을 사용하여 확인합니다.

ldapsearch -v -x -H ldaps://[hostname of the server] -b [searchbase]

7. LDAP 서버 설정을 이미 시도한 경우에는 디렉토리 서비스를 다시 시작해야 할 수 있습니다.

sudo killall DirectoryService

게시일: