Open Directory: como habilitar o SSL para o Open Directory com Réplicas

O protocolo Secure Sockets Layer (SSL) pode ser habilitado para fornecer comunicações criptografadas entre um Open Directory Principal, Réplica e os computadores que acessam o domínio de diretório LDAP. O protocolo SSL usa um certificado digital para fornecer uma identidade certificada aos servidores. É possível usar um certificado autoassinado ou um certificado obtido de uma autoridade de certificação.

Com os computadores Open Directory Principal e Réplica posicionados:

  1. Verifique se ambos os computadores Open Directory Principal e Réplica são compatíveis com conexões SSL.
  2. Habilite a criptografia SSL no Open Directory Principal usando um certificado autoassinado com o nome comum configurado para o nome de host do Principal.
  3. Habilite a criptografia SSL em todos os computadores Réplica: crie um certificado autoassinado em computadores Réplica usando o Server Admin com o mesmo nome comum que o nome de host daquele computador.

No Terminal, execute este comando:

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]

(por padrão, o Server Admin armazena os certificados em /etc/certificates. Verifique se os nomes dos arquivos foram incluídos no caminho)

Instalar os certificados do Open Directory Principal e Réplicas

Para que os clientes possam usar o protocolo SSL, o certificado de cada servidor no cluster de diretórios precisa ser copiado para os computadores cliente. Para instalar os certificados dos computadores Open Directory Principal e Réplica:

1. Em cada computador cliente, crie o diretório /etc/openldap/certs.

2. Em um computador cliente, abra o Terminal e execute este comando para obter o certificado do servidor:

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

3. Copie as linhas entre "---BEGIN CERTIFICATE---" e "---END CERTIFICATE---" em um arquivo chamado "hostname".

4. Coloque o novo arquivo hostname aqui:/etc/openldap/certs/

5. Teste o certificado com este comando: 

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

Essa ação deve exibir um resultado semelhante ao anterior, com a seguinte alteração na última linha: verifique o código de devolução: 0(ok) em vez do 18 ou 19 recebido anteriormente

6. Se tiver apenas um certificado (por exemplo, um único servidor LDAP com SSL habilitado), acrescente o seguinte ao arquivo /etc/openldap/ldap.conf

TLS_CACERT /etc/openldap/certs/[nome de host do servidor]

Se houver vários servidores LDAP com SSL habilitado

Será necessário especificar os servidores individualmente ou colocá-los no mesmo diretório e apontar ldap.conf para eles com as seguintes etapas:

1. Para cada servidor no cluster LDAP, será necessário obter os certificados como antes usando o comando openssl s_client:

openssl s_client -connect [nome de host do servidor]:636

2. Assim que receber os certificados, use o c_hash (utilitário do OpenSSL) para deixar os certificados em um formato com hash. Para cada certificado, o c_hash fornecerá um nome que será usado para renomear o arquivo do certificado em /etc/openldap/certs:

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

O resultado deve se parecer com o seguinte:  03be8eb2.0 => /etc/openldap/certs/hostname

3. Ao receber o nome com hash, renomeie manualmente o arquivo cert existente.

Exemplo:

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

4. Quando todos os certificados tiverem passado pelo c_hash, edite o arquivo /etc/openldap/ldap.conf com:

TLS_CACERTDIR /etc/openldap/certs/

5. Remova as entradas anteriores TLS_CACERTDIR que estiverem no arquivo ldap.conf.

6. Verifique com o comando ldapsearch:

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

7. Talvez seja necessário reiniciar os Serviços de Diretório se já tiver tentado configurar o servidor LDAP:

sudo killall DirectoryService
Data da publicação: