ユーザー名とパスワードでユーザーを認証する、という方式は多くの認証基盤で利用され、「Azure Active Directory(Azure AD)」でも第一の認証として既定/利用されています。昨今は、強固なパスワードを利用するだけでは防ぐことのできない不正ログオンにつながる脅威を防ぐために、二要素認証「Azure Multi-Factor Authentication」などの追加の保護策を有効にすることを推奨しています。

追加の保護策を有効にしている場合でも、もちろん、第一の認証として利用されているパスワードには十分な強度のあるものを利用することが重要です。多くの政府や各業界、各組織のポリシー/ガイダンスでは、パスワードを複雑にすることや、同じパスワードを使い回さないことなどが推奨されています。いずれの企業でも、そうしたガイダンスに従って、組織内のパスワードポリシーやルールを設定していることでしょう。

オンプレミスのActive Directory(AD)でも、パスワードの長さや複雑さなど、さまざまな設定を管理者が行うことができるよう、パスワードポリシーの機能が備わっていました。しかしながら、「複数のサービスで使い回しをしない」といったような、従来のパスワードルールでは防げない脆弱なパスワードが使用されることも多々あります。

Azure ADでは、さらに進化したパスワードポリシー機能を提供し、これまでのポリシーでは防ぐことが難しかった脆弱なパスワードの利用も防止しています。加えて、このAzure ADのパスワードポリシーはオンプレミスADにも適用させることができるのです。

Azure ADのパスワードポリシー

まず基本的な仕組みとして、Azure ADでは、ユーザー名とパスワードに関して、使用できる文字や複雑さ、長さ、有効期間などを定めた既定のポリシーが定められており、全てのユーザーに適用されています。

Azure ADにおけるユーザー名のポリシー

Azure ADにおけるユーザー名のポリシー(2020年10月時点)

Azure ADにおけるパスワードのポリシー

Azure ADにおけるパスワードのポリシー(2020年10月時点)

細かい設定ができない?

基本的なAzure ADのポリシーを見て、「Azure ADでは、あまり細かい設定ができない」と感じた方もいるかもしれません。

そうなんです。実はAzure ADでは、オンプレミスADのパスワードポリシーのような、いわゆるパスワードの複雑さを構成するための詳細な設定を提供していません

オンプレミスADでは、複雑なポリシーをADの管理者がそれぞれ設定していました。しかし、Azure ADでは、ADの管理者に代わって、Azure ADがパスワードを自動的に分析/評価する仕組みを導入しています。そのため、管理者が細かい設定をする必要がないのです。

適切なパスワードポリシーを保つためには、継続的にパスワードに関する脅威を分析して設定の見直しを図る必要があり、これが管理者の大きな負担になっていました。そのため、結果的に、組織で利用しているパスワードポリシーが古いままとなり、脆弱なパスワードの利用をユーザーに許してしまう、あるいは逆に、必要以上に厳しすぎるパスワードポリシーでユーザーの利便性が損なわれるケースもあったのです。

Azure ADでは、マイクロソフトが収集している脅威の情報を元に、Azure ADが自動的に、利用するパスワードの分析/評価することで、管理者の負担を最小限にしながら、最新の保護を受けられるよう設計されています。

※ Azure AD B2Cでは、複雑性ポリシーなどをカスタマイズすることが可能です。詳細はAzureのドキュメント「Azure Active Directory B2Cでパスワードの複雑さの要件を構成する」を参照してください。

実際の脅威に即してパスワードを評価

Azure ADでは、実際の脅威の情報に基づいて、ユーザーが設定しようとするパスワードを評価し、適切なパスワードのみ設定を許可しています。もし、適切なレベルを満たしていないと評価されるパスワードが設定された場合、ユーザーに再考を促します。

パスワードを評価する際は、マイクロソフトが収集している脅威インテリジェンスから設定した「グローバル禁止パスワードリスト」と呼ばれるリストを基に評価が行われます。ユーザーが設定しようとするパスワードを、この「グローバル禁止パスワード リスト」に照らしてチェックし、一致、あるいは類似するものがある場合、パスワードの設定はエラーになります。

この「グローバル禁止パスワードリスト」の詳細はセキュリティ上の理由から公開されていませんが、例えば、実際のパスワードスプレー攻撃に現在よく利用されているパスワードなど、今まさに現実に発生している攻撃のテレメトリデータに基づいて、構成されています。

独自の禁止リストを追加することも可能

詳細なパスワードを評価するアルゴリズムとグローバル禁止パスワードリストは、マイクロソフトが継続的に行っている脅威分析と調査に基づいて、随時アップデートされています。しかし、企業組織によっては、セキュリティを強化するため、独自に禁止する用語を追加したいという要望もあります。マイクロソフトが管理している「グローバル禁止リスト」は編集することができませんが、各組織で利用する「カスタムの禁止パスワード」を追加で設定し、特定の用語を禁止することが可能です。

実は、カスタムの禁止パスワードで設定可能な用語は、最大1,000個までに制限されており、それ以上の個数を設定するようには設計されていません。これは、一般的にパスワードに利用するべきではないと考えられる用語は、グローバル禁止リストに設定されているので、カスタムの禁止パスワードリストに追加する必要がないためです。カスタムの禁止パスワードリストには、組織が利用しているブランド名や製品名、会社の所在地、組織内で利用される特定の用語や略語など、組織固有の用語を追加します。

「カスタムの禁止パスワードリスト」の設定画面

Azure ADでの「カスタムの禁止パスワードリスト」の設定画面

単に禁止リストと比較するのではない

ユーザーが設定を試みるパスワードを評価する際、単に、これらのパスワードの禁止リストに一致する用語があるかどうかを比較するわけではありません。

リストに指定されている用語を基に、さまざまなバリエーションや組み合わせで、ユーザーが設定を試みるパスワードの全体的な強度が評価されます。たとえ、ユーザーが新たに設定しようとするパスワードが、禁止リストの用語に完全に一致するものではなくても、実際の評価の段階で脆弱だと判断されたものは自動的にブロックされるのです。 例えば、Contoso社が、社名である「Contoso」の利用を禁止するために、Contosoを禁止リストに追加したとします。ユーザーが新たにパスワードを設定しようとすると、Azure ADは、禁止リストにある用語と文字を組み合わせた「Contoso!1」や、ほかの用語と組み合わせた「Contoso!Tokyo」といった用語、少し変更しただけの「C@ntoso」などを脆弱なバリエーションだと判断し、全て自動的にブロックします。

Azure ADの管理者から見れば、カスタムの禁止パスワードリストに基本用語のみを追加しておけば、Azure AD側で分析して自動的に脆弱な組み合わせをブロックしてくれる、というわけです。Azure ADの管理者が、禁止したい用語を利用した脆弱な組み合わせを考えて設定する必要がないため、管理の手間が大幅に削減されます。

「カスタムの禁止パスワードリスト」の設定画面

パスワード変更時に脆弱なパスワードを設定しようとすると表示されるエラー

* * *

このようにAzure ADでは、従来のパスワードポリシーよりも高度で、管理者の手間が大幅に軽減された方法で、脆弱なパスワードを排除できる仕組みが実現されています。そして、このAzure ADのパスワードポリシーは、Azure ADのユーザーだけではなく、オンプレミスADのユーザーにも適用させることができます。この詳細については次回!

著者紹介

垣内 由梨香
マイクロソフト株式会社 セキュリティ レスポンス チーム セキュリティ プログラム マネージャー

マイクロソフト株式会社に入社以来、Active Directory, Network, 証明書および暗号化を専門としたWindows エンジニアを経て現職。セキュリティの意識向上活動、インシデント対応に従事。CRYPTREC委員。