treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

Windows Serverの11月の月例更新で問題あり?

Windows Updateの月例更新11月分の更新で、なにか問題が出ているらしい?ということで、調べている最中の記録。
主な環境はWindows ServerなのでWindows10には関係なさそう。

連日のMicrosoft Security Update Minor Revisions

対象となる脆弱性の番号は「CVE-2020-17049」です。連日情報の更新が発生していました。

CVE-2020-17049 | KerberosKDCセキュリティ機能のバイパスの脆弱性
https://msrc.microsoft.com/update-guide/ja-JP/vulnerability/CVE-2020-17049

にて、
「バージョン:1.1」では、「エグゼクティブサマリーを追加し、FAQをさらに更新しました」と情報の更新がされた趣旨の更新となっていますが、翌日「バージョン:1.2」が配信されており、

f:id:treedown:20201116163811p:plain
「改定の理由:Kdcレジストリサブキーの既知の問題に対処するため」と記載があって、「設定では、マイクロソフトはこの更新プログラムを展開するためのガイダンスを改訂しました。更新された情報については、FAQセクションを参照してください。」と記載があります、

さっそく文中の<https://msrc.microsoft.com/update-guide/ja-JP/vulnerability/CVE-2020-17049>を確認してみることにします。

脆弱性の概要

抜粋(原文は英文のみ)
--------------------------------------------------------------
概要
A security feature bypass vulnerability exists in the way Key Distribution Center (KDC) determines if a service ticket can be used for delegation via Kerberos Constrained Delegation (KCD).

Key Distribution Center(KDC)が、Kerberos Constrained Delegation(KCD)を介した委任にサービスチケットを使用できるかどうかを判断する方法に、セキュリティ機能バイパスの脆弱性が存在します。

To exploit the vulnerability, a compromised service that is configured to use KCD could tamper with a service ticket that is not valid for delegation to force the KDC to accept it.

この脆弱性を悪用するために、KCDを使用するように構成された侵害されたサービスが、委任に無効なサービスチケットを改ざんして、KDCにそれを受け入れさせる可能性があります。

The update addresses this vulnerability by changing how the KDC validates service tickets used with KCD.

このアップデートでは、KDCがKCDで使用されるサービスチケットを検証する方法を変更することで、この脆弱性に対処しています。
--------------------------------------------------------------

追加の手順(問題の発生)

窓の杜でも報じられて<https://forest.watch.impress.co.jp/docs/news/1289308.html>いますが、どうも11月の月例更新を適用したあとのWindows Serverで不具合が起きているらしい。

前述のURLの文書にある「追加の手順はありますか?」の欄に詳細が記載されていました。
(以下抜粋、原文は英文のみ)
--------------------------------------------------------------
Are there any additional steps I need to take during deployment of this update?
この更新プログラムの展開中に実行する必要のある追加の手順はありますか?

These steps should be followed for deployment:
展開するには、次の手順に従う必要があります。

Locate the Kdc registry subkey, and if it exists on the system, ensure that it is set to 1.
Kdcレジストリサブキーを見つけ、システムに存在する場合は、1に設定されていることを確認します。

Complete the deployment to all DCs (and Read-Only DCs) in your forest.
フォレスト内のすべてのDC(および読み取り専用DC)への展開を完了します。

Note that following our original guidance of using the 0 setting could cause known issues with the S4USelf feature of Kerberos. We are working to address this known issue.
0にする設定を使用するという当初のガイダンスに従うと、KerberosのS4USelf機能で既知の問題が発生する可能性があることに注意してください。私たちはこの既知の問題に対処するために取り組んでいます。

If you wish to be notified when this issue has been addressed, we recommend that you register for the security notifications mailer to be alerted of the issue resolution. See Microsoft Technical Security Notifications.
この問題が解決されたときに通知を受け取りたい場合は、セキュリティ通知メーラーに登録して、問題の解決を通知することをお勧めします。マイクロソフトテクニカルセキュリティ通知を参照してください。
--------------------------------------------------------------
次いで

レジストリの「PerformTicketSignature」のキーの値(Data)についての解説があります。
--------------------------------------------------------------
0 – This disables ticket signatures and your domains are not protected. Important Do not use this setting until further notice. There is a known issue that could cause the S4USelf feature of Kerberos to become non-functional.

0 –これはチケット署名を無効にし、ドメインは保護されません。 重要:この設定は、追って通知があるまで使用しないでください。 KerberosのS4USelf機能が機能しなくなる可能性のある既知の問題があります。


1 – The fix is enabled on the domain controller but the DC does not require that tickets conform to the fix.

1 –修正はドメインコントローラーで有効になっていますが、DCはチケットが修正に準拠している必要はありません。


2 – This enables the fix in required mode where all domains must be patched and all DCs require tickets with signatures.

2 –これにより、すべてのドメインにパッチを適用する必要があり、すべてのDCが署名付きのチケットを必要とする必須モードでの修正が可能になります。
--------------------------------------------------------------

なお、デフォルト値は「1」になっていることも文書内では示唆されています。
さらに続けて、

--------------------------------------------------------------
How does this patch affect third-party Kerberos clients?
このパッチはサードパーティのKerberosクライアントにどのように影響しますか?

When the registry key is set to 1, patched domain controllers will issue service tickets and Ticket-Granting Tickets (TGT)s that are not renewable and will refuse to renew existing service tickets and TGTs.

レジストリキーが1に設定されている場合、パッチが適用されたドメインコントローラーは、更新できないサービスチケットとチケット許可チケット(TGT)を発行し、既存のサービスチケットとTGTの更新を拒否します。

Windows clients are not impacted by this since they never renew service tickets or TGTs.

Windowsクライアントは、サービスチケットまたはTGTを更新しないため、この影響を受けません。

Third-party Kerberos clients may fail to renew service tickets or TGTs acquired from unpatched DCs.

サードパーティのKerberosクライアントは、パッチが適用されていないDCから取得したサービスチケットまたはTGTの更新に失敗する場合があります。

If all DCs are patched with the registry set to 1, third-party clients will no longer receive renewable tickets.

すべてのDCにレジストリが1に設定されたパッチが適用されている場合、サードパーティのクライアントは更新可能なチケットを受信しなくなります。
--------------------------------------------------------------

と記載があり、Windowsクライアントは影響を受けないことや、11月の月例更新を適用したことにより、「PerformTicketSignature」のキーの値が「1」になることで、サードパーティーのKerberosクライアントにサービスチケットの更新で問題が発生してしまうことが記載されていました。

11月の月例更新でDCを更新したら問題が発生?

別のURL<https://docs.microsoft.com/en-us/windows/release-information/status-windows-10-20h2#1522msgdesc>には、「Domain controllers in your enterprise might encounter Kerberos authentication issues」という文書が提示されており、上述の「PerformTicketSignature」のキーの値が"どの値であっても"何かしらの問題が発生するという記述が見て取れます。
※どの値でどんな問題に繋がるかは上記URLの<Windows 10, version 20H2 and Windows Server, version 20H2 | Microsoft Docs>で確認。(以下キャプチャ)

f:id:treedown:20201116164232p:plain

読んでみた感じでは、

Active Directory内のドメインコントローラにWindows Updateの11月の月例更新を適用したタイミングで発生する

という起点と、

どの値でも何かしらの影響が発生する(ただしその環境によって発生しても動作に影響がないかも(例:使ってない機能が影響を受ける場合など)しれない。(加えてWindows Server 2008が存在しているとより話はややこしい。)

ということと、

現在、問題の解決に取り組んでいる最中なので、都度情報はアップデートされる

ということが読み取れました。

更新を待ちたいと思います。ドメインコントローラの11月のWindows Updateはちょっと様子見したほうがいいのかなぁ…。

追記:2020/11/18

新たに修正版の更新プログラムがリリースしたようです。ただし現状はMicrosoft Update Catalogでのみダウンロード可能で、Windows UpdateやWSUSでは提供されていない模様。

■Windows Server 2019用(KB4594442)
https://www.catalog.update.microsoft.com/Search.aspx?q=KB4594442

■Windows Server 2012 R2用(KB4594439)
https://www.catalog.update.microsoft.com/Search.aspx?q=KB4594439

■Windows Server 2012用(KB4594438)
https://www.catalog.update.microsoft.com/Search.aspx?q=KB4594438

さらに、これを見る限りではWindows Server 2016用の修正の更新プログラムはリリースしていない模様。まだ待つ必要がありそうです。

追記:2020/11/24

修正の更新プログラムが追加でリリースしていました。

■Windows Server 2016
https://www.catalog.update.microsoft.com/Search.aspx?q=KB4594441

これでLTSCバージョンのWindows Server向けの更新版パッチが出揃ったことになります。

月例の更新プログラム適用後に動作に不具合があればこれを適用することになりそうです。※既知の問題もあるので注意も必要そうです。

さしあたって必要そうな解説のリンク

2019⇒https://support.microsoft.com/ja-jp/help/4594442/windows-10-update-kb4594442
2016⇒https://support.microsoft.com/ja-jp/help/4594441/windows-10-update-kb4594441

ここに「PerformTicketSignature レジストリ サブキー値に関連する Kerberos 認証の問題に対処します。」という表記と、「「0x800f0982 - PSFX_E_MATCHING_COMPONENT_NOT_FOUND」というエラーが発生することがあります。」という表記があることが読み取れます。