Windows

Active Directory + Google Authenticator - AD FS,或者如何?

  • December 8, 2018

(編輯以匹配答案作者的理解 - 此處發布的新的、新鮮的、乾淨的問題:Active Directory + Google Authenticator - Windows Server 中的本機支持?

迄今為止完成的研究

有一篇關於如何將 google 身份驗證器與 Active Directory 聯合服務 (AD FS) 一起使用的 technet 文章:https ://blogs.technet.microsoft.com/cloudpfe/2014/10/26/using-time-based-one-time -passwords-for-multi-factor-authentication-in-ad-fs-3-0/

奇怪的是,它似乎是一個開發項目,需要一些程式碼和它自己的 SQL DB。

我們在這裡並不是專門談論 AD FS。我們正在尋找 2FA,支持 Google Authenticator RFC,內置於 AD。

我們需要看看這裡發生了什麼。

AD FS 是關於SAML的。它將連接到 Active Directory 以將其用作 SAML 身份提供程序。Google 已經有能力充當 SAML 服務提供商。將兩者放在一起,以便 Google 信任您伺服器的 SAML 令牌,並且您通過 Active Directory 憑據登錄 Google 帳戶。1

另一方面,Google Authenticator 充當身份提供者的一個因素……通常用於 Google 自己的服務。也許您現在可以看到它與 AD FS 的不匹配之處。將 AD FS 與 Google 一起使用時,您實際上不再使用 Google 的身份提供程序,並且當 AD FS 完成向 Google 的移交時,身份方面已經完成。如果您做了任何事情,它會將 Google 配置為要求 Authenticator 作為AD FS 或其他 SAML 身份提供者之上(但獨立於)的補充身份確認。(注意:我不認為Google支持這一點,但他們應該)。

現在,這並不意味著你想做的事情是不可能的……只是它可能不是最合適的。雖然它主要與 Active Directory 一起使用,但 AD FS 也被設計用作更通用的 SAML 服務;您可以將它連接到除 Active Directory 之外的其他身份提供者,它支持許多不同的選項和擴展。其中之一是能夠創建自己的多因素身份驗證提供程序。此外,Google Authenticator 支持多因素身份驗證的TOTP 標準。

將兩者放在一起,應該可以(儘管肯定不是微不足道的)將 Google Authenticator 用作帶有 AD FS 的 MuliFactor 提供程序。您連結到的文章是一種此類嘗試的概念證明。但是,這並不是 AD FS 開箱即用的功能。由每個 Multi-Factor 服務來創建該外掛。

也許 MS 可以為一些大型多因素提供商提供第一方支持(如果有這樣的話),但 Google Authenticator 足夠新,而 AD FS 3.0 已經足夠老,以至於它不可行這在發佈時。此外,當 MS 對這些其他提供商可能推送的更新時間或內容沒有影響時,維護這些對 MS 來說將是一項挑戰。

也許當 Windows Server 2016 發佈時,更新的 AD FS 會讓這更容易。他們似乎為更好的多因素支持做了一些工作,但我沒有看到任何關於在框中包含競爭對手的驗證器的說明。相反,他們似乎希望您設置 Azure 來執行此操作,並可能為他們自己的 Authenticator 競爭對手提供 iOS/Android/Windows 應用程序。

我最終希望看到 MS 提供的是一個通用的TOTP 提供程序,我在其中配置了一些東西來告訴它我正在與 Google Authenticator 交談,其餘的由它完成。也許有一天。也許對系統進行更詳細的了解,一旦我們真正得到它,就會發現它就在那裡。


1作為記錄,我已經這樣做了。請注意,當您進行跳轉時,此資訊將不適用於 imap或使用該帳戶的其他應用程序。換句話說,*您破壞了Google 帳戶的很大一部分。*為了避免這種情況,您還需要安裝和配置Google 的密碼同步工具。使用該工具,每次有人在 Active Directory 中更改密碼時,您的域控制器都會將密碼的雜湊值發送給 Google,以用於這些其他身份驗證。

此外,這對您的使用者來說是全部或全部。您可以通過端點 IP 地址進行限制,但不能基於使用者。因此,如果您有不知道任何 Active Directory 憑據的舊使用者(例如:大學的校友使用者),那麼讓他們全部遷移可能是一個挑戰。出於這個原因,我目前沒有在 Google 中使用 AD FS,儘管我仍然希望最終實現飛躍。我們現在已經實現了這一飛躍。

我認為您的問題是錯誤的假設,即為特定供應商的 2FA/MFA 解決方案添加支持是 Microsoft 的工作。但是有很多 2FA/MFA 產品已經支持 Windows 和 AD,因為供應商已經選擇添加這種支持。如果Google認為增加支持不夠重要,那並不是微軟的錯。與身份驗證和授權相關的 API 有很好的文件記錄並且可以免費使用。

您連結到的部落格文章連結到任何人都可以編寫的範常式式碼,以將RFC6238 TOTP 支持添加到他們自己的 AD FS 環境。它恰好與 Google Authenticator 一起工作只是支持該 RFC 的身份驗證器的副作用。我還要注意底部的一連串免責聲明,即程式碼是“概念證明”、“沒有適當的錯誤處理”和“沒有在考慮安全的情況下創建”。

無論如何,沒有。我不相信 Windows Server 2016 會明確支持 Google Authenticator 支持。但我認為沒有任何東西可以阻止 Google 在 Server 2016 或更早版本上添加自己的支持。

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