無法透過 LDAPS 綁定到 Active Directory

無法透過 LDAPS 綁定到 Active Directory

我有一個在 Windows Server 2019 上運行的 DC,並且它安裝了網域服務角色。我使用 AD CS 角色在同一網域中設定了多層 CA(根電源關閉、中間電源關閉、頒發電源開啟和網域加入)。

我無法讓第三方用戶端(即未加入網域的電腦和/或 Web 應用程式)透過 LDAPS/636 進行 BIND。它們在 LDAP/389 上工作得很好,有些與 StartTLS 一起工作,儘管這並不總是一個選項,我的偏好是使用正確的 LDAPS。

我已經為 AD 伺服器產生了一個證書,並確保在證書的主題中使用其 FQDN,並包含其 DNS 主機名稱和 IP 位址作為 SAN 以覆蓋所有基礎。我還確保在增強型金鑰使用擴充功能中選擇了“伺服器身份驗證”。

我尚未驗證這一點,因為我無法遠端存取環境,但我們假設憑證是根據 Microsoft 文件使用 Schannel CSP 產生的。該憑證由正確的頒發 CA 簽名,並且用戶端安裝了整個 CA 鏈,並且可以在本機上驗證 AD 憑證(如果我從 AD 匯出憑證並將其複製到客戶端之一)

這就是奇怪的地方:如果我跳上 AD 伺服器,打開ldp.exe,我可以使用 SSL 透過 LDAPS/636 進行連接,並Host supports SSL, SSL cipher strength = 256 bits出現在輸出/控制台視圖中。但是,如果我跳到其中一個客戶端(例如 Linux 電腦)並嘗試使用 openssl 進行連接:

openssl s_client -showcerts -state -connect <AD_FQDN>:636

我沒有獲得證書;我得到了這個(由於網絡的性質,我必須寫下來而不是複製/粘貼,所以可能會有輕微的不准確):

CONNECTED (00000003)
write: errno = 104
---
no peer certificate available
---
No client cert CA names sent
---
SSL handshake has read 0 bytes and written 324 bytes
Verification: OK
---
<snip>

事實上,如果我嘗試設定用戶端以使用 LDAPS 進行身份驗證,我還無法使其正常運作。通常我會看到類似於此無用錯誤的內容:SSL_Certificate error: Connection closed by peer根據我的經驗,這通常表示證書驗證/信任問題(如果客戶端甚至沒有獲得要驗證的證書,這將是有意義的)。其他一些客戶端甚至沒有什麼幫助,只是說“無法綁定到 LDAP 伺服器”

DC 肯定正在偵聽連接埠 636,我可以從客戶端外部連接到它(即不僅僅是在 DC 機器內的環回上),我已使用 netcat 驗證了這一點

nc -vz <AD_FQDN> 636

關於可能導致此問題的原因有什麼想法嗎?

答案1

事實證明,我們的防火牆正在執行應用程式檢查並中斷 SSL 連線。關閉應用程式檢查解決了我的問題。

相關內容