Eu encontrei. Está codificado tem bytes hexadecimais.
Eu tenho um servidor Apache em que tenho um site com um diretório protegido. Protegido pela autenticação básica contra um servidor LDAP removido (não na mesma máquina).
<Location "/mywebapp/myprotected">
AuthzLDAPAuthoritative on
AuthType basic
AuthName "Enter your credentials"
AuthBasicProvider ldap
AuthLDAPURL "ldap://ldap.differentserver.org:3268/dc=company,dc=org?sAMAccountName?sub?(&(objectCategory=*)(objectClass=user))"
Require valid-user
AuthLDAPBindDN 'cn="Adminaccount,OU=Service IDs,OU=Application IDs,OU=Support,OU=Administration,dc=company,dc=org'
AuthLDAPBindPassword adminpassword
</Location>
Este conjunto está atualmente funcionando. Todas as conexões são de texto simples.
O que não entendo é por que não vejo minha senha no wireshark quando o servidor apache interage com o ldap.differentserver.org. Vejo minha senha quando a insiro na caixa de diálogo pop-up a caminho do servidor da Web, mas não do servidor da Web para o servidor ldap. Eu vejo o AuthLDAPBindPassword.
No wireshark, os únicos protocolos que vejo são TCP, DNS, LDAP, HTML. Eu não vejo nenhuma mensagem do protocolo TLS, então estou assumindo que o servidor LDAP não está avançando para o TLS.
Eu vejo a mensagem de pesquisa LDAP no meu nome de usuário em texto simples, mas a minha senha não parece estar em nenhuma das mensagens.
O sistema IS está funcionando - gostaria apenas de uma explicação de como o LDAP está obtendo minha senha de usuário normal porque não a vejo.
Eu encontrei. Está codificado tem bytes hexadecimais.
O Ldap armazena senhas como hashes. (isto é, criptografado). Sem entrar em detalhes técnicos das interações entre o mod_authz e o ldap ... O Apache verifica o hash da senha que você forneceu na janela de login com o hash que está armazenado no ldap.
Como um aparte: Você deve fazer toda a autenticação de https com o apache pela mesma razão que você observou: Qualquer um pode farejar seu tráfego e ver sua senha em texto puro.
Tags ldap apache-2.2