配置加入 Active Directory 的 CentOS 6.8 客戶端以使用 LDAPS?
我正在努力尋找關於如何配置 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 工作。