はじめに
全てのサーバーやデバイスにおいて言えることですが、常にセキュリティアップデートを最新に保つことはセキュリティ対策において非常に重要です。その中でも特にドメイン コントローラーについてはより重要度が増します。
ユーザーやデバイス、リソースの一元管理を行うことが可能な強力な機能を持つ重要なサーバーである反面、ドメイン管理者 ID など、侵害された場合の影響はシステム全体にとって甚大であるからです。
実際に毎月リリースされる更新プログラムでは、Active Directory 向けのセキュリティ更新も多く含まれておりますので、常に最新の更新プログラムが適用されるよう、適切な更新プログラム管理を行うことが重要です。
更新プログラムによる段階的な脆弱性対応
とはいえ、ドメイン コントローラーと連携するシステムへの動作影響や古いシステムとの互換性などの懸念から、更新プログラムを適切に適用できない環境も多く存在するものと思います。
そこで、昨今リリースされている更新プログラムでは既存動作に影響が生じるようなセキュリティ更新の場合、既存環境への影響を抑えるために、互換性のある期間を設けて段階的に更新プログラムをリリースしていく方式が主流となっています。
例えば、"脆弱性のある認証方式Aを廃止する" というセキュリティ更新が行われる場合、以下のように段階的なリリースが行われます。
20XX 年/1 月の更新プログラム適用時:
脆弱性のある認証方式A が発生した場合、脆弱性のある認証を行っているクライアント情報を記載した監査イベントを出力させる。
20XX 年/4 月の更新プログラム適用時:
脆弱性のある認証方式A が発生した場合、当該認証を拒否する。
つまり、[20XX 年/1 月の更新プログラム] 時点では、脆弱性のある認証方式A をいきなりブロックせずに監査ログを出力させ、認証をブロックしたときに影響が生じるクライアントを特定できるような監査ログを出力し、管理者側でクライアントの対処を行った後に、当該認証をブロックする [20XX 年/4 月の更新プログラム] を適用するといった運用が可能となっています。
脆弱性の内容や影響度、動作変更箇所等から、各フェーズでの変更内容やフェーズ期間やフェーズ数は大きく異なります
更新プログラムの適用差異による互換性の問題
ここで、本記事の主題となります。
上述の通り、昨今の更新プログラムに脆弱性対応が含まれる場合、段階的に適用させることが可能となっていますが、ドメイン コントローラー間の更新プログラムの適用状況に大きく乖離が生じている場合、互換性の問題が発生し、例えば正常に認証が出来ない.. といった問題が表面化する可能性 があります。
その多くは Kerberos 認証に関連する脆弱性対応となりますが、ドメイン コントローラー(KDC) がKerberos チケットを発行する際に、TGT (認証チケット:ユーザがID/パスワード等で認証し、そのユーザーがそのユーザー自身であることを証明するチケット。) の発行と ST (サービスチケット:特定のサービスやリソースにアクセスするためのチケット。TGT を提示してこの ST を要求します。) の発行を異なるドメイン コントローラーが行う可能性があるため、この互換性の問題が発生します。
よくある問題シナリオとしては、更新プログラムが 2020 年頃までしか適用されていない Windows Server 2016 で構成されたドメイン コントローラーに、Windows Server 2022 や Windows Server 2025 等の OS バージョンのドメイン コントローラーを追加する場合です。
Windows Server 2022 や Windows Server 2025 ではOS 初期イメージでも各脆弱性対応の最終フェーズになっている場合も多く、例えば以下イメージ図のように、Windows Server 2016 ドメイン コントローラーに対して認証し、脆弱性に対応していない TGT を取得後、Windows Server 2025 のドメイン コントローラーに対して ST を要求したことで、脆弱性のある TGT と判定され、ST が取得できずKerberos 認証が失敗する場合があります。
<問題のシナリオイメージ>

①:資格情報を送信し認証を行い、TGT を取得する
②:ファイルサーバーへのアクセスを行い、ファイルサーバーがチケットを要求する
③:対象ファイルサーバーの ST を取得しようとするものの、①で取得済みの TGT が脆弱性のあるチケットと判定され、ST の発行に失敗する
上記シナリオの場合、仮に Windows Server 2025 のドメイン コントローラーから TGT を取得していれば問題ないことから、必ずしも全ての Kerberos 認証で影響が生じるというものでは無いため、環境によっては問題が表面化しにくい点には注意が必要です。
互換性の問題が発生する脆弱性対応リスト
2025 年 10 月時点での情報となりますが、ドメイン コントローラーの更新プログラム適用状況の差異によって、互換性の問題が発生しうる脆弱性対応は以下の通りです。各脆弱性対応の箇所と、各フェーズの時期をまとめました。
なお、各フェーズは以下のような意味を持ちます。
-
<初期展開フェーズ>:脆弱性に対応する追加のセキュリティが実装されます。ただしこの時点では対象の脆弱性のある通信や認証はブロックされません
-
<強制フェーズ>:更新プログラムを適用すると対象の脆弱性のある通信や認証は完全にブロックされます
つまり、更新プログラムの適用やドメイン コントローラーの追加昇格などを行う場合には、以下記載の脆弱性対応ごとに、初期展開フェーズ未満のドメイン コントローラーと、強制フェーズ以降のドメイン コントローラーが共存しないよう 考慮することで安全に作業を進めることが出来ます。
CVE-2020-17049 (Kerberos 委任シナリオの脆弱性への対処)
初期展開フェーズ: 2020 年 12 月
強制フェーズ: 2021 年 7 月
CVE-2020-16996 (Kerberos リソースベースの制約付き委任シナリオの脆弱性への対処)
初期展開フェーズ: 2020 年 12 月
強制フェーズ: 2021 年 3 月
CVE-2021-42287 (Kerberos 全般の脆弱性への対処)
初期展開フェーズ: 2021 年 11 月
強制フェーズ: 2022 年 10 月
CVE-2022-37967 (Kerberos 委任シナリオの脆弱性への対処)
初期展開フェーズ: 2022 年 11 月
強制フェーズ: 2023 年 7 月
(※正確には 2023 年 7 月 時点では既定の動作が強制となるフェーズであり、レジストリ変更によるロールバックが可能です。完全な強制フェーズは 2023 年 10 月 となります)
<ガントチャート>※青線が初期展開フェーズ、白丸が強制フェーズ

上記4点の内、CVE-2021-42287 については特定の Kerberos 認証の利用パターンに限定されないため、多くの組織にて問題が表面化しやすいです。Kerberos 委任のような構成が無い組織においても少なくとも CVE-2021-42287 については考慮頂き、更新プログラム適用を進めることをお勧めします。
また、Kerberos チケットキャッシュは既定で1週間保持するため、更新プログラム適用後、少なくとも1週間以上期間を空けて次の更新プログラムを適用頂くことをお勧めします。
警告
2024 年 4 月にリリースされた更新プログラムに含まれる CVE-2024-26248, CVE-2024-29056 についても更新プログラムの互換性を意識する必要がありますが、これはドメイン コントローラー間ではなく、ドメイン コントローラーとリソースサーバー間で更新プログラムの適用状況を考慮頂くものとなるため、今回のリストからは除いています。具体的には、『ドメイン コントローラーにて 2024 年 4 月以降の更新プログラムが適用されていない』 かつ、『リソースサーバーにて、2025 年 1 月以降 (既定で強制フェーズ) の更新プログラムが適用されている』という状況の場合に、Kerberos 認証に問題が生じる可能性があります。
さいごに
冒頭の通り、更新プログラムを常に最新の状態に保つことはセキュリティ上非常に重要な対策です。
Active Directory においては更新プログラムの互換性を意識する必要もあり複雑ではありますが、出来る限り互換性の問題が考慮しなくてもいいように、全てのドメイン コントローラーに定常的に更新プログラムを適用頂く事を是非検討いただければと思います。