組織では、パスワード ベースの認証要求を送信して、ブルート フォース攻撃、侵害攻撃、またはユーザー アカウントのロックアウトを試みる攻撃が発生しています。 セキュリティ侵害から組織を保護するために、AD FS にはエクストラネットの "スマート" ロックアウト、IP アドレス ベースのブロックなどの機能が導入されています。
ただし、これらの軽減策は反応性があります。 これらの攻撃の重大度を減らすプロアクティブな方法を提供するために、AD FS はパスワードを収集する前に他の要因を求める機能を備えます。
たとえば、AD FS 2016 では、認証アプリからの OTP コードを最初の要素として使用できるように、Microsoft Entra 多要素認証がプライマリ認証として導入されました。 AD FS 2019 以降では、主要な認証要素として外部認証プロバイダーを構成できます。
これを可能にする主なシナリオは 2 つあります。
シナリオ 1: パスワードを保護する
パスワード ベースのサインインをブルート フォース攻撃やロックアウトから保護するには、最初に追加の外部要素を求めます。 パスワード プロンプトは、外部認証が正常に完了したときにのみ表示されます。 これにより、攻撃者がアカウントを侵害または無効化しようとする便利な方法がなくなります。
このシナリオは、次の 2 つのコンポーネントで構成されます。
- Microsoft Entra 多要素認証 (AD FS 2016 以降で利用可能) またはプライマリ認証としての外部認証要素の入力を求めるメッセージ
- AD FS での追加認証としてのユーザー名とパスワード
シナリオ 2: パスワードなし
パスワードを完全に排除するが、AD FS でパスワードベースではない方法を使用して強力な多要素認証を完了する
- Authenticator アプリを使用した Microsoft Entra 多要素認証
- Windows 10 ビジネス向けハロー
- 証明書の認証
- 外部の認証プロバイダー
概念
プライマリ認証が本当に意味するのは、追加の要因の前にユーザーに最初に求められる方法です。 以前は、AD FS で使用できる唯一の主要な方法は、Active Directory または Microsoft Entra 多要素認証、またはその他の LDAP 認証ストア用の組み込みメソッドでした。 外部メソッドを "追加" 認証として構成できます。これは、プライマリ認証が正常に完了した後に行われます。
AD FS 2019 では、プライマリ機能としての外部認証は、(Register-AdfsAuthenticationProviderを使用して) AD FS ファームに登録されている外部認証プロバイダーがプライマリ認証と "追加" 認証に使用できるようになることを意味します。 これらは、イントラネットやエクストラネットで使用するために、フォーム認証や証明書認証などの組み込みプロバイダーと同じ方法で有効にすることができます。
外部プロバイダーがエクストラネット、イントラネット、またはその両方に対して有効になると、ユーザーが使用できるようになります。 複数の方法が有効になっている場合、ユーザーには選択ページが表示され、追加認証の場合と同様に、プライマリ メソッドを選択できます。
前提条件
外部認証プロバイダーをプライマリとして構成する前に、次の前提条件が満たされていることを確認してください。
- 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 ファームのファームアップグレードに関する記事を参照してください。
- FBL 値は、Get-AdfsFarmInformation コマンドレットを使用して確認できます。
- 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 管理コンソールの [Service ->Authentication Methods] の [プライマリ認証方法] で、[編集] を選択します。
[ プライマリとして追加の認証プロバイダーを許可する] チェック ボックスをオンにします。
プライマリとして追加の認証を有効または無効にした後、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 管理コンソールの [Service ->Authentication Methods]\(認証方法\) で、[追加の認証方法] で [編集] を選択します。
ユーザー名とパスワードを追加認証として有効にするには、[ フォーム認証 ] のチェック ボックスをオンにします。