LDAP + TLS - comportamento diferente em duas máquinas

1

máquinas:

  1. debian wheezy
  2. suse 11

comandos:

  1. ldapsearch -ZZ -h ad.unsw.edu.au -x
  2. perl -we "use Net::LDAP; print Net::LDAP->new ('ad.unsw.edu.au')->start_tls(verify => 'require', capath => '/etc/ssl/certs/')->{errorMessage}"

resultados:

  • máquina 1, comando 1: TLS: nome do host não corresponde ao CN no certificado de mesmo nível
  • máquina 1, comando 2: funciona
  • máquina 2, comando 1: funciona
  • máquina 2, comando 2: Não é possível determinar o nome do host de mesmo nível para verificação

não consigo explicar a inconsistência e realmente quero que o comando 2 trabalhe na máquina 2. alguma idéia?

depois de um strace, parece que o debian-ldapsearch está olhando para /etc/ssl/certs/ca-certificates.crt e o suse-ldapsearch não está olhando NADA. debian- Net::LDAP está olhando para /etc/ssl/certs/157753a5.? ( AddTrust_External_Root.pem ) e suse- Net::LDAP está olhando para NADA.

    
por Jayen 31.10.2011 / 08:27

3 respostas

0

linha 233 de Net/LDAP.pm em Net::LDAP 0.43 diz

SSL_verifycn_scheme => "ldap",

debian wheezy está usando 0,40, mas atualizando para 0,43 da unstable também o quebra.

link

    
por 01.11.2011 / 11:50
1

Você deve verificar se o certificado SSL remoto tem uma parte "CN" do assunto igual ao nome do host do servidor LDAPS nos seus comandos (ad.unsw.edu.au).

Para ver o uso do certificado remoto:

echo ""|openssl s_client -connect ad.unsw.edu.au:636 |openssl x509 -noout -subject -dates -issuer

Detalhes completos:

echo ""|openssl s_client -connect ad.unsw.edu.au:636 |openssl x509 -noout -text

Verifique se o certificado raiz do emissor é importado e confiável no ldap (consulte a documentação do OpenLDAP SSL ) e perl SSL keystore (veja IO :: Socket :: SSL ). Se for um certificado de auto-assinatura, esse certificado deve ser adicionado às chaves SSL confiáveis.

    
por 31.10.2011 / 14:41
1

Net :: LDAP :: start_tls () está quebrado em perl-ldap-0.43. Sua linha de comando deve funcionar bem se você atualizar para 0.44 ou posterior. Isso está documentado no arquivo Changes:

link

Bug Fixes
 * un-break certificate verification
    
por 17.02.2012 / 16:01