在 AD FS 2019 中將協力廠商驗證提供者設定為主要驗證

組織遇到嘗試暴力密碼破解、入侵或其他藉由傳送密碼型驗證要求來鎖定使用者帳戶的攻擊。 為了協助保護組織免於入侵,AD FS 引進了外部網路 「智慧型」鎖定和 IP 位址型封鎖等功能。

不過,這些風險降低措施為反應性措施。 為了提供主動的方式以減少這些攻擊的嚴重性,AD FS 能夠在收集密碼之前提示其他因素。

例如,AD FS 2016 引進 Microsoft Entra 多重因子身份驗證,當作主要身份驗證方式,來自身份驗證應用程式的 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) 都可供主要驗證和「其他」驗證使用。 針對內部網路和/或外部網路使用,其啟用的方式與內建提供者的方式相同,例如表單驗證和憑證驗證。

authentication

一旦外部提供者啟用外部網路、內部網路或兩者皆啟用,就可供使用者使用。 如果啟用多個方法,使用者會看到選擇頁面,而且能夠選擇主要方法,就像他們為其他驗證所做的一樣。

必要條件

將外部驗證提供者設定為主要驗證之前,請確定您已具備下列必要條件。

  • 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 管理主控台的 [服務] - >[驗證方法] 下,在 [其他驗證方法] 下,選取 [編輯]

選取 [表單驗證] 的核取方塊,以啟用使用者名稱和密碼作為其他驗證。