如何匯入Apache + LDAPS的憑證?

如何匯入Apache + LDAPS的憑證?

我正在嘗試讓 ldaps 透過 Apache 2.2.17 (Windows Server 2008) 運作。如果我使用 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 運作得很好。這讓我知道我的證書是好的。

更新:兩個 ldap 模組都已打開,因為使用 ldap 而不是 ldaps 可以正常工作。

當我運行 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 瀏覽器透過 ldaps 連接到連接埠 3269,並且沒有任何「故障」。這個錯誤告訴我們什麼?

更新 4:以下是執行 openssl s_client -connect gc-hca.corpad.net: 3269 -showcerts 的結果:http://pastebin.com/2yEGN4C1

我還嘗試過直接連接到連接埠 636 上的網域控制器的 openssl 命令,該命令有效,並且我在 httpd.conf 中嘗試過它,它產生了相同的錯誤。我不知道是否需要注意,當我直接進入控制器(389 或 636)時,我必須向 url 添加一個容器,例如 ou=group、dc=hca 等。這使得使用 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啟用了嗎?

如果這些都不是問題,您可以檢查錯誤日誌以獲取有用的信息嗎?

相關內容