Azure Active Directory パスワード保護を使用して不適切なパスワードを排除する

多くのセキュリティ ガイダンスでは、複数の場所で同じパスワードを使用しないこと、パスワードを複雑にすること、Password123 のように単純なパスワードを使用しないことが推奨されています。 パスワードの選択方法に関するガイダンスをユーザーに提供できますが、それでも脆弱なパスワードやセキュリティで保護されていないパスワードが使用されることがよくあります。 Azure AD パスワード保護では、既知の脆弱なパスワードやそのバリエーションを検出してブロックします。また、組織に固有のその他の脆弱な用語をブロックすることもできます。

Azure AD パスワード保護では、既定のグローバル禁止パスワード リストが Azure AD テナント内のすべてのユーザーに自動的に適用されます。 独自のビジネス ニーズやセキュリティ ニーズに対応するため、カスタムの禁止パスワード リストにエントリを定義できます。 ユーザーがパスワードを変更またはリセットすると、これらの禁止パスワード リストがチェックされ、強力なパスワードの使用が強制されます。

Azure AD パスワード保護によって適用される強力なパスワードだけに依存せずに、Azure AD Multi-Factor Authentication のような追加機能を使用する必要があります。 サインイン イベントに対して複数のセキュリティ層を使用する方法の詳細については、「Your Pa$$word doesn't matter (パスワードは関係ない)」を参照してください。

重要

概念に関するこの記事では、Azure AD パスワード保護のしくみを管理者向けに説明します。 既にセルフサービス パスワード リセットの登録が済んでいて、自分のアカウントに戻る必要があるエンド ユーザーは、 https://aka.ms/sspr にアクセスしてください。

ユーザーが自分でパスワードをリセットする機能が IT チームによって有効にされていない場合は、ヘルプデスクに連絡して追加のサポートを依頼してください。

グローバル禁止パスワード リスト

Azure AD Identity Protection チームは、常に Azure AD セキュリティ テレメトリのデータを分析し、一般的に使用される脆弱なパスワードや侵害されたパスワードを探しています。 具体的には、この分析によって脆弱なパスワードとしてよく使用される脆弱な基本用語を探しています。 脆弱な用語が見つかると、その用語はグローバル禁止パスワード リストに追加されます。 グローバル禁止パスワード リストの内容は、外部のデータ ソースではなく、Azure AD のセキュリティ テレメトリと分析の結果に基づいています。

Azure AD テナントのユーザーのパスワードが変更またはリセットされた場合は、現在のバージョンのグローバル禁止パスワード リストを使用してパスワードの強度が検証されます。 この検証チェックの結果、すべての Azure AD ユーザーのパスワードが強力になります。

グローバル禁止パスワード リストは、Azure AD テナントのすべてのユーザーに自動的に適用されます。 何かを有効化したり構成したりする必要はありませんが、無効にすることもできません。 このグローバル禁止パスワード リストがユーザーに適用されるのは、彼らが Azure AD を使用して独自のパスワードを変更またはリセットしたときです。

注意

サイバー犯罪者も、攻撃の際に同じような戦略を使用して、よく使われる脆弱なパスワードやそのバリエーションを識別します。 セキュリティを強化するため、Microsoft ではグローバル禁止パスワード リストの内容を公開していません。

カスタムの禁止パスワードの一覧

組織によっては、セキュリティを強化するため、グローバル禁止パスワード リストに独自のカスタマイズを追加する場合があります。 独自のエントリを追加するには、カスタム禁止パスワード リストを使用します。 カスタム禁止パスワード リストに追加する用語は、次の例のような組織固有の用語に重点を置く必要があります。

  • ブランド名
  • 製品名
  • 場所 (本社など)
  • 会社固有の内部用語
  • 会社固有の意味を持つ略語

カスタム禁止パスワード リストに追加した用語は、グローバル禁止パスワード リストの用語と結合されます。 パスワードの変更またはリセット イベントは、これらの結合された禁止パスワード リストに照らして検証されます。

注意

カスタムの禁止パスワードの一覧は、最大 1,000 個の用語に制限されています。 膨大な数のパスワードをブロックできるようには設計されていません。

カスタム禁止パスワード リストの利点を十分に活用するためには、カスタム禁止リストに用語を追加する前に、まずパスワードの評価方法を理解してください。 このアプローチにより、多数の脆弱なパスワードとそのバリエーションを効率的に検出してブロックできるようになります。

Modify the custom banned password list under Authentication Methods

Contoso という名前の顧客がいるとします。 この会社は、ロンドンに拠点があり、Widget という名前の製品を作っています。 この顧客の例では、以下のような用語のバリエーションをブロックしようとするのは、無駄であるだけでなく、安全性も低くなります。

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

その代わり、次の例のような重要な基本用語のみをブロックした方が、はるかに効率的もよく、安全です。

  • "Contoso"
  • "London"
  • "Widget"

パスワード検証アルゴリズムによって、脆弱なバリエーションや組み合わせが自動的にブロックされます。

カスタム禁止パスワード リストの使用を開始するには、次のチュートリアルをご覧ください。

パスワード スプレー攻撃とサード パーティの侵害されたパスワード一覧

Azure AD パスワード保護は、パスワード スプレー攻撃からの保護に役立ちます。 パスワード スプレー攻撃の大半は、どの個別のアカウントにも数回以上は攻撃しません。 そのような動作をすると、アカウントのロックアウトやその他の手段によって検知される可能性が高まります。

その代わり、ほとんどのパスワード スプレー攻撃では、企業の各アカウントに対して既知の最も弱いパスワードが数回だけ送信されます。 この手法を使用すると、攻撃者は容易に侵害できるアカウントを短時間で検索し、潜在的な検出のしきい値を回避することができます。

Azure AD パスワード保護は、パスワード スプレー攻撃で使用される可能性があるすべての既知の脆弱なパスワードを効率的にブロックします。 この保護は、Azure AD がグローバル禁止パスワード リストを作成するために取得した現実世界のセキュリティ テレメトリ データに基づいています。

数百万ものパスワードが列挙されているサード パーティの Web サイトがあります。これらのパスワードは、広く知られている以前のセキュリティ違反によって侵害されたものです。 サード パーティ製のパスワード検証製品では、これら数百万個のパスワードとのブルート フォースによる比較を行うのが一般的です。 しかし、パスワード スプレー攻撃の攻撃者が使用する一般的な戦略を踏まえれば、このような手法はパスワードの強度を向上させる最善の方法ではありません。

注意

グローバル禁止パスワード リストは、侵害されたパスワードのリストを含め、いかなるサード パーティ製のデータ ソースにも基づいていません。

グローバル禁止リストは一部のサード パーティ製の巨大なリストに比べれば小さめですが、実際のパスワード スプレー攻撃による現実世界のセキュリティ テレメトリに基づいています。 この手法によって全体的なセキュリティと有効性が向上し、パスワード検証アルゴリズムでもスマートなあいまい一致の手法が使用されます。 その結果、Azure AD パスワード保護では、特によく使われる脆弱なパスワードが効率的に検出され、企業で使用されることがないようにブロックされます。

オンプレミスのハイブリッド シナリオ

多くの組織では、オンプレミスの Active Directory Domain Services (AD DS) 環境を含むハイブリッド ID モデルが使用されています。 Azure AD パスワード保護のセキュリティ上の利点を AD DS 環境に拡張するため、オンプレミスのサーバーにコンポーネントをインストールできます。 これらのエージェントでは、オンプレミスの AD DS 環境のパスワード変更イベントを Azure AD の場合と同じパスワード ポリシーに準拠させる必要があります。

詳細については、AD DS に Azure AD パスワード保護を適用する方法に関する記事をご覧ください。

パスワードの評価方法

ユーザーが自分のパスワードを変更またはリセットすると、グローバルとカスタムの禁止パスワード リストから結合された用語リストに対して新しいパスワードを検証することで、その強度と複雑さがチェックされます。

ユーザーのパスワードに禁止パスワードが含まれている場合でも、パスワード全体が十分に強力な場合、そのパスワードは受け入れられる可能性があります。 新しく構成されたパスワードは、受け入れるべきか拒否すべきかを決定するために、次の手順を踏んで全体的な強度が評価されます。

手順 1:正規化

新しいパスワードは、まず、正規化プロセスを完了します。 この手法により、少数の禁止パスワードを、脆弱な可能性のある非常に大きいパスワードのセットにマップすることができます。

正規化は次の 2 つの部分に分かれています。

  • すべて大文字の文字が小文字に変更されます。

  • 次に、次の例のように、共通の文字置換が実行されます。

    元の文字 置換される文字
    0 o
    1 l
    $ s
    @ a

次の例を確認してください。

  • "blank" というパスワードが禁止されています。
  • あるユーザーが自分のパスワードを "Bl@nK" に変更しようとしています。
  • "Bl@nk" が禁止されていないとしても、正規化プロセスによってこのパスワードは "blank" に変換されます。
  • このパスワードは拒否されます。

手順 2:パスワードが禁止と見なされるかどうか確認する

次に、パスワードは他の一致の動作で確認され、スコアが生成されます。 この最終的なスコアによって、パスワード変更要求を受け入れるか拒否するかが決定されます。

あいまい一致の動作

あいまい一致は、グローバルまたはカスタムのいずれかの禁止パスワード リストにあるパスワードが含まれているかどうかを確認するために、正規化されたパスワードに対して使用されます。 一致プロセスは、編集距離 1 の比較に基づいています。

次の例を確認してください。

  • "abcdef" というパスワードが禁止されています。

  • あるユーザーが自分のパスワードを次のいずれかに変更しようとしています。

    • 'abcdeg' - 末尾の文字を 'f' から 'g' に変更
    • 'abcdefg' - 末尾に 'g' を追加
    • 'abcde' - 末尾の 'f' を末尾から削除
  • 上のパスワードのそれぞれは、厳密に言えば禁止パスワード "abcdef" に一致しません。

    ただし、それぞれの例は禁止されている用語 'abcdef' の編集距離 1 以内にあるため、これらはすべて "abcdef" に一致するものと見なされます。

  • これらのパスワードは拒否されます。

部分文字列の照合 (特定の条件下)

部分文字列の照合は、正規化されたパスワードに対して、ユーザーの氏名とテナント名を確認するために使用されます。 テナント名の照合は、オンプレミスのハイブリッド シナリオの AD DS ドメイン コントローラー上でパスワードを検証する場合は行われません。

重要

部分文字列の照合は、4 文字以上の名前とその他の用語に対してのみ適用されます。

次の例を確認してください。

  • 例: Pol というユーザーが、自分のパスワードを "p0LL23fb" にリセットしようとしているとします。
  • 正規化後、このパスワードは "poll23fb" になります。
  • 部分文字列の照合により、このパスワードにはユーザーの名前 "Poll" が含まれることがわかります。
  • "poll23fb" は厳密にはどちらの禁止パスワード リストにも含まれていませんが、部分文字列の照合ではパスワード内に "Poll" が見つかりました。
  • このパスワードは拒否されます。

スコアの計算

次の手順では、ユーザーの正規化された新しいパスワード内の、禁止されたパスワードのすべてのインスタンスを特定します。 次の基準に基づいてポイントが割り当てられます。

  1. ユーザーのパスワードに含まれる各禁止パスワードには、1 ポイントが与えられます。
  2. 禁止パスワードに含まれない残りの各文字には、1 ポイントが与えられます。
  3. パスワードが受け入れられるには、少なくとも 5 ポイント必要です。

次の 2 つのシナリオ例では、Contoso が Azure AD パスワード保護を使用していて、カスタム禁止パスワード リストに "contoso" が含まれているとします。 また、グローバル リストに "blank" が含まれているとします。

次のシナリオ例では、ユーザーが自分のパスワードを "C0ntos0Blank12" に変更します。

  • 正規化後、このパスワードは "contosoblank12" になります。

  • 照合プロセスにより、このパスワードには "contoso" と "blank" という 2 つの禁止パスワードが含まれていることがわかります。

  • このパスワードには以下のスコアが与えられます。

    [contoso] + [blank] + [1] + [2] = 4 ポイント

  • このパスワードは 5 ポイント未満のため、拒否されます。

パスワードの複雑さを増すことで、受け入れられるために必要な数のポイントがどのように発生するかを示すため、少し異なる例を見てみましょう。 次のシナリオ例では、ユーザーが自分のパスワードを "ContoS0Bl@nkf9!" に変更します。

  • 正規化後、このパスワードは "contosoblankf9!" になります。

  • 照合プロセスにより、このパスワードには "contoso" と "blank" という 2 つの禁止パスワードが含まれていることがわかります。

  • このパスワードには以下のスコアが与えられます。

    [contoso] + [blank] + [f] + [9] + [!] = 5 ポイント

  • このパスワードは 5 ポイント以上であるため、受け入れられます。

重要

禁止パスワード アルゴリズムとグローバル禁止パスワード リストは、継続的なセキュリティ分析と調査に基づいて Azure でいつでも変更できます。

ハイブリッド シナリオでのオンプレミスの DC エージェント サービスの場合、更新されたアルゴリズムは DC エージェント ソフトウェアがアップグレードされた後でのみ有効になります。

ユーザーに表示される画面

ユーザーがパスワードを禁止されるパスワードにリセットまたは変更しようとすると、以下のいずれかのエラー メッセージが表示されます。

"残念ながら、パスワードを簡単に推測できる単語、語句、またはパターンが含まれています。 別のパスワードで再実行してください。"

"同じパスワードがこれまでに何度も使われています。 より推測されにくいパスワードをお選びください。"

"第三者によって推測されにくいパスワードを選択してください。"

ライセンスの要件

ユーザー グローバル禁止パスワード リストを使用した Azure AD パスワードの保護 カスタム禁止パスワード リストを使用した Azure AD パスワードの保護
クラウド専用ユーザー Azure AD Free Azure AD Premium P1 または P2
オンプレミスの AD DS から同期されたユーザー Azure AD Premium P1 または P2 Azure AD Premium P1 または P2

注意

Azure AD に同期されていないオンプレミスの AD DS ユーザーも、同期されたユーザーに対する既存のライセンスに基づく Azure AD パスワード保護の利点を受けることができます。

追加のライセンス情報 (コストを含む) については、「Azure Active Directory の価格」を参照してください。

次のステップ

カスタム禁止パスワード リストの使用を開始するには、次のチュートリアルをご覧ください。

その後、オンプレミスの Azure AD パスワード保護を有効にすることもできます。