AD FS 用の KDFv2 とは

2021 年 7 月 13 日に、CVE-2021-33779 で説明されているように、トークン リプレイ攻撃に対処するために AD FS の更新プログラムがリリースされました。 これらの更新プログラムでは、"KDFv2" という名前の新しいキー派生関数 (KDF) を有効にして制御する新しい設定が導入されています。 この新しいバージョンの KDF は、以前のバージョンより安全です。 このドキュメントでは、CVE-2021-33779 のセキュリティ修正プログラムによって有効になった新しい設定と、さまざまなデプロイ シナリオでこれらの設定を有効にする方法について説明します。 製品固有の KB 番号と関連するダウンロードについては、CVE の記事で提供されているリンクを参照してください。

KDFv2 の設定:

KDFv2 は、管理者が、次のいずれかのモードで実行されている AD FS サーバー上で構成できます。

  • なし - (既定値) これは、KDFv2 設定値が変更された場合に追跡するために使用されます。 この値は、管理者が設定できない場合があります。
  • 無効 - KDFv2 を有効にしたときに問題が発生した場合、キー派生関数を元の動作に戻すためにこの値を設定できます。
  • 有効 - KDFv2 のサポートを有効にします。 ADFS サーバーは、新しい機能をサポートすることをアドバタイズします。 最初のプライマリ更新トークン (PRT) 要求が元の KDF バージョンを使用してクライアントから送信された場合、ADFS は要求を受け入れ、元の KDF を使用します。 この設定では、パッチが適用されていないクライアントをサポートできます。
  • 強制 - KDFv2 のサポートを有効にし、元の KDF を使用した最初の PRT 要求を禁止 (拒否) します。 管理者が、すべてのクライアントにパッチが適用されたと確信した場合は、強制モードに切り替えることができます。

管理者は、AD FSサーバーで次の PowerShell コマンドを使用して、KDFv2 モードを変更できます。

  • Enable KDFv2:
Set-AdfsProperties -KdfV2Support enable 
  • Disable KDFv2:
Set-AdfsProperties -KdfV2Support disable 
  • Enforce KDFv2:
Set-AdfsProperties -KdfV2Support enforce  

管理者は Get-AdfsProperties を実行して、現在の KDFv2 設定を確認できます。 返される KdfV2Support 値は、構成されているモードと一致します。

展開シナリオ

KDFv2 をサポートするためにパッチが適用されたときに、AD FS サーバーで実行されている OS のバージョンによっては、KDFv2 が自動的に有効になる場合があります。 また、OS バージョンに依存するイベントは、ファーム内の KDFv2 の状態を示すためにログに記録される場合があります。 次に示すのは、考えられるデプロイ シナリオと想定される動作です。

シナリオ 1: Windows Server 2019 以上がファーム内のすべての AD FS サーバーにインストールされている。 1 つ以上のファーム ノードにパッチが適用されていない。

想定される動作: ファーム内のすべてのノードにパッチが適用されていない場合は、推奨される修復操作を示す次のエラー イベントがログに記録されます。 このイベントは、ファーム内のすべてのノードにパッチが適用されるまで、24 時間ごとにログに記録されます。 すべてのノードにパッチが適用されると、ファーム内のすべてのシステムに対して KDFv2 が "有効" モードで自動的に有効になります。

 Source: AD FS  
 Level: Error 
 ID: 181 
 Message: AD FS could not enable the new KDFv2 feature automatically because of missing Windows Updates on one or more nodes of the farm. Please make sure that all the farm nodes are patched with the latest Windows Updates. AD FS checks regularly for the required updates to enable the new KDFv2 feature. An event 182 will be logged when a check is successful. For more information on this, please see  https://go.microsoft.com/fwlink/?linkid=2153807. 

シナリオ 2: ファームWindows Server 2016 がファーム内の 1 つ以上のサーバーにインストールされている。 すべてのサーバーが Windows 2016 以上を実行している。 1 つ以上のファーム ノードにパッチが適用されていない。

想定される動作: ファーム内のすべてのノードにパッチが適用されていない場合は、推奨される修復操作を示す次のエラー イベントがログに記録されます。 このイベントは、ファーム内のすべてのノードにパッチが適用されるまで、24 時間ごとにログに記録されます。 すべてのノードにパッチが適用されたら、ファーム内のすべてのサーバーで KDFv2 を手動で有効にする必要があります。

 Source: AD FS  
 Level: Error 
 ID: 185 
 Message: KDFv2 feature is not enabled on AD FS farm. Please make sure that all the farm nodes are patched with latest Windows Updates and the KDFv2 feature is enabled to enhance the security of the farm. For more information on this, please see  https://go.microsoft.com/fwlink/?linkid=2153807. 

シナリオ 3: Windows Server 2019 以上がファーム内のすべての AD FS サーバーにインストールされている。 ファーム内のすべてのサーバーにパッチが適用されている。

想定される動作: 上記のシナリオ 1 で説明したように、KDFv2 がファームで自動的に有効になると、次のイベントがログに記録されます。

 Source: AD FS 
 Level: Information 
 ID: 182 
 Message: AD FS enabled the new KDFv2 feature successfully. For more information on this, please see https://go.microsoft.com/fwlink/?linkid=2153807. 

注意

ファーム内のいずれかのサーバーが Windows Server 2016 を実行している場合、イベント 182 がログに記録されます。

シナリオ 4: 管理者が、環境内の 1 つ以上のサーバーで KDFv2 を無効にした。

想定される動作: ADFS サービスの開始時に KDFv2 が無効になっているファーム内の各システムについて次のログ メッセージが記録されます。

 Source: AD FS 
 Level: Warning 
 ID: 183 
 Message: KDFv2 feature is disabled on AD FS farm. Please make sure that all the farm nodes are patched with latest Windows Updates and the KDFv2 feature is enabled to enhance the security of the farm. For more information on this, please see https://go.microsoft.com/fwlink/?linkid=2153807. 

次へ