CVE-2026-56155: AD FS 分散キー マネージャー コンテナー ACL の強化

適用先
Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server, version 23H2 Windows Server 2025

元の発行日: 2026 年 7 月 14 日
KB ID: 5121391

概要

分散キー マネージャー (DKM) コンテナーのAccess Controlリスト (ACL) は、2026 年 7 月 14 日の Windows セキュリティ更新プログラムから始まる最初の強化フェーズに入ります。 この強化作業は、 CVE-2026-56155 に記載されている脆弱性から発生する可能性がある特権の昇格 (EOP) に対処します。

要約すると、Active Directory フェデレーション サービス (AD FS) (AD FS) は DKM コンテナーに依存して、秘密キーのトークン署名証明書とトークン暗号化証明書を保護するために使用される対称キーを格納します。 コンテナーの ACL が過度に制限されている場合、DKM キー マテリアルへの読み取りアクセス権を持つ攻撃者は、トークン署名の秘密キーを復号化できます。

この脆弱性に対する強化は、安全でない DKM コンテナー ACL 構成の自動検出を導入する監査モードから始まります。 追加のオプトイン修復メカニズムは、管理者が DKM コンテナーのアクセス許可を強化するのに役立ちます。 今後の更新では、さらに強化が続く予定です。

アクションを行う

環境を保護するには、次の手順を実行します。

  1. 2026 年 7 月 14 日のセキュリティ更新プログラムまたはそれ以降の Windows 更新プログラムをすべての AD FS サーバーにインストールします。

  2. インストール後、AD FS サービスは、サービスが開始されるたびに DKM コンテナー ACL を監査し、その後 24 時間ごとに監査します。 イベント ID 1132 の AD FS 管理 イベント ログを確認します。これは、DKM コンテナーのアクセス許可に注意が必要であることを示します。 変更は自動的に行われません。

  3. イベント ID 1132 が表示される場合は、Windows Serverバージョンに応じてプラットフォーム固有の手順に従います。

Windows Server 2016 以降
  1. RemediateDkmAcl レジストリ キーを 1 に設定して、修復をオプトインします。 詳細については、「オプトイン修復」セクションの「Windows Server 2016以降のトピック」を参照してください。

  2. 2026 年 10 月 13 日までに、レジストリ キーが構成されていない場合、更新プログラムは安全でない ACL を自動的に修復します。 自動修復をオプトアウトするには、レジストリ キーを 0 に設定します。

R2 のWindows Server 2012とWindows Server 2012
  1. 修復するための AD FS サービス アカウントのアクセス許可を付与します。「オプトイン修復」セクションの「Windows Server 2012とWindows Server 2012 R2」トピックを参照してください。

  2. その後、 RemediateDkmAcl レジストリ キーを 1 に設定して、修復をオプトインします。

予期されるセキュリティで保護された状態の変更

修復後、DKM コンテナーにアクセスできるのは次のプリンシパルのみです。

元金 アクセス権
Domain Admins Generic All (フル コントロール)
エンタープライズ管理者 Generic All (フル コントロール)
システム Generic All (フル コントロール)
AD FS サービス アカウント 読み取り、書き込み、子の作成、所有者の書き込み、ツリーの削除

メモ 継承が無効になり、継承されたすべての ACE が破棄されます。 上記の一覧に含まれていないその他の明示的な許可 ACE は削除されます

この変更を管理する方法

監査モード (2026 年 7 月)

2026 年 7 月の更新プログラムをインストールすると、AD FS サービスが開始されてから 1 分後、その後 24 時間ごとに検出が自動的に実行されます。 AD FS/管理 イベント ログで、次のイベントを確認します。

イベント ID レベル 意味
1132 警告 DKM コンテナー ACL が、予想されるセキュリティで保護された状態と一致しません。 ACL を確認します。
1133 情報 DKM コンテナー ACL は、予期されるセキュリティで保護された状態です。 対処は必要ありません。
1134 エラー 検出タスクでエラー (LDAP 接続エラーなど) が発生しました。

メモ 監査モード中に ACL に対する自動変更は行われません。

オプトイン修復

重要

このセクション、メソッド、またはタスクには、レジストリを変更する方法に関する情報が含まれています。 ただし、レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するには、レジストリを変更する前にレジストリをバックアップしてください。 そうすることで、問題が発生した場合に、レジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、「Windows でレジストリをバックアップおよび復元する方法」を参照してください。

以下のプラットフォーム固有の修復ガイダンスを使用してください。

Windows Server 2016 以降

2026 年 10 月に適用が開始される前に、管理者が監査モード フェーズ中に修復して互換性の問題を特定して解決することを強くお勧めします。 修復を有効にするには、ファーム内の 任意の AD FS サーバー で次のレジストリ キーを設定します。

情報 詳細
レジストリ キー: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS
値: RemediateDkmAcl
型: DWORD
データ: 1

レジストリ キーを設定した後、次のいずれかを行います。

  • 次の検出サイクルまで最大 24 時間待機するか、または

  • AD FS サービスを再起動して修復を早くトリガーする

修復が成功すると、イベント 1135 (情報) が SDDL 形式で前の ACL でログに記録されます。

Windows Server 2012 および Windows Server 2012 R2

これらのプラットフォームでは、RemediateDkmAcl レジストリを有効にする前に、ファーム内の任意の AD FS サーバーで次の手順に従って、AD FS サービス アカウントに必要なアクセス許可を付与します。 そうしないと、修復の試行は失敗します。

  1. DKM コンテナー DN を特定します。

    $dkmContainerDn = (Get-AdfsProperties).CertificateSharingContaine
    $dkmContainerDn
    
  2. AD FS サービス アカウントを特定します。

    $serviceAccount = (Get-CimInstance Win32_Service -Filter "Name='adfssrv'").StartName
    $serviceAccount
    
  3. WriteOwner と WriteDacl に明示的な Allow ACE を付与します。

    $sid = (New-Object System.Security.Principal.NTAccount($serviceAccount)).Translate([System.Security.Principal.SecurityIdentifier]) 
    $entry = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$dkmContainerDn") 
    $rule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule( 
     $sid, 
     ([System.DirectoryServices.ActiveDirectoryRights]::WriteOwner -bor [System.DirectoryServices.ActiveDirectoryRights]::WriteDacl), 
     [System.Security.AccessControl.AccessControlType]::Allow, 
     [System.DirectoryServices.ActiveDirectorySecurityInheritance]::All 
    ) 
    $entry.ObjectSecurity.AddAccessRule($rule) 
    $entry.CommitChanges() 
    $entry.Close() 
    
  4. 必要なアクセス許可が付与されたら、ファーム内の任意の AD FS サーバーに次のレジストリ キーを設定して、修復を有効にします。

    情報 詳細
    レジストリ キー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS
    値: RemediateDkmAcl
    型: DWORD
    データ: 1
    メモ "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS" が存在しない場合は、まず "ADFS" キーを作成し、そのキーの下に RemediateDkmAcl を設定します。
  5. レジストリ キーを設定した後、次のいずれかを行います。

  • 次の検出サイクルまで最大 24 時間待機するか、または

  • AD FS サービスを再起動して修復を早くトリガーする

修復が成功すると、イベント 1135 (情報) が SDDL 形式で前の ACL でログに記録されます。

以前の SDDL を保存する (推奨)

予防措置として、修復が成功した後、イベント 1135 から以前の ACL (SDDL) を保存することをお勧めします。 (元のアクセス許可が安全でないため) ほとんどの場合、以前の ACL は必要になるとは思われませんが、それを使用すると、予期しない互換性の問題に対してセーフティ ネットが提供されます。

メモ イベント ログは、サイズ制限のためにロールオーバーされる可能性があります。 今後以前の SDDL が必要で、イベントが上書きされた場合、完全に失われます。

SDDL をファイルに保存するには:

# Run this on the AD FS server immediately after remediation (event 1135) 
$event = Get-WinEvent -FilterHashtable @{LogName='AD FS/Admin'; Id=1135} -MaxEvents 1 
$event.Message | Out-File "C:\ADFSBackup\dkm-acl-previous-sddl.txt

前の ACL を復元する方法

修復後に問題が発生し、前の ACL に戻す必要がある場合:


# Restore the full security descriptor (DACL + Owner + SACL) from the saved SDDL 
$dn = "<Container DN from event 1135 or C:\ADFSBackup\dkm-acl-previous-sddl.txt>" 
$sddl = "<Previous ACL (SDDL) value from event 1135 or C:\ADFSBackup\dkm-acl-previous-sddl.txt>” 
 
$entry = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$dn") 
$entry.ObjectSecurity.SetSecurityDescriptorSddlForm($sddl, [System.Security.AccessControl.AccessControlSections]::All) 
$entry.CommitChanges() 
$entry.Close() 

メモ このコマンドでは、SeSecurityPrivilege を実行しているアカウントに SeSecurityPrivilege が必要です (通常、Domain Admins はこれを持っています)。 ドメインに参加しているコンピューター上の管理者特権の PowerShell セッションからこれを実行します。


Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ADFS" -Name "RemediateDkmAcl" -Value 0 -Type DWord 

復元後、 RemediateDkmAcl = 0 を設定して、サービスが次のサイクルで修復されないようにします。

強制モード (2026 年 10 月)

2026 年 10 月の更新以降、修復は既定で実行され、レジストリ キーは必要ありません。 この動作は、 RemediateDkmAcl = 1 セットと同じです。

強制の自動修復は、Windows Server 2012または R2 Windows Server 2012には適用されません。 これらのプラットフォームの場合は、「オプトイン修復」セクションの「Windows Server 2012とWindows Server 2012 R2」トピックの手順に従って、手動で修復します。

強制モードのオプトアウト (2026 年 10 月)

重要

このセクション、メソッド、またはタスクには、レジストリを変更する方法に関する情報が含まれています。 ただし、レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するには、レジストリを変更する前にレジストリをバックアップしてください。 そうすることで、問題が発生した場合に、レジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、「Windows でレジストリをバックアップおよび復元する方法」を参照してください。

2026 年 10 月の更新後に自動修復を無効にする必要がある場合は、レジストリで RemediateDkmAcl 値を設定します。

情報 詳細
レジストリ キー: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS
値: RemediateDkmAcl
型: DWORD
データ: 0

これにより、修復が明示的に無効になります。 検出 (イベント 1132) は引き続き発生するため、管理者は安全でない状態を認識します。

大事な オプトアウトすると、DKM コンテナーは脆弱になります。 これは、特定の互換性要件があり、ACL を手動で強化する予定がある場合にのみ使用します。

イベント リファレンス

イベント ID: 1132 — DKM コンテナー ACL にはレビューが必要です
情報 詳細
イベント ログ AD FS/管理
イベントの種類 警告
イベント ソース AD FS
イベント ID 1132
イベント テキスト AD FS は、分散キー マネージャー (DKM) コンテナー ACL が予想されるセキュリティで保護された状態と一致しないことを検出しました。 DKM コンテナーには、トークン署名キーマテリアルを保護するために使用される対称キーが格納されます。

コンテナー DN:
<DN>

想定されるセキュリティで保護された状態は継承が無効になっており、ドメイン管理者、エンタープライズ管理者、SYSTEM、AD FS サービス アカウントのみがアクセスできます。

ユーザー アクション
修復するには、レジストリ キー HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) を 1 に設定します。 サービスは、次の検出サイクル (24 時間以内) に ACL を強化するか、サービスを再起動して修復を早くトリガーします。 ガイダンスについては、「 https://go.microsoft.com/fwlink/?linkid=2369796」を参照してください。

追加のデータ

継承が無効: <Yes/No>

現在の ACL (SDDL):
<Sddl>
イベント ID: 1133 — DKM コンテナー ACL は正常です
情報 詳細
イベント ログ AD FS/管理
イベントの種類 情報
イベント ソース AD FS
イベント ID 1133
イベント テキスト DKM ACL バックグラウンド タスクは、セキュリティ強化のためにコンテナー ACL を確認しました。
コンテナーには正しい設定があり、それ以上のアクションは必要ありません。

コンテナー DN:
<DN>
イベント ID: 1134 — 検出エラー
情報 詳細
イベント ログ AD FS/管理
イベントの種類 エラー
イベント ソース AD FS
イベント ID 1134
イベント テキスト AD FS DKM コンテナー ACL チェックバックグラウンド タスクでエラーが発生しました。

コンテナー DN:
<DN>

追加のデータ
例外の詳細:
<例外>

ユーザー アクション
詳細については、AD FS デバッグ ログを確認してください。 AD FS サービス アカウントが Active Directory の DKM グループ コンテナーにアクセスできることを確認します。
イベント ID: 1135 — 修復が成功しました
情報 詳細
イベント ログ AD FS/管理
イベントの種類 情報
イベント ソース AD FS
イベント ID 1135
イベント テキスト AD FS は、分散キー マネージャー (DKM) コンテナー ACL を正常に強化しました。

コンテナー DN:
<DN>

コンテナー ACL は、Domain Admins、Enterprise Admins、SYSTEM、および AD FS サービス アカウントにのみアクセスを許可するようになりました。 継承がブロックされ、他のすべてのアクセス許可が削除されました。

メモ: ACL がベースラインと一致している間、自動修復は再実行されません。 ACL が今後ドリフトした場合でも自動修復を完全にオプトアウトする場合は、HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) を 0 に設定します。

前の ACL は、以下の SDDL 形式に含まれています。 元のアクセス許可を復元する必要がある場合は、 https://go.microsoft.com/fwlink/?linkid=2369796

以前の ACL (SDDL):
<Sddl>
イベント ID: 1136 - 修復に失敗しました
情報 詳細
イベント ログ AD FS/管理
イベントの種類 エラー
イベント ソース AD FS
イベント ID 1136
イベント テキスト AD FS は DKM コンテナー ACL を修復しようとしましたが、エラーが発生しました。

コンテナー DN:
<DN>

ユーザー アクション
サービスは、次の検出サイクル (24 時間以内) に修復を再試行します。 このエラーが解決しない場合は、ADSI Edit または PowerShell を使用して ACL を手動で強化できます。 自動修復を無効にするには、HKLM\SOFTWARE\Microsoft\ADFS\RemediateDkmAcl (DWORD) を 0 に設定します。 ガイダンスについては、 https://go.microsoft.com/fwlink/?linkid=2369796

現在の ACL (SDDL):
<Sddl>

例外の詳細:
<例外>