Apache + LDAPS용 인증서를 가져오는 방법은 무엇입니까?

Apache + LDAPS용 인증서를 가져오는 방법은 무엇입니까?

Apache 2.2.17(Windows Server 2008)을 통해 LDAP가 작동하도록 하려고 합니다. ldap(일반 텍스트)을 사용하면 구성이 훌륭하게 작동합니다.

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>

또한 안전을 위해 CA_DER 외에 다른 암호화 옵션도 시도했지만 운이 없었습니다.

마지막으로 Apache Tomcat에도 이것이 필요했습니다. Tomcat의 경우 Tomcat JRE를 사용하고 다음과 같은 줄을 실행했습니다.

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

위의 라인을 수행한 후 ldaps는 tomcat을 통해 훌륭하게 작동했습니다. 이를 통해 내 인증서가 괜찮다는 것을 알 수 있습니다.

업데이트: ldaps 대신 ldap을 사용하면 제대로 작동하므로 두 ldap 모듈이 모두 켜져 있습니다.

git clone을 실행하면 다음과 같은 오류가 반환됩니다.

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에는 다음이 있습니다.

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에는 아무것도 없습니다. 설정할 수 있거나 더 나은 테스트를 수행할 수 있는 자세한 로깅이 있습니까?

업데이트 2: Apache 서버에서 Wireshark를 실행할 수 있고 나가는 연결을 명확하게 볼 수 있지만 다른 것의 머리나 꼬리를 실제로 만들 수는 없습니다. 나는 Wireshark 전문가가 아니며 전문 용어처럼 보입니다.

또한 ldap 브라우저를 사용하여 ldaps가 컴퓨터에서 잘 작동하는지 확인했습니다.

업데이트 3: 디버깅을 위해 Apache 로깅을 전환했는데 다음과 같은 오류가 다시 발생합니다.

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

이제 동일한 Server 2008 시스템에서 LDAP 브라우저를 사용하여 LDAP를 통해 포트 3269에 연결할 수 있으며 "다운"되는 것은 없습니다. 그 오류는 우리에게 무엇을 말해주고 있나요?

업데이트 4: 다음은 openssl s_client -connect gc-hca.corpad.net: 3269 -showcerts 실행 결과입니다.http://pastebin.com/2yEGN4C1

또한 작동하는 포트 636의 도메인 컨트롤러로 직접 이동하는 openssl 명령을 시도했으며 동일한 오류가 발생하는 httpd.conf에서 시도했습니다. 컨트롤러(389 또는 636)로 직접 이동할 때 ou=group,dc=hca 등과 같은 URL에 컨테이너를 추가해야 한다는 점을 기억하는 것이 중요한지 모르겠습니다. 따라서 GC를 반드시 사용해야 합니다. 다른 많은 게시물에서 해당 솔루션을 찾았으므로 mod_ldap의 버그임이 틀림없습니다.

업데이트 5: 서비스를 통하지 않고 수동으로 Apache를 시작했는데 이것이 인쇄되는 LDAP 디버그입니다.

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

답변1

신뢰할 수 있는 루트 구성을 비활성으로 렌더링 하므로 LDAPVerifyServerCert Off신뢰는 문제가 되지 않습니다.

에 정말 그 만큼의 공백이 있나요 OU=Service Accounts?

그리고 당신은 그것을 가지고 있고 mod_ldap활성화 하고 있습니까 mod_authnz_ldap?

둘 다 문제가 되지 않으면 오류 로그에서 유용한 정보를 확인할 수 있습니까?

관련 정보