Como importar o certificado para o Apache + LDAPS?

2

Estou tentando fazer com que os ldaps funcionem através do Apache 2.2.17 (Windows Server 2008). Se eu usar o ldap (texto simples), minha configuração funciona muito bem.

LDAPTrustedGlobalCert CA_DER C:/wamp/certs/Trusted_Root_Certificate.cer
LDAPVerifyServerCert Off
<Location />
    AuthLDAPBindDN "CN=corpsvcatlas,OU=Service Accounts,OU=u00958,OU=00958,DC=hca,DC=corpad,DC=net"
    AuthLDAPBindPassword ..removed..
    AuthLDAPURL "ldaps://gc-hca.corpad.net:3269/dc=hca,dc=corpad,dc=net?sAMAccountName?sub"
    AuthType Basic
    AuthName "USE YOUR WINDOWS ACCOUNT"
    AuthBasicProvider ldap
    AuthUserFile /dev/null
    require valid-user
</Location>

Eu também tentei as outras opções de criptografia além do CA_DER apenas para estar seguro, sem sorte.

Finalmente, eu também precisava disso com o Apache tomcat. Para o tomcat eu usei o tomcat JRE e corri uma linha assim:

keytool -import -trustcacerts -keystore cacerts -storepass changeit -noprompt -alias mycert -file Trusted_Root_Certificate.cer

Depois de fazer os ldaps de linha acima, trabalhei com o tomcat. Isso me permite saber que meu certificado é ok.

Atualização: Ambos os módulos ldap estão ligados, já que usar o ldap em vez de ldaps funciona bem.

Quando eu executo um clone do git, este é o erro retornado:

C:\Temp>git clone http://eqb9718@localhost/git/Liferay.git
Cloning into Liferay...
Password:
error: The requested URL returned error: 500 while accessing http://eqb9718@loca
lhost/git/Liferay.git/info/refs
fatal: HTTP request failed

access.log tem isso:

127.0.0.1 - eqb9718 [23/Nov/2011:18:25:12 -0600] "GET /git/Liferay.git/info/refs service=git-upload-pack HTTP/1.1" 500 535
127.0.0.1 - eqb9718 [23/Nov/2011:18:25:33 -0600] "GET /git/Liferay.git/info/refs HTTP/1.1" 500 535

apache_error.log não tem nada. Existe algum log mais detalhado que eu possa ativar ou melhores testes para fazer?

Atualização 2: Eu posso executar o wireshark no servidor apache e posso ver claramente a conexão de saída, mas não consigo fazer cara ou coroa de qualquer outra coisa. Eu não sou guru de wireshark, apenas parece um jargão.

Além disso, usei o navegador ldap para verificar se o ldaps está funcionando muito bem com a máquina.

Atualização 3: Eu virei o log do apache para depurar e este é o erro que está voltando:

[3016] auth_ldap authenticate: user eqb9718 authentication failed; URI /git/Liferay.git/info/refs [LDAP: ldap_simple_bind_s() failed][Server Down]

Agora lembre-se de que, nessa mesma máquina do Server 2008, posso usar o Navegador LDAP para conectar via ldaps à porta 3269 e nada está "inativo". O que é esse erro nos dizendo?

Atualização 4: Aqui estão os resultados da execução do openssl s_client -connect gc-hca.corpad.net: 3269 -showcerts: link

Eu também tentei o comando openssl indo diretamente para um controlador de domínio na porta 636 que funciona e tentei no meu httpd.conf, que produz o mesmo erro. Eu não sei se é importante notar que quando vou diretamente para um controller (389 ou 636) eu tenho que adicionar um container ao url como ou = group, dc = hca, etc. Isso torna o uso do GC uma obrigação. Deve ser um bug no mod_ldap desde que encontrei essa solução a partir de muitos outros posts.

Atualização 5: Eu iniciei o apache manualmente em vez de através de um serviço e esta é a depuração do ldap que está sendo impressa:

C:\wamp\bin\apache\Apache2.2.17\bin>httpd
[Thu Nov 24 19:19:08 2011] [debug] util_ldap.c(1769): LDAP: SSL verify server ce
rtificate - FALSE
[Thu Nov 24 19:19:08 2011] [debug] mod_authnz_ldap.c(1010): [3144] auth_ldap url
parse: 'ldaps://gc-hca.corpad.net:3269/dc=hca,dc=corpad,dc=net?sAMAccountName?s  
ub?(objectClass=*)', Host: gc-hca.corpad.net:3269, Port: 3269, DN: dc=hca,dc=cor
pad,dc=net, attrib: sAMAccountName, scope: subtree, filter: (objectClass=*), con
nection mode: using SSL
    
por Cameron McBride 23.11.2011 / 22:46

1 resposta

2

Seu LDAPVerifyServerCert Off está tornando a configuração da raiz confiável inerte - portanto, confiança não é um problema.

Existe realmente esse número de espaços em OU=Service Accounts ?

Você tem mod_ldap e mod_authnz_ldap ativado?

Se nenhum desses é o problema, você pode verificar seus registros de erro em busca de algo útil?

    
por 24.11.2011 / 00:57