組織遇到嘗試暴力密碼破解、入侵或其他藉由傳送密碼型驗證要求來鎖定用戶帳戶的攻擊。 為了協助保護組織免於入侵,AD FS 引進了外部網路「智慧」鎖定和IP位址型封鎖等功能。
不過,這些風險降低是反應性的。 為了提供主動的方式,為了減少這些攻擊的嚴重性,AD FS 能夠在收集密碼之前提示其他因素。
例如,AD FS 2016 引進了 Microsoft Entra 多重要素驗證作為主要驗證,讓 Authenticator 應用程式的一次性密碼 (OTP) 作為第一種驗證方式使用。 從 AD FS 2019 開始,您可以將外部驗證提供者設定為主要驗證因素。
有兩個關鍵情境使得:
案例 1:保護密碼
透過提示先輸入額外的外部因素來保護密碼型登入,防止遭受暴力破解攻擊和登入鎖定。 只有在外部驗證成功完成時,才會看到密碼提示。 這可消除攻擊者嘗試入侵或停用帳戶的便利方式。
此案例包含兩個元件:
- 提示輸入Microsoft Entra 多重要素驗證(在 AD FS 2016 及更新版本提供)或外部驗證因數作為主要驗證
- AD FS 中作為其他驗證的使用者名稱和密碼
案例 2:無密碼
完全排除密碼,但在 AD FS 中使用完全非密碼型方法完成強式多重要素驗證
- 使用 Authenticator 應用程式Microsoft Entra 多重要素驗證
- Windows 10 Hello 企業版
- 憑證驗證
- 外部驗證提供者
概念
主要驗證實際上表示,這是使用者在其他因素之前先提示輸入的方法。 先前,AD FS 中唯一可用的主要方法是內建 Active Directory 或 Microsoft Entra 多重要素驗證,或其他 LDAP 驗證存放區的方法。 外部方法可以設定為「其他」驗證,在主要驗證成功完成之後進行。
在 AD FS 2019 中,外部驗證作為主要功能這一點表示,在 AD FS 農場中註冊的任何外部驗證提供者(使用 Register-AdfsAuthenticationProvider)都可用於主要驗證和「額外」驗證。 可以以與內建提供者(如窗體驗證和憑證驗證)相同的方式啟用,以便於內部網路和/或外部網路中使用。
一旦外部提供者啟用外部網路、內部網路或兩者,就可以供使用者使用。 如果啟用多個方法,使用者會看到選擇頁面,而且能夠選擇主要方法,就像他們為其他驗證所做的一樣。
先決條件
將外部驗證提供者設定為主要之前,請確定您已具備下列必要條件。
- AD FS 伺服器陣列行為層級 (FBL) 已提升為 『4』(此值會轉譯為 AD FS 2019。
- 這是新 AD FS 2019 伺服器陣列的預設 FBL 值。
- 針對以 Windows Server 2012 R2 或 2016 為基礎的 AD FS 伺服器陣列,可以使用 PowerShell 命令程式 Invoke-AdfsFarmBehaviorLevelRaise 來引發 FBL。 如需升級 AD FS 伺服器陣列的詳細資訊,請參閱 SQL 伺服器陣列或 WID 伺服器陣列的伺服器陣列升級文章
- 您可以使用 Cmdlet Get-AdfsFarmInformation 來檢查 FBL 值。
- AD FS 2019 伺服器陣列已設定為使用新的 2019「分頁化」使用者介面頁面。
- 這是新 AD FS 2019 伺服器陣列的預設行為。
- 針對從 Windows Server 2012 R2 或 2016 升級的 AD FS 伺服器陣列,當外部驗證作為主要方法啟用時,會自動啟用編頁流程,正如本文下一節所述。
將外部驗證方法啟用為主要
驗證必要條件之後,有兩種方式可將AD FS其他驗證提供者設定為主要:PowerShell或AD FS管理控制台。
使用 PowerShell
PS C:\> Set-AdfsGlobalAuthenticationPolicy -AllowAdditionalAuthenticationAsPrimary $true
啟用或停用其他驗證作為主要驗證之後,必須重新啟動AD FS服務。
使用AD FS管理控制台
在 AD FS 管理控制台的 [服務 ->驗證方法] 底下,在 [主要驗證方法] 底下,選取 [編輯]
選取 [ 允許其他驗證提供者作為主要驗證提供者] 複選框。
啟用或停用其他驗證作為主要驗證之後,必須重新啟動AD FS服務。
啟用使用者名稱和密碼作為其他驗證
若要完成「保護密碼」案例,請使用PowerShell或AD FS管理主控台,啟用使用者名稱和密碼作為其他驗證。 這兩種方法都提供了範例。
使用 PowerShell 啟用使用者名稱和密碼作為其他驗證
PS C:\> $providers = (Get-AdfsGlobalAuthenticationPolicy).AdditionalAuthenticationProvider
PS C:\>$providers = $providers + "FormsAuthentication"
PS C:\>Set-AdfsGlobalAuthenticationPolicy -AdditionalAuthenticationProvider $providers
使用AD FS管理主控台啟用使用者名稱和密碼作為其他驗證
在 AD FS 管理控制台的 [服務 ->驗證方法] 底下,在 [其他驗證方法] 底下,選取 [編輯]
選取 窗體驗證 的複選框,以啟用使用者名稱和密碼作為額外的驗證。