Configurando o SSL com o 389 Directory Server para autenticação LDAP

7

Tenho 389 Directory Server em execução no RHEL 5 com grupos, usuários, posix etc. Os clientes RHEL estão autenticando usuários com LDAP - sem problemas, tudo funciona perfeitamente, mas as senhas são enviadas em texto sem formatação e ficam visíveis com o sniffer de rede. Então, decidimos rodar com SSL:

  1. CA criada - obteve certificados de CA privados e públicos
  2. Usando CA certs: gerado tanto de certificados privados quanto públicos ( 1º arquivo ) para 389DS de acordo com a solicitação de certificado 389DS, importado com o certificado público da CA para 389DS do console gráfico ( arquivo ).
  3. SSL ativado em 389DS
  4. No cliente, usando o SSL habilitado para o authconfig-gtk para o LDAP, apenas certificado público da CA especificado

Não funciona.

Como? Qual é a melhor maneira de integrar com segurança?

    
por GioMac 04.07.2012 / 15:41

5 respostas

1

Provavelmente, uma maneira melhor é usar o FreeIPA.

    
por 16.07.2012 / 10:41
7

A primeira coisa que você pode querer fazer é verificar se seu servidor está apresentando seus certificados corretamente. Você pode fazer isso tentando se conectar ao seu servidor usando o OpenSSL. Em uma máquina cliente com acesso, execute:

openssl s_client –connect target_server_fqdn:636

Isso deve retornar uma boa impressão do certificado do servidor. A chave aqui é verificar o "Verificar código de retorno" impresso no final. Você pode obter códigos diferentes, mas, em geral, você deve obter 0 para um certificado válido e, possivelmente, 19 se for autoassinado.

Se isso falhar, volte e verifique se você importou os certificados do servidor corretamente.

Se você passou neste teste, passe a testar suas conexões TLS no lado do cliente.

Em uma máquina cliente, execute

ldapsearch -z -ZZ '(uid=<testusername>)'

Isso forçará uma pesquisa LDAP em uma conexão criptografada. Se isso for bem-sucedido, você deverá recuperar algumas informações do usuário e uma verificação nos registros do DS deverá resultar em:

[23/Sep/2011:07:48:57 -0500] conn=1631 op=0 EXT oid="X.X.X.X.XX.X.XX" name="startTLS" [23/Sep/2011:07:48:57 -0500] conn=1631 op=0 RESULT err=0 tag=120 nentries=0 etime=0 [23/Sep/2011:07:48:57 -0500] conn=1631 SSL 256-bit AES

Se isso falhar, você deverá garantir que os certificados foram importados corretamente no lado do cliente.

Na solução de problemas, algumas áreas comuns que eu encontrei procurando com frequência são:

1.) Nos clientes, em alguns casos (que alguém aqui pode ser capaz de explicar melhor), você pode tentar exigir assinatura editando ldap.conf e incluindo a linha

TLS_REQCERT allow

2.) Se a GUI de autenticação estiver causando problemas, você pode tentar ativar explicitamente o TLS para LDAP com

authconfig --enableldaptls --update 

Eu tive problemas com a GUI antes, então tenho a tendência de usar comandos da CLI.

3.) E uma última coisa que você pode tentar (novamente, apenas para testes), está chamando

cacertdir_rehash <dir where certs are stored>

Atualizar

Se você estiver procurando mais ajuda para criar certificados de auto-assinatura, tente o seguinte:

1.) Crie seu próprio certificado de CA autoassinado:

certutil -S -n "<CA Certificate Name Here>" -s "cn=<CN Name Here>, dc=<Your DC's FQDN>" -2 -x -t "CT,," -m 1000 -v 120 -d . -k rsa

2.) Crie um certificado de servidor para o servidor de diretório

certutil -S -n "Cert-Name" -s "cn=<Server FQDN>" -c "<Name of CA Certificate>" -t "u,u,u" -m 1001 -v 120 -d . -k rsa 

3.) Importe esses dois certificados para o servidor de diretório na seção "Gerenciar Certificados", selecionada em "Tarefas"

4.) Ativar criptografia TLS

5.) Crie um certificado exportável para clientes e imprima-o em um arquivo .pem

certutil -d . -L -n "<CA Certificate Name>" -a > cacert.pem

6.) Por meio de sua escolha - baixar o certificado do cliente para cada cliente.

7.) Rehash os certificados usando o comando mencionado anteriormente

cacertdir_rehash <dir where certs are stored>
    
por 09.07.2012 / 20:34
2

Eu não tive sorte configurando o SSL para o diretório 389 ou para os servidores admin após o howto que eu encontrei (eu percebi que era porque eu estava usando o Centos 6, e a maioria dos howtos visava especificamente o Redhat).

O que finalmente funcionou para mim foi iniciar solicitações cert das interfaces do servidor 389-console (admin | dir), assinar esses requisitos com uma instalação tinyCA (apenas um frontend para openssl, eu sou preguiçoso), exportar o PEM assinado certs e CA certs, e importá-los de volta usando o 389-console.

389 console - > Grupo de servidores - > servidor (admin / diretório) - > Aberto - > Gerenciar Certificados

Espero que isso ajude ...

    
por 10.07.2012 / 17:39
0

Você poderia usar o link abaixo para configurar o RHDS / 389-ds no SSL.

link

Espero que ajude.

    
por 24.08.2012 / 15:23
0

O projeto do 389 Directory Server mantém um guia sobre TLS / SSL aqui link

Isso abrange a administração de certificados do servidor sem o console administrativo. Espero que ajude,

    
por 24.04.2017 / 02:01