我有一個運行良好的設置,使用 OpenLDAP 獲取用戶信息,使用 Kerberos 進行身份驗證,但我們也需要 Windows 集成,為此,我們決定遷移到 Active Directory 可能是一個好主意。從 OpenLDAP 行動帳戶資訊非常簡單且容易完成,但我有一個問題:如何將密碼/驗證資訊從 MIT Kerberos 移至 AD?
我知道他們之間可以進行某種委託,但這不能解決我的問題嗎?或者我可以針對 MIT Kerberos KDC 進行 AD 身份驗證嗎?密碼儲存在 Kerberos 中的雜湊值中,因此我無法以明文形式移動它們。我想知道 MIT 和 AD 之間的雜湊值是否相容,因為我也可以以加密形式將密碼輸入到 AD 中。
有人有這方面的經驗嗎?除了要求我的所有用戶更改密碼並且當所有身份驗證從一個地方切換到另一個地方而沒有任何共存時遇到一個主要麻煩之外,您還有什麼建議呢?
答案1
但我有一個問題:如何將密碼/身份驗證資訊從 MIT Kerberos 移至 AD?
你不知道。雖然系統之間的 kerberos 雜湊值必須相同,因為它們用作加密和解密金鑰,但沒有任何公共 API 允許直接設定它們。鑑於 AD 要求為其提供明文密碼,並且您的 LDAP/KRB5 安裝會盡職盡責地丟棄該密碼,因此您需要等待密碼更改或打破基本規則並至少暫時以可逆形式保留密碼(假設您已有一些中間件可以將密碼變更傳送到您可以偵測的OpenLDAP/Kerberos。
我知道他們之間可以進行某種委託,但這不能解決我的問題嗎?或者我可以針對 MIT Kerberos KDC 進行 AD 身份驗證嗎?
這是我們目前正在考慮的方法。使用 Kerberos 向 Windows 進行身份驗證 這稱為跨領域信任。需要注意的一些重要事項。找到所有領域通用的加密類型至關重要,通常取決於 AD。您使用的 AD 版本通常決定了當天的地下室。我發現的最好的設定指南實際上來自 Microsoft:Windows Server 2003 的 Kerberos 互通性逐步指南。我遇到的關鍵問題是告訴它跨領域信任使用哪種加密類型,這是很久以前編寫的其他指南忽略提及的。
答案2
考慮使用如下連結中的解決方案是一個好主意:
http://www.centrify.com/solutions/unix-linux-identity-management.asp
至於遷移,您可以在移動時使用 PCNS 等系統進行密碼同步。您將並行運行兩個系統一段時間,並有幾天「每個人都重置密碼」的時間,以確保它們在移動之前保持同步。對於您正在做的事情來說,PCNS 是比 Kerberos 互通更好的解決方案。
PCNS(密碼變更通知服務)在網域控制站上執行,並將密碼轉送到“目標”,然後由“目標”設定密碼。以下連結解釋如何操作。
http://technet.microsoft.com/en-us/library/bb463208.aspx
如果您要建立新的 AD 林,請在建置之前查看安全 GPO 設定。這樣你就可以盡可能安全地開始...我說的是 NTLM 版本、LDAP 簽章等...
答案3
Samba4 和 freeipa 可以允許 Windows 工作站進行驗證。您考慮過其中之一嗎?