Azure Active Directory スマート ロックアウトを使用してユーザー アカウントを攻撃から保護する

スマート ロックアウトは、組織のユーザーのパスワードを推測したり、ブルート フォース方法を使用して侵入しようとする悪意のあるユーザーのロックアウトを支援します。 スマート ロックアウトは、有効なユーザーからのサインインを認識し、攻撃者や他の不明なソースからのユーザーとは異なる方法で処理できます。 攻撃者はロックアウトされる一方、組織のユーザーは自分のアカウントへのアクセスを継続できるため、生産性を落とすことはありません。

スマート ロックアウトのしくみ

既定では、スマート ロックアウトは Azure Public テナントでは 10 回、Azure US Government テナントでは 3 回失敗すると、サインイン試行ができないよう 1 分間アカウントがロックされます。 後続のサインインの試行が失敗するたびに、アカウントは再度ロックされます。最初は 1 分間、後続の試行ではより長い時間ロックされます。 攻撃者がこの動作を回避できる方法を最小限にするために、Microsoft では、サインインの試行が重ねて失敗したときにロックアウト期間がどの程度延長されるかを開示していません。

スマート ロックアウトでは、直近 3 つの無効なパスワード ハッシュを追跡して、同じパスワードに対するロックアウト カウンターの増分を回避します。 同じ無効なパスワードが複数回入力された場合、この動作によってアカウントがロック アウトされることはありません。

注意

認証はクラウドではなくオンプレミスで行われるため、パススルー認証を有効にしているお客様はハッシュ追跡機能を利用できません。

AD FS 2016 と AF FS 2019 を使用したフェデレーション デプロイでは、AD FS エクストラネット ロックアウトとエクストラネット スマート ロックアウトを使用して同様の効果を実現できます。

スマート ロックアウトは、すべての Azure AD 顧客に既定として設定され、常に有効で、セキュリティとユーザビリティを適切な割合で提供します。 スマート ロックアウト設定を組織固有の値にカスタマイズするには、ユーザーに Azure AD Premium P1 以上のライセンスが必要です。

スマート ロックアウトを使用しても、正規のユーザーが絶対にロックアウトされないという保証はありません。スマート ロックアウトによってユーザー アカウントがロックされた場合、Microsoft では可能な限り正規ユーザーをロックアウトしないよう試みます。 ロックアウト サービスでは、悪意のあるアクターが正規のユーザー アカウントへのアクセスを確実に阻止するよう試みます。 次の考慮事項が適用されます。

  • 各 Azure AD データ センターでは、ロックアウトが個別に追跡されます。 ユーザーが各データ センターにアクセスする場合、そのユーザーの試行回数は (threshold_limit * datacenter_count) です。
  • スマート ロックアウトでは、悪意のあるアクターと正規ユーザーを区別するために、既知の場所と未知の場所を使用します。 未知の場所と既知の場所の両方に、個別のロックアウト カウンターが設定されます。

スマート ロックアウトは、パスワード ハッシュ同期またはパススルー認証を使用するハイブリッド デプロイと統合でき、オンプレミスの Active Directory Domain Services (AD DS) アカウントが攻撃者によってロックアウトされることを防止します。 Azure AD でスマート ロックアウト ポリシーを適切に設定することにより、オンプレミスの AD DS に到達する前に攻撃を防止できます。

パススルー認証を使用する場合、次の考慮事項が適用されます。

  • Azure AD のロックアウトしきい値が、AD DS アカウント ロックアウトしきい値より 小さい。 AD DS アカウント ロックアウトしきい値が Azure AD のロックアウトしきい値より少なくとも 2 から 3 倍大きくなるように値を設定します。
  • Azure AD のロックアウト期間は、AD DS のロックアウト カウンターのリセットの期間より長い期間を設定する必要があります。 AD の期間は分単位で設定しますが、Azure AD の期間は秒単位で設定します。

たとえば、Azure AD のスマート ロックアウト期間が AD DS よりも高くなるようにしたい場合は、オンプレミス AD が 1 分 (60 秒) に設定されていても、Azure AD は 120 秒 (2 分) にします。 Azure AD のロックアウトしきい値を 5 にする場合は、オンプレミスの AD ロックアウトしきい値を 10 に設定します。 この構成により、スマートロックアウトによって Azure AD アカウントへのブルート フォース攻撃でオンプレミスの AD アカウントがロックアウトされることを確実に防ぐことができます。

重要

現時点では、ユーザーのクラウド アカウントがスマート ロックアウト機能によってロックされている場合、管理者はロックを解除できません。 管理者はロックアウト期間が期限切れになるまで待つ必要があります。 ただし、ユーザーは信頼されたデバイスまたは場所から、セルフサービス パスワード リセット (SSPR) を使用してロックを解除できます。

オンプレミス アカウントのロックアウト ポリシーを検証する

オンプレミス AD DS アカウントのロックアウト ポリシーを検証するには、ドメインに参加しているシステムから管理者特権で次の手順を実行します。

  1. グループ ポリシー管理ツールを開きます。
  2. 組織のアカウント ロックアウト ポリシーを含む、グループ ポリシー (デフォルト ドメイン ポリシー など) を編集します。
  3. [コンピューターの構成] > [ポリシー] > [Windows 設定] > [セキュリティ設定] > [アカウント ポリシー] > [アカウント ロックアウト ポリシー] の順に移動します。
  4. [アカウント ロックアウトのしきい値][ロックアウト カウンターのリセット] の値を確認します。

オンプレミス Active Directory アカウント ロックアウト ポリシーを変更する

Azure AD スマート ロックアウトの値を管理する

組織の要件に基づいて、Azure AD スマート ロックアウトの値をカスタマイズできます。 スマート ロックアウト設定を組織固有の値にカスタマイズするには、ユーザーに Azure AD Premium P1 以上のライセンスが必要です。

組織のスマート ロックアウト値を確認または編集するには、次の手順を実行します。

  1. Azure portal にサインインします。

  2. Azure Active Directory を検索して選択し、 [セキュリティ] > [認証方法] > [パスワード保護] を選択します。

  3. 何回サインインに失敗したらアカウントがロックアウトされるかを基に [ロックアウトのしきい値] を設定します。

    既定値は、Azure Public テナントの場合は 10、Azure US Government テナントの場合は 3 です。

  4. [Lockout duration in seconds](秒単位のロックアウト期間) で、各ロックアウトの長さを秒単位で設定します。

    既定値は 60 秒 (1 分) です。

注意

ロックアウト後、はじめてのサインインにも失敗した場合は、アカウントは再度ロックアウトされます。 アカウントが繰り返しロックされた場合は、ロックアウト時間が長くなります。

Azure Portal で Azure AD スマート ロックアウト ポリシーをカスタマイズする

スマート ロックアウト機能が動作しているかどうかを確認する方法

スマート ロックアウトのしきい値がトリガーされると、アカウントがロックされているときに次のメッセージが表示されます。

ご使用のアカウントは、不正使用を防ぐために一時的にロックされています。後でもう一度お試しください。問題が解決しない場合は管理者にお問い合わせください。

スマート ロックアウトをテストする際、Azure AD 認証サービスの地理的分散および負荷分散の性質により、サインイン要求はさまざまなデータセンターによって処理される可能性があります。 そのシナリオでは、ロックアウトはそれぞれの Azure AD データセンターによって個別に追跡されるため、ロックアウトを発生させるために、定義されたロックアウトしきい値よりも多くの試行回数が必要になる場合があります。 完全にロックアウトされるまでのユーザーの最大不正試行回数は (threshold_limit * datacenter_count) です。

次のステップ

エクスペリエンスをさらにカスタマイズするために、Azure AD のパスワードを保護するためのカスタムの禁止パスワードを構成することができます。

ユーザーが Web ブラウザーからパスワードをリセットまたは変更できるようにするために、Azure AD のセルフサービス パスワード リセットを構成することができます。