使用智能鎖定降低 Azure AD B2C 中的認證攻擊

認證攻擊會導致未經授權存取資源。 用戶設定的密碼必須相當複雜。 Azure AD B2C 具有認證攻擊的防護技術。 風險降低包括偵測暴力密碼破解認證攻擊和字典認證攻擊。 使用各種訊號,Azure Active Directory B2C (Azure AD B2C) 會分析要求的完整性。 Azure AD B2C 的設計目的是以智慧方式區分預期用戶與駭客和歹屍網路。

智慧鎖定的運作方式

Azure AD B2C 會使用複雜的策略來鎖定帳戶。 帳戶會根據要求的IP和輸入的密碼鎖定。 鎖定的持續時間也會根據攻擊的可能性而增加。 在嘗試密碼 10 次失敗之後(預設嘗試閾值),就會發生一分鐘的鎖定。 下次登入在帳戶解除鎖定后失敗(也就是說,在鎖定期間到期后,服務會自動解除鎖定帳戶之後),就會再發生一分鐘的鎖定,並針對每個失敗的登入繼續進行。 重複輸入相同或類似的密碼不會算作多個失敗的登入。

注意

使用者流程、自定義原則和 ROPC 流程支援此功能。 默認會啟動它,因此您不需要在使用者流程或自定義原則中設定它。

解除鎖定帳戶

前10個鎖定期間長一分鐘。 接下來的 10 個鎖定期間會稍長一點,並在每 10 個鎖定期間之後增加持續時間。 當帳戶未鎖定時,鎖定計數器會在成功登入后重設為零。 鎖定期間最多可以持續 5 小時。 用戶必須等候鎖定持續時間到期。 不過,使用者可以使用自助式 密碼使用者流程解除鎖定。

管理智慧鎖定設定

若要管理智慧鎖定設定,包括鎖定閾值:

  1. 登入 Azure 入口網站

  2. 如果您有多個租使用者的存取權,請選取頂端功能表中的 設定 圖示,從 [目錄 + 訂用帳戶] 功能表切換至您的 Azure AD B2C 租使用者。

  3. 在左側功能表中,選取 [Azure AD B2C]。 或者,選取 [所有服務 ],然後搜尋並選取 [Azure AD B2C]。

  4. 在 [安全性] 底下,選取 [驗證方法][預覽],然後選取 [密碼保護]。

  5. 在 [自定義智慧鎖定] 下,輸入所需的智慧鎖定設定:

    • 鎖定臨界值:第一次鎖定帳戶之前允許的失敗登入嘗試次數。如果鎖定后的第一次登入也失敗,帳戶會再次鎖定。

    • 鎖定持續時間以秒為單位:每個鎖定的最小持續時間以秒為單位。 如果帳戶重複鎖定,此持續時間就會增加。

      Azure portal Password protection page in Microsoft Entra settings
      在密碼保護設定,將鎖定閾值設定為 5。

  6. 選取 [儲存]。

測試智能鎖定

智慧鎖定功能會使用許多因素來判斷何時應鎖定帳戶,但主要因素是密碼模式。 智慧鎖定功能會將密碼的輕微變化視為一組,而且會算作單一嘗試。 例如:

  • 密碼,例如 12456! 和 1234567! (或 newAccount1234 和 newaccount1234)非常類似,演算法會將它們解譯為人為錯誤,並將其計算為單一嘗試。
  • 模式中的較大變化,例如 12456! 和 ABCD2!,會計算為個別嘗試。

測試智慧鎖定功能時,請針對您輸入的每個密碼使用獨特的模式。 請考慮使用密碼產生 Web 應用程式,例如 https://password-gen.com/

達到智慧鎖定閾值時,您會在帳戶鎖定時看到下列訊息: 您的帳戶暫時鎖定,以防止未經授權的使用。稍後再試一次。 錯誤訊息可以 當地語系化

注意

當您測試智慧鎖定時,由於 Microsoft Entra 驗證服務的異地分散和負載平衡本質,您的登入要求可能會由不同的數據中心處理。 在該案例中,因為每個 Microsoft Entra 資料中心都會獨立追蹤鎖定,因此可能需要超過您定義的鎖定閾值數目,導致鎖定。 在完全鎖定之前,使用者最多有 (threshold_limit * datacenter_count) 次錯誤的嘗試次數。如需詳細資訊,請參閱 Azure 全域基礎結構

檢視鎖定的帳戶

若要取得鎖定帳戶的相關信息,您可以檢查 Active Directory 登入活動報告。 在 [狀態] 底下,選取 [失敗]。 登入嘗試失敗,並出現登入錯誤碼50053,指出鎖定的帳戶:

Section of Microsoft Entra sign-in report showing locked-out account

若要瞭解如何在 Microsoft Entra ID 中檢視登入活動報告,請參閱 登入活動報告錯誤碼