AD FS 2019 でサード パーティの認証プロバイダーをプライマリ認証として構成する

組織では、パスワード ベースの認証要求を送信してユーザー アカウントをブルート フォース、侵害、またはその他の方法でロックアウトしようとする攻撃が検出されています。 セキュリティ侵害から組織を保護できるように、AD FS では、エクストラネットの "スマート" ロックアウトや IP アドレス ベースのブロックなどの機能が導入されています。

ただし、これらの軽減策は事後対応型です。 これらの攻撃の重大度を軽減する事前対応型の方法を提供するために、AD FS には、パスワードを収集する前に他の要素の入力を求める機能があります。

たとえば、AD FS 2016 では、Authenticator アプリの OTP コードを第 1 要素として使用できるように、プライマリ認証として Microsoft Entra 多要素認証が導入されました。 AD FS 2019 以降は、外部認証プロバイダーをプライマリ認証要素として構成できます。

これにより次の 2 つの主なシナリオが可能になります。

シナリオ 1: パスワードを保護する

最初に追加の外部要素の入力を求めることによって、ブルート フォース攻撃やロックアウトからパスワードベースのサインインを保護します。 パスワード プロンプトは、外部認証が正常に完了した場合にのみ表示されます。 これにより、攻撃者がアカウントを侵害または無効にしようとする便利な方法が排除されます。

このシナリオは、次の 2 つのコンポーネントで構成されます。

  • プライマリ認証として Microsoft Entra 多要素認証 (AD FS 2016 以降で使用可能) または外部認証要素の入力を求める
  • AD FS で追加の認証としてのユーザー名とパスワード

シナリオ 2: パスワードなし

パスワードが完全に不要になりますが、AD FS で完全な非パスワード ベースの方法を使用して強力な多要素認証を実行します

  • Authenticator アプリによる Microsoft Entra 多要素認証
  • Windows 10 Hello for Business
  • 証明書の認証
  • 外部の認証プロバイダー

概念

プライマリ認証が実際に意味するのは、追加要素の前に、最初にユーザーに入力を求めるメソッドであるということです。 以前は、AD FS で使用できるプライマリ方式は、Active Directory 多要素認証、Microsoft Entra 多要素認証、またはその他の LDAP 認証ストアに対応した組み込みの方式だけでした。 外部メソッドは、プライマリ認証が正常に完了した後に行われる "追加" 認証として構成できました。

AD FS 2019 では、プライマリ機能としての外部認証は、(Register-AdfsAuthenticationProvider を使用して) AD FS ファームに登録されている外部認証プロバイダーが、プライマリ認証と "追加" 認証に使用できるようになることを意味します。 これらは、イントラネットやエクストラネットの使用に対して、フォーム認証や証明書認証などの組み込みプロバイダーと同じ方法で有効にできます。

authentication

外部プロバイダーがエクストラネットまたはイントラネット、もしくはその両方に対して有効になると、ユーザーが使用できるようになります。 複数のメソッドが有効になっている場合、ユーザーに選択ページが表示され、追加の認証の場合と同様に、プライマリ メソッドを選択できます。

[前提条件]

外部認証プロバイダーをプライマリとして構成する前に、以下の前提条件が確実に満たされるようにします。

  • AD FS ファーム動作レベル (FBL) が "4" に引き上げられている (この値は AD FS 2019 に変換される)。
    • これは、新しい AD FS 2019 ファームの既定の FBL 値です。
    • Windows Server 2012 R2 または 2016 に基づく AD FS ファームの場合、PowerShell コマンドレット Invoke-AdfsFarmBehaviorLevelRaise を使用して FBL を引き上げることができます。 AD FS ファームのアップグレードの詳細については、SQL ファームまたは WID ファームのファーム アップグレードに関する記事を参照してください
    • コマンドレット Get-AdfsFarmInformation を使用して FBL 値を確認できます。
  • AD FS 2019 ファームが、新しい 2019 "改ページ対応" ユーザー向けページを使用するように構成されている。
    • これは、新しい AD FS 2019 ファームの既定の動作です。
    • Windows Server 2012 R2 または 2016 からアップグレードされた AD FS ファームの場合、プライマリとしての外部認証 (このドキュメントで説明した機能) が、この記事の次のセクションで説明するように有効になると、改ページ調整されたフローが自動的に有効になります。

外部認証方法をプライマリとして有効にする

前提条件を確認したら、AD FS 追加認証プロバイダーをプライマリとして構成するには、PowerShell または AD FS 管理コンソールの 2 つの方法があります。

PowerShell の使用

PS C:\> Set-AdfsGlobalAuthenticationPolicy -AllowAdditionalAuthenticationAsPrimary $true

追加の認証をプライマリとして有効または無効にした後、AD FS サービスを再開する必要があります。

AD FS 管理コンソールの使用

AD FS 管理コンソールの [サービス] ->[認証方式][プライマリ認証方法] で、[編集] を選択します

[追加の認証プロバイダーをプライマリとして許可する] チェック ボックスを選択します。

追加の認証をプライマリとして有効または無効にした後、AD FS サービスを再開する必要があります。

追加の認証としてのユーザー名とパスワードを有効にする

"パスワードを保護する" シナリオを完了するには、PowerShell または AD FS 管理コンソールを使用して、追加の認証としてユーザー名とパスワードを有効にします。 両方のメソッドの例を示します。

PowerShell を使用して、追加の認証としてユーザー名とパスワードを有効にする

PS C:\> $providers = (Get-AdfsGlobalAuthenticationPolicy).AdditionalAuthenticationProvider

PS C:\>$providers = $providers + "FormsAuthentication"

PS C:\>Set-AdfsGlobalAuthenticationPolicy -AdditionalAuthenticationProvider $providers

AD FS 管理コンソールを使用して、追加の認証としてユーザー名とパスワードを有効にする

AD FS 管理コンソールの [サービス] ->[認証方法][追加の認証方法] で、[編集] を選択します

[フォーム認証] のチェック ボックスを選択して、追加の認証としてユーザー名とパスワードを有効にします。