Microsoft Entra ID のカスタム禁止パスワード機能を試してみた

2023.11.04

Microsoft Entra ID (旧 Azure Active Directory) のパスワード保護機能には、指定した用語をパスワードに含めることを禁止する「カスタム禁止パスワード」機能があります。会社名や製品名などを禁止リストとして登録する利用例があり、パスワードスプレー攻撃からの保護に役立ちます。以前から機能があることは知っていましたが、使ったことがなかったため試してみました。

カスタム禁止パスワードについては次のドキュメントに記載があります。

Microsoft Entra ID でのパスワード保護 | Microsoft Learn


なお、カスタム禁止パスワードを利用するためには MICROSOFT ENTRA ID P1 ライセンスが必要です。

カスタスの禁止パスワードを試してみる

カスタム禁止パスワードとして「classmethod」を設定して試してみます。

設定方法はチュートリアルページに掲載されています。

カスタム Microsoft Entra パスワード保護リストを構成する | Microsoft Learn


カスタム禁止パスワードの設定

Azure Portal の Entra ID からも設定できますが、今回はチュートリアル同様に Microsoft Entra 管理センター から設定してみます。

「classmethod」をカスタム禁止パスワードとして設定して保存します。

以上で設定は終わりです。

ドキュメントにも記載がありますが、設定反映まで数時間かかる場合があります。

カスタム禁止パスワード リストの更新が適用されるまでに数時間かかることがあります。

(引用元)カスタム Microsoft Entra パスワード保護リストを構成する | Microsoft Learn


「classmethod」のみが禁止リストに含まれる状態で、いくつかのパスワードを設定できるか試してみた結果です。単純な文字列一致だけではないロジックであることが分かります。

No. 設定パスワード 設定可否 理由
1 ClassmethodA1! 不可 正規化により大文字は小文字に変換されて評価されるため
2 cl@ssmeth0dA1! 不可 正規化により記号/数字がアルファベットに置換されて評価されるため
3 classmethodA1! 不可 スコアが 5 未満のため
4 classmethodA1!B2? 可能 禁止文字列が含まれるが、スコアが 5 以上のため
5 classA1!method 可能 (おそらく)禁止文字列が分断されているため


設定不可の理由は、次のドキュメントに記載されている評価方法を読めば分かります。本ドキュメントを読めば十分理解できるのですが、勉強も兼ねて以降に設定可否の結果の補足を記載します。

Microsoft Entra ID でのパスワード保護 | Microsoft Learn


正規化により設定できないパターン

No. 1,2 が設定不可の理由は正規化のためです。

「① 大文字は小文字に変換」され、さらに「② 下表の置換」が実施された後にカスタム禁止パスワードが評価されます。

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

上記のため、No. 1 は ① により小文字に変換され、No. 2 の@ 0a oに置換された結果、両方とも「classmethodA1!」として評価され、カスタム禁止パスワードが含まれると判断されたと理解しました。


スコア計算により設定できないパターン

No. 3, 4 はスコアの計算が関係しているようです。

スコアは次のように計算されます。

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

(引用元)Microsoft Entra ID でのパスワード保護 | Microsoft Learn


今回の場合は No.3 は下表の評価となり、合計 4 ポイントとなり、5 ポイント未満のため設定不可になると理解しました。

文字列 スコア
classmethod 1
A 1
1 1
! 1

No. 4 は下表の評価となり、合計 7 ポイントとなり、5 ポイント以上のため設定可能となります。

文字列 スコア
classmethod 1
A 1
1 1
! 1
B 1
2 1
? 1


カスタム禁止パスワードによりパスワード変更できない場合の画面

最後に参考情報ですが、No. 1〜3 においてパスワードが設定できなかったときは次のようなメッセージが表示されました。

上図のエラーメッセージも含めて、次のパターンのメッセージが表示される場合があるようです。

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

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

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

(引用元)Microsoft Entra ID でのパスワード保護 | Microsoft Learn


また、No. 5 のパスワード文字列classA1!methodに関して、禁止リストを「class」「method」に分けて再度試したところ、「他の人に推測されにくいパスワードを選択してください。」とのエラーメッセージで設定できませんでした。スコアの計算は 5 となる認識ですが、上述していない あいまい一致の動作 により設定できなかったものと思われます。

以上で、カスタム禁止パスワードのお試しは終わりです。

さいごに

Microsoft Entra ID のパスワード保護機能の一つであるカスタム禁止パスワードを試してみました。パスワードスプレー攻撃からの保護のために設定を検討すると良いと思いました。

以上、このブログがどなたかのご参考になれば幸いです。