Open Directory: 복제본이 포함된 Open Directory의 SSL 활성화하기

SSL(Secure Sockets Layer)은 Open Directory 마스터, 복제본 및 LDAP 디렉토리 도메인에 접근하는 컴퓨터 간 암호화된 통신을 제공하도록 설정할 수 있습니다. SSL은 디지털 인증서를 사용하여 서버에 인증된 ID를 제공합니다. 자체 서명 인증서 또는 인증 기관에서 획득한 인증서를 사용할 수 있습니다.

위치에 있는 Open Directory 마스터 및 복제본 컴퓨터 사용:

  1. Open Directory 마스터 및 복제본 컴퓨터 모두 SSL 연결을 지원하는지 확인합니다.
  2. 일반 이름이 마스터의 호스트 이름으로 설정된 자체 서명 인증서를 사용하여 Open Directory 마스터에서 SSL 암호화를 활성화합니다.
  3. 모든 복제본 컴퓨터에서 SSL을 활성화합니다. 해당 컴퓨터의 호스트 이름과 동일한 일반 이름이 있는 Server Admin을 사용하여 복제본 컴퓨터에서 자체 서명 인증서를 생성합니다.

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

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]

(기본적으로 Server Admin은 인증서를 /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---' 사이의 줄을 '호스트 이름'이라는 파일에 복사합니다.

4. 새로운 호스트 이름 파일을 /etc/openldap/certs/에 배치합니다.

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

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

마지막 줄을 다음과 같이 변경하여 이전과 유사한 출력을 표시해야 합니다. 이전에 받은 18 또는 19 대신 반납 코드 0(확인)을 확인합니다.

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

TLS_CACERT /etc/openldap/certs/[서버의 호스트 이름]

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

서버를 개별적으로 지정하거나 동일한 디렉토리에 모두 배치하고 다음 단계를 사용하여 ldap.conf를 지정해야 합니다.

1. LDAP 클러스터에 있는 각 서버의 경우 openssl s_client 명령을 사용하기 전에 인증서를 획득해야 합니다.

openssl s_client -connect [서버의 호스트 이름]: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. 해시 이름을 받으면 기존의 cert 파일의 이름을 수동으로 변경합니다.

예:

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
게시일: