Porta LDP SSL 636 Funciona - ldaps: // não

4

Estou tentando usar o ldap com ssl no Server 2008 R2. Tudo foi definido e posso conectar usando ldp.exe à domain.example.org port 636 com a caixa de seleção ssl. Isso está no próprio servidor local.

No entanto - não consigo me conectar usando o ldapsearch usando o ssl e a porta 636. Nenhum ssl e a porta 389 funcionam bem usando o ldapsearch.

Alguma ideia? Meus clientes precisam ter um certificado instalado ou algo assim? Eu só queria ter conexões ldap criptografadas. Obrigado por qualquer ajuda!

* Editar *

O comando que funciona:

ldapsearch -x -b "dc=XX,dc=example,dc=org" -D "[email protected]" -H ldap://XX.example.org -W '(&(proxyAddresses=smtp*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'

O comando que não funciona:

ldapsearch -x -b "dc=XX,dc=example,dc=org" -D "[email protected]" -H ldaps://XX.example.org:636 -W '(&(proxyAddresses=smtp*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'

Eu tentei variações de -h e usando o -p para especificar a porta.

Como devo proceder para instalar o certificado do servidor 2008 no cliente?

    
por user1453561 22.08.2013 / 16:56

2 respostas

1

Seus clientes não precisam de seu próprio certificado. Eles só precisam confiar no certificado da Autoridade de Certificação (ou cadeia de certificados) que assinou o certificado do servidor LDAP. Você não precisou se preocupar com isso no host local porque o certificado de CA já era confiável por padrão.

Não está claro, na sua pergunta, se o servidor LDAP também é a Autoridade de Certificação e se está usando o certificado de autoridade de certificação como o certificado LDAP também. Normalmente, estes são dois certificados diferentes e a Autoridade de Certificação vive em uma máquina diferente.

Algum google'ing rápido indica que há uma opção que você pode definir no arquivo ldap.conf chamado TLS_CACERT ou uma variável de ambiente equivalente chamada LDAPTLS_CACERT, que você pode apontar para um arquivo contendo todos os certificados de CA em seu ambiente (codificado em base64).

Se você tiver apenas uma única autoridade de certificação em seu ambiente, poderá baixar uma versão codificada em base64 de seu certificado público. E se você puder encontrar apenas uma versão codificada de DER, você pode usar o openssl para convertê-la em base64.

openssl x509 -inform der -in cacert.crt -out cacert.pem
    
por 22.04.2015 / 23:35
0

Infelizmente, seu comportamento é esperado. LDAP é apenas estranho assim, pelo menos para o Windows AD. Não existe tal coisa como ldaps , mas se você especificar o número da porta, a criptografia irá acontecer. Tente este comando:

ldapsearch -x -b "dc=XX,dc=XXX,dc=org" -D "[email protected]" -H ldap://XX.XXX.org:636 -W '(&(proxyAddresses=smtp*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'

Para quase tudo que não seja LDAP, parece que você está pedindo tráfego de texto sem formatação na porta padrão do serviço para SSL. O LDAP fará o tráfego criptografado aqui.

Eu também não gosto, porque torna mais difícil verificar que a criptografia está acontecendo. Com uma mudança de porta, talvez esteja apenas enviando texto sem formatação pela porta criptografada, mas com um esquema / protocolo explícito, você pode saber que está, pelo menos, tentando. Esquemas explícitos de protocolo também facilitam a execução de tarefas em portas não padrão quando necessário. Mas goste ou não, é assim que é.

    
por 14.03.2016 / 19:36