Linux

配置加入 Active Directory 的 CentOS 6.8 客戶端以使用 LDAPS?

  • March 7, 2017

我正在努力尋找關於如何配置 CentOS 6.8 機器以使用 LDAPS 來查詢在 Windows 2012 R2 域控制器上執行的 Active Directory 的簡單解釋。

我已將 Linux 客戶端加入域,並將域控制器配置為證書頒發機構。從 DC 我可以使用 LDP 並連接到埠 636 上的 localhost。所以我相信 DC 在這一點上應該支持 LDAPS。

在客戶端上,我使用以下命令生成了證書: openssl req -nodes -newkey rsa:2048 -keyout domain.key -out domain.csr

所以它生成了這兩個文件。據我了解,我需要從客戶端向 DC 發送請求,以便將客戶端註冊到 CA。我不知道該怎麼做。我相信一旦我完成了這項工作,我應該能夠使用 ldapsearch 從客戶端查詢活動目錄。

如此有效,我如何配置客戶端以使用受信任的證書與 DC 通信?

所以我終於能夠弄清楚如何做到這一點。

完成這項工作的第一個任務是將域控制器配置為證書頒發機構。為此,我關注了這個影片:https ://www.youtube.com/watch?v=JFPa_uY8NhY

在我能夠在埠 636 上連接到 AD 後,我必須在 CentOS 機器上配置 openldap 以使用該埠。我想如果我可以讓 ldapsearch 在埠 636 上查詢 AD,那麼最後一步就是讓 tac_plus 做同樣的事情。要配置 openldap,我所要做的就是編輯/etc/openldap/ldap.conf文件。

我修改了三個欄位;BASE,URI,並添加了"TLS_REQCERT allow".

BASE欄位對於正確是很重要的。它必須是正確的格式並指向您的使用者帳戶在 AD 中的位置。我的是:"CN=users, DC=ent, DC=local"

URI 欄位對於正確也很重要。我為伺服器和埠號使用了完全限定的域名。它最終成為:"ldaps://dc1-ent.ent.local:636"

"TLS_REQCERT allow"行允許 CentOS 機器從域控制器請求證書,作為與伺服器建立會話過程的一部分。這類似於 SSH 在與遠端主機建立 SSH 會話時如何實現其密鑰交換算法。

然後我使用以下 ldapsearch 命令來驗證它是否有效:

ldapsearch -D "myusername@ent.local" -W -p 636 -h ldaps://dc1-ent.ent.local -b "CN=users, DC=ent, DC=local" -s Sub -x -ZZ "(objectclass=*)" -d1

上面命令中的-d1選項允許詳細調試輸出,因此我可以看到用於加密會話的伺服器公鑰的交換。

一切從那裡開始工作。我能夠使用wireshark 來擷取流量並確認在身份驗證時建立了加密的TLS 會話。我相信這種使用 AD 進行身份驗證的方法稱為 PEAP。我沒有費心讓 EAP-TLS 或 EAP-TTLS 工作。

引用自:https://serverfault.com/questions/823646