使用 Microsoft Entra 密碼保護來消除錯誤的密碼

許多安全性指引建議您不要在多個位置使用相同的密碼,使其複雜,並避免使用密碼123 之類的 簡單密碼。 您可以為使用者提供 如何選擇密碼 的指引,但通常仍會使用弱式或不安全的密碼。 Microsoft Entra 密碼保護會偵測並封鎖已知的弱式密碼及其變化,也可以封鎖您的組織專屬的其他弱式字詞。

使用 Microsoft Entra 密碼保護時,預設的全域禁用密碼清單會自動套用至 Microsoft Entra 租使用者中的所有使用者。 如要支援您自己的商務和安全性需求,您可以在自訂禁用密碼清單中定義項目。 當使用者變更或重設其密碼時,會檢查這些禁用密碼清單,以強制執行強式密碼的使用。

您應該使用其他功能,例如 Microsoft Entra 多重要素驗證 ,而不只是依賴 Microsoft Entra 密碼保護強制執行的強式密碼。 如需針對登入事件使用多層安全性的詳細資訊,請參閱 您的 Pa$$word並不重要

重要

本概念性文章會向系統管理員說明 Microsoft Entra Password Protection 的運作方式。 如果您是已註冊自助式密碼重設的使用者,且需要返回您的帳戶,請移至 https://aka.ms/sspr

如果您的 IT 小組尚未啟用重設您自己的密碼的能力,請連絡技術服務人員以取得其他協助。

全域禁用密碼清單

Microsoft Entra ID Protection 小組會持續分析 Microsoft Entra 安全性遙測資料,尋找常用的弱式或遭入侵密碼。 具體來說,分析會尋找經常作為弱式密碼基礎的基底詞彙。 找到弱式字詞時,它們會新增至 全域禁用密碼清單 。 全域禁用密碼清單的內容並非以任何外部資料源為基礎,而是以 Microsoft Entra 安全性遙測和分析的結果為基礎。

當 Microsoft Entra 租使用者中的任何使用者變更或重設密碼時,會使用目前版本的全域禁用密碼清單來驗證密碼的強度。 此驗證檢查會產生所有 Microsoft Entra 客戶的更強式密碼。

全域禁用密碼清單會自動套用至 Microsoft Entra 租使用者中的所有使用者。 未啟用或設定任何專案,且無法停用。 當使用者透過 Microsoft Entra ID 變更或重設自己的密碼時,會套用此全域禁用密碼清單。

注意

網路罪犯也會在其攻擊中使用類似的策略來識別常見的弱式密碼和變化。 為了改善安全性,Microsoft 不會發佈全域禁用密碼清單的內容。

自訂禁用密碼清單

某些組織想要改善安全性,並在全域禁用密碼清單之上新增自己的自訂專案。 若要新增您自己的專案,您可以使用 自訂禁用密碼清單 。 新增至自訂禁用密碼清單的字詞應著重于組織特定詞彙,例如下列範例:

  • 品牌名稱
  • 產品名稱
  • 位置,例如公司總部
  • 公司特有的內部字詞
  • 具有特定公司意義的縮寫

當字詞新增至自訂禁用密碼清單時,它們會與全域禁用密碼清單中的字詞結合。 然後,密碼變更或重設事件會根據這些禁用密碼清單的組合集進行驗證。

注意

自訂禁用密碼清單限制為最多 1000 個字詞。 它並非針對封鎖極大型的密碼清單而設計。

若要充分運用自訂禁用密碼清單的優點,請先瞭解 在您將字詞新增至自訂禁用清單之前,如何評估 密碼。 這種方法可讓您有效率地偵測並封鎖大量弱式密碼及其變體。

Modify the custom banned password list under Authentication Methods

讓我們考慮一個名為 Contoso 的客戶 。 該公司總部設在倫敦,並製作名為 Widget 的產品。 在此範例客戶中,嘗試封鎖這些字詞的特定變化會很浪費且較不安全,如下所示:

  • 「Contoso!1」
  • 「Contoso@London」
  • 「ContosoWidget」
  • "!Contoso」
  • 「LondonHQ」

相反地,只封鎖金鑰基底詞彙會更有效率且更安全,例如下列範例:

  • 「Contoso」
  • 「倫敦」
  • 「Widget」

密碼驗證演算法接著會自動封鎖弱式變體和組合。

若要開始使用自訂禁用密碼清單,請完成下列教學課程:

密碼噴灑攻擊和協力廠商遭入侵的密碼清單

Microsoft Entra Password Protection 可協助您防範密碼噴灑攻擊。 大部分的密碼噴灑攻擊不會嘗試攻擊任何指定的個人帳戶多次。 此行為會透過帳戶鎖定或其他方式增加偵測的可能性。

相反地,大部分的密碼噴灑攻擊只會針對企業中的每個帳戶提交少數已知的最弱密碼。 這項技術可讓攻擊者快速搜尋容易遭到入侵的帳戶,並避免可能的偵測閾值。

Microsoft Entra Password Protection 有效率地封鎖所有可能用於密碼噴灑攻擊的已知弱式密碼。 此保護是以來自 Microsoft Entra ID 的實際安全性遙測資料為基礎,以建置全域禁用密碼清單。

有一些協力廠商網站列舉了數百萬個在先前公開已知安全性缺口中遭到入侵的密碼。 協力廠商密碼驗證產品通常會根據與數百萬個密碼進行暴力密碼破解比較。 不過,鑒於密碼噴灑攻擊者所使用的一般策略,這些技術並不是改善整體密碼強度的最佳方式。

注意

全域禁用密碼清單並非以任何協力廠商資料來源為基礎,包括遭入侵的密碼清單。

雖然全域禁用清單與一些協力廠商大量清單相比很小,但它來自真實世界安全性遙測的實際密碼噴灑攻擊。 這種方法可改善整體的安全性和有效性,而且密碼驗證演算法也會使用智慧型模糊比對技術。 因此,Microsoft Entra Password Protection 可有效率地偵測並封鎖數百萬個最常見的弱式密碼,而無法用於您的企業。

內部部署混合式案例

許多組織都有混合式身分識別模型,其中包含 內部部署的 Active Directory Domain Services (AD DS) 環境。 若要將 Microsoft Entra Password Protection 的安全性優點延伸至 AD DS 環境,您可以在內部部署伺服器上安裝元件。 這些代理程式需要內部部署 AD DS 環境中的密碼變更事件,以符合與 Microsoft Entra ID 中相同的密碼原則。

如需詳細資訊,請參閱 強制執行 AD DS 的 Microsoft Entra Password Protection。

如何評估密碼

當使用者變更或重設其密碼時,系統會根據全域和自訂禁用密碼清單的合併字詞清單來驗證新密碼,以檢查密碼的強度與複雜度。

即便使用者的密碼包含禁用密碼,如果整體密碼還不夠強,仍可能接受該密碼。 新設定的密碼會經過下列步驟來評估其整體強度,以判斷是否應接受或拒絕:

步驟 1:正規化

新的密碼會先經過正規化程式。 這項技術可讓一小組禁用密碼對應到一組可能較弱的密碼。

正規化有下列兩個部分:

  • 所有大寫字母都會變更為小寫。

  • 然後,會執行常見的字元替代,例如在下列範例中:

    原始信件 替代的字母
    0 o
    1 l
    $ s
    @ a

請考慮下列範例:

  • 禁止密碼 「空白」。
  • 使用者嘗試將其密碼變更為 「Bl@nK」。
  • 雖然「Bl@nk」並非禁止,正規化程式仍會將此密碼轉換成「空白」。
  • 此密碼將會遭到拒絕。

步驟 2:檢查密碼是否被視為禁用

接著會檢查密碼是否有其他比對行為,並產生分數。 此最終分數會判斷是否接受或拒絕密碼變更要求。

模糊比對行為

模糊比對用於正規化密碼,以識別它是否包含全域或自訂禁用密碼清單上找到的密碼。 比對程式是以一個 (1) 比較的編輯距離為基礎。

請考慮下列範例:

  • 禁止密碼 「abcdef」。

  • 使用者嘗試將其密碼變更為下列其中一項:

    • 'abcdeg' - 最後一個字元從 'f' 變更為 'g'
    • 'abcdefg' - 附加至結尾的 'g'
    • 'abcde' - 結尾的 'f' 已從結尾刪除
  • 上述每個密碼都不符合禁用密碼 「abcdef」。

    不過,由於每個範例都在禁用字詞 'abcdef' 的編輯距離 1 內,因此它們全都視為與 「abcdef」 相符的專案。

  • 這些密碼將會遭到拒絕。

子字串比對 (特定詞彙)

正規化密碼會使用子字串比對來檢查使用者的名字和姓氏,以及租使用者名稱。 在內部部署混合式案例的 AD DS 網域控制站上驗證密碼時,不會完成租使用者名稱比對。

重要

子字串比對只會針對名稱和其他長度至少四個字元的字詞強制執行。

請考慮下列範例:

  • 名為 Poll 的使用者,想要將其密碼重設為 「p0LL23fb」。
  • 正規化之後,此密碼會變成 「poll23fb」。
  • 子字串比對發現密碼包含使用者的名字 「Poll」。
  • 即使 「poll23fb」 不是特別在任一個禁用的密碼清單中,但子字串比對在密碼中找到 「Poll」。
  • 此密碼將會遭到拒絕。

分數計算

下一個步驟是識別使用者正規化新密碼中的所有禁用密碼實例。 點會根據下列準則指派:

  1. 在使用者密碼中找到的每個禁用密碼都會獲得一個點。
  2. 每個不屬於禁用密碼的剩餘字元都會得到一個點。
  3. 必須至少接受五點 (5) 個密碼。

在接下來的兩個範例案例中,Contoso 會使用 Microsoft Entra Password Protection,並在其自訂禁用密碼清單中具有 「contoso」。 我們也假設「空白」位於全域清單上。

在下列範例案例中,使用者將其密碼變更為 「C0ntos0Blank12」:

  • 正規化之後,此密碼會變成 「contosoblank12」。

  • 比對程式發現此密碼包含兩個禁用密碼:「contoso」 和 「blank」。

  • 然後,此密碼會獲得下列分數:

    [contoso] + [空白] + [1] + [2] = 4 點

  • 由於此密碼低於 5 (5) 點,因此遭到拒絕。

讓我們看看一個稍微不同的範例,以顯示密碼中的其他複雜度如何建置要接受的必要點數。 在下列範例案例中,使用者將其密碼變更為 「ContoS0Bl@nkf9!」:

  • 正規化之後,此密碼會變成 「contosoblankf9!」。

  • 比對程式發現此密碼包含兩個禁用密碼:「contoso」 和 「blank」。

  • 然後,此密碼會獲得下列分數:

    [contoso] + [空白] + [f] + [9] + [!] = 5 點

  • 由於此密碼至少為 5 (5) 點,因此已接受。

重要

禁用密碼演算法,以及全域禁用密碼清單,可以根據進行中的安全性分析和研究,隨時在 Azure 中變更。

針對混合式案例中的內部部署 DC 代理程式服務,更新的演算法只會在升級 DC 代理程式軟體之後生效。

使用者看到的內容

當使用者嘗試將密碼重設或變更為將被禁止的專案時,會顯示下列其中一個錯誤訊息:

「不幸的是,您的密碼包含一個單字、片語或模式,讓您的密碼很容易猜到。 請使用不同的密碼再試一次。

「我們以前見過密碼太多次。 選擇更難猜測的東西。

「選擇一個密碼,讓人們難以猜測。

授權需求

使用者 使用全域禁用密碼清單的 Microsoft Entra 密碼保護 使用自訂禁用密碼清單的 Microsoft Entra 密碼保護
僅限雲端使用者 Microsoft Entra ID 免費 Microsoft Entra ID P1 或 P2
從內部部署 AD DS 同步處理的使用者 Microsoft Entra ID P1 或 P2 Microsoft Entra ID P1 或 P2

注意

未同步處理至 Microsoft Entra ID 的內部部署 AD DS 使用者,也可根據同步處理使用者的現有授權,從 Microsoft Entra Password Protection 獲益。

您可以在 Microsoft Entra 定價網站上 找到 其他授權資訊,包括成本。

下一步

若要開始使用自訂禁用密碼清單,請完成下列教學課程:

您也可以接著 啟用內部部署 Microsoft Entra Password Protection