
A autenticação ldap do Ubuntu não está funcionando no meu cliente com a opção ssl start_tls habilitada no arquivo ldap.conf. Posso autenticar quando comento ssl start_tls.
Atualizei o certificado dos servidores ldap e, desde então, os usuários não podem mais autenticar na minha máquina cliente Ubuntu 10.04 se o SSL estiver ativado. As mudanças que ocorreram:
Cert upgraded from 1024 to 2048 bit
now is a wildcart cert and use it to be a self-signed cert
encryption algorithm is now shaw512 (use to be md5)
Meu auth.log tem alguns erros:
nss-ldap: do_open: do_start_tls falhou:stat=-1
Os novos certificados estão funcionando porque tenho alguns outros clientes que autenticam usando os novos certificados (máquinas centOS antigas).
Alguém tem alguma idéia de por que não posso mais usar SSL com ldap no meu cliente?
Responder1
Existe uma hierarquia de assinatura (ou seja, não autoassinada)? "curinga" e "autoassinado" não são exclusivos. Um certificado curinga comercial terá uma hierarquia, ou seja, uma ou mais CAs intermediárias e uma CA raiz.
sha-512 ou md5 sãohashesusados na assinatura do certificado, eles não sãoalgoritmos de criptografia. Estes são usados para verificar a integridade do certificado, a cifra usada para uma conexão é negociada independentemente disso.
Acho que as causas mais prováveis são sha512 (mais corretamente, "sha512WithRSAEncryption") não é suportado no Ubuntu 10; ou falta um ou mais certificados CA (intermediário ou raiz) na máquina, portanto a verificação completa da cadeia não pode ser concluída.
Você pode ver se o openssl pode lidar com o novo certificado do servidor executando (na máquina Ubuntu 10):
openssl x509 -in newservercert.crt -noout -text
embora isso possa não ser conclusivo. Isso também pode ser útil:
ldapsearch -x -Z -v -h your.ldap.server
(Há uma pequena chance de que o GnuTLS seja usado em vez do OpenSSL, não posso ajudar, desculpe!)
Você provavelmente pode confirmar ou negar um problema de cadeia adicionando isto ao seu arquivo /etc/ldap/ldap.conf:
TLS_REQCERT never
Se isso ajudar, você deve obter as partes que faltam na cadeia e adicioná-las ao seu armazenamento local, como isso é feito depende da configuração do cliente, verificando "TLS_CACERT" e/ou TLS_CACERTDIR em /etc/ldap/ldap.conf diretivas é onde você começa.
As causas menos prováveis incluem:
- incapacidade de verificar CRLs (verifique ldap.conf para ver se está ativado)
E assumindo que nada mais mudou, causas improváveis incluídas para completar:
- versão do protocolo do servidor ou conjunto de cifras não suportado pelo cliente
- mudança nos mecanismos SASL suportados
Responder2
Não tenho certeza se você resolveu esta questão. Eu encontrei a mesma situação. 12.04 se conecta ao servidor ldap usando tls, mas 10.04 não. Minha solução é adicionar uma linha a /etc/ldap/ldap.conf
:
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
e o cliente 10.04 pode se conectar ao servidor ldap usando tls.