gnutls vs openssl com openldap, debian e centos

1

Eu tenho um servidor Debian 6.0.5 rodando o openldap. Parece ser compilado contra gnutls. Eu usei o certtool do gnutls para gerar um certificado autoassinado e usei-o em algumas máquinas clientes da Debian para autenticar no servidor openldap.

No entanto, quando tento fazer o mesmo em um cliente do CentOS 6, recebo o seguinte erro para o ldapsearch:

ldap_initialize( <DEFAULT> )    
ldap_start_tls: Can't contact LDAP server (-1)
additional info: TLS error -8101:Certificate type not approved for application.    
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

Se eu rodar o gnutls-cli-debug no cliente CentOS, recebo o seguinte:

gnutls-cli-debug -p 636 ldap.blahblah.com
    Resolving 'ldap.blahblah.com'...
    Connecting to '10.6.0.11:636'...
    Error in %INITIAL_SAFE_RENEGOTIATION
    Checking for Safe renegotiation support...

E é isso - morre.

Alguém conseguiu fazer ldaps neste tipo de configuração, servidor vinculado, certificado gerado por gnutls, cliente vinculado openssl?

Obrigado!

    
por OJD 21.08.2012 / 01:33

1 resposta

2

Eu acho que você poderia atacar isso de duas maneiras: fazendo com que o cliente ldapsearch trabalhe usando seus certificados existentes ou gerando novos certificados de que goste. Pessoalmente, eu imagino que modificar o seu certificado de servidor seja mais fácil do que mudar o código ldapsearch , então é isso que eu olhei.

O erro acima sugere que algo está faltando no seu certificado do lado do servidor (ou seja, o cliente não quer falar com o seu servidor porque ele não está se identificando corretamente).

Para iniciantes, examinei o certificado usado por um servidor LDAP aleatório, neste caso directory.washington.edu . Se você não conseguir seu certificado, por exemplo:

openssl s_client -connect directory.washington.edu:636 > dirwash.crt

e faça:

openssl x509 -in dirwash.crt -text

você verá:

        X509v3 Key Usage: 
            Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment
        X509v3 Extended Key Usage: 
            TLS Web Client Authentication, TLS Web Server Authentication

Outros servidores LDAP (por exemplo, ldap.virginia.edu ) não possuem essas extensões. Outros, como ldap.itd.umich.edu , têm uma variação dos itens acima:

        X509v3 Key Usage: 
            Digital Signature, Key Encipherment
        X509v3 Extended Key Usage: 
            TLS Web Server Authentication, TLS Web Client Authentication

Em suma, sugiro que você verifique seu certificado de servidor - publique-o aqui, se quiser - para ver se ele contém X509v3 (Extended) Key Usage extensions e, em caso afirmativo, se eles são semelhantes àqueles em uso em outros servidores LDAP.

Eu vi um tópico de e-mail que sugeriu que: (1) as extensões devem estar ausentes; ou (2) se as extensões estiverem presentes, elas precisam conter pelo menos TLS Web Server Authentication . Eu não sei se isso é verdade neste caso, mas algo a considerar de qualquer maneira.

    
por 21.08.2012 / 16:03