KB5021131:如何管理與 CVE-2022-37966 相關的 Kerberos 通訊協定變更

Applies To
Windows Server 2022 Windows Server 2019, all editions Windows Server 2016, all editions Windows Server 2012 R2 Windows Server 2012 Windows Server 2008 R2 Enterprise ESU Windows Server 2008 R2 Standard ESU Windows Server 2008 R2 Datacenter ESU Windows Server 2008 Datacenter ESU Windows Server 2008 Standard ESU Windows Server 2008 Enterprise ESU

變更記錄

變更 1: 2023 年 6 月 19 日:
  • 在 [摘要] 區段中釐清了「協助保護...」開頭的句子。
  • 在 DefaultDomainSupportedEncTypes 登錄機碼設定中,將更多資訊新增至 注意事項。

本文內容

摘要

在 2022 年 11 月 8 日或之後發行的 Windows 更新會透過使用弱式 RC4-HMAC 協定,解決 [驗證協定] 的安全性旁路和權限提高弱點。

此更新會針對尚未以預設加密類型標示的帳戶,將 AES 設定為工作階段金鑰的預設加密類型。

為了協助保護您的環境,請將 2022 年 11 月 8 日或之後發行的 Windows 更新安裝到所有裝置,包括網域控制站。 請查看 變更 1。

若要深入瞭解這些弱點,請參閱 CVE-2022-37966。

探索明確設定工作階段金鑰加密類型

您的使用者帳戶上可能已明確定義易受 CVE-2022-37966 攻擊的加密類型。 使用下列 Active Directory 查詢尋找已明確啟用 DES / RC4 但未啟用 AES 的帳戶:

-

Get-ADObject -Filter "msDS-supportedEncryptionTypes -bor 0x7 -and -not msDS-supportedEncryptionTypes -bor 0x18"

登錄機碼設定

安裝日期為 2022 年 11 月 8 日或之後的 Windows 更新後,以下登錄機碼可用於 Kerberos 通訊協定:

DefaultDomainSupportedEncTypes

登錄機碼 HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\KDC
值 DefaultDomainSupportedEncTypes
資料類型 REG_DWORD
資料值 0x27 (預設)
需要重新啟動? 否

備註 如果您必須變更 Active Directory 使用者或電腦的預設支援加密類型,請手動新增並設定登錄機碼以設定新的支援加密類型。  此更新不會自動新增登錄機碼。

Windows 網域控制站使用此值來判斷 Active Directory 中 msds-SupportedEncryptionType 值為空白或未設定之帳戶的支援加密類型。 執行 Windows 作業系統支援版本的電腦會自動在 Active Directory 中為該電腦帳戶設定 msds-SupportedEncryptionTypes 。 這是根據允許使用之 Kerberos 通訊協定的加密類型設定值。 如需詳細資訊,請參閱 網路安全性:設定 Kerberos 允許的加密類型。

使用者帳戶、群組受管理服務帳戶,以及 Active Directory 中的其他帳戶未自動設定 msds-SupportedEncryptionTypes 值。

若要尋找可手動設定的支援加密類型,請參閱支援的 加密類型位元旗標。 如需詳細資訊,請參閱「首先應該做什麼來協助準備環境並防止 Kerberos 驗證問題」。

已選擇預設值 0x27 (DES, RC4, AES Session Keys) 做為此安全性更新所需的最小變更。 我們建議客戶將值設為 0x3C 以提升安全性,因為此值會同時允許 AES 加密的票證和 AES 工作階段金鑰。 如果客戶已遵循我們的指導方針並移至 AES 專用環境,其中 RC4 不用於 Kerberos 通訊協定,建議客戶將值設為 0x38。 請查看 變更 1。

Kerberos 金鑰發佈中心缺少帳戶的強金鑰

事件記錄檔 系統
事件類型 錯誤
事件來源 Kdcsvc
事件識別碼 42
事件文字 Kerberos 金鑰發佈中心缺少帳戶的強金鑰:帳戶名稱。 您必須更新此帳戶的密碼,以避免使用不安全的密碼。 請參閱 https://go.microsoft.com/fwlink/?linkid=2210019 以深入瞭解。

如果您找到此錯誤,您可能必須在設定 KrbtgtFullPacSingature = 3 之前先重設 krbtgt 密碼,或是安裝在 2023 年 7 月 11 日或之後發行的 Windows 匯報。 以程式設計方式啟用 CVE-2022-37967 強制執行模式的更新會記錄於 Microsoft 知識庫中的下列文章:

KB5020805:如何管理與 CVE-2022-37967 相關的 Kerberos 通訊協定變更

若要瞭解如何執行這項操作,請參閱 GitHub 網站上的 New-KrbtgtKeys.ps1 主題。

常見問題集 (FAQ) 和已知問題

我的環境在什麼情況下易受攻擊?

標記為明確使用 RC4 的帳戶是易受攻擊的。 此外,krbgt 帳戶中沒有 AES 工作階段金鑰的環境可能會受到攻擊。 若要減輕此問題,請遵循如何識別弱點的指引,並使用 [登錄機碼設定] 區段來更新明確設定加密預設值。

在網域控制站上安裝 2022 年 11 月 8 日或之後發佈的更新後,我應該首先做什麼來協助準備環境並防止 Kerberos 驗證問題?

您需要驗證所有裝置是否具有常見 Kerberos 加密類型。  如需 Kerberos 加密類型的詳細資訊,請參閱 解密支援的 Kerberos 加密類型選取範圍。

如果網域控制站透過群組原則停用了 RC4,則由於自動新增 RC4 或新增了 AES,沒有常見 Kerberos 加密類型的環境之前可能正常運作。 此行為隨著 2022 年 11 月 8 日或之後發行的更新而變更,現在將嚴格遵循登錄機碼 msds-SupportedEncryptionTypes 和 DefaultDomainSupportedEncTypes 中的設定。

如果帳戶未設定 msds-SupportedEncryptionTypes,或者其設定為 0,則網域控制站將假設預設值 0x27 (39),或者網域控制站將使用登錄機碼 DefaultDomainSupportedEncTypes 中的設定。

如果帳戶已設定 msds-SupportedEncryptionTypes,則此設定將被接受,並且可能會公開設定由先前自動新增 RC4 或 AES 的行為所遮罩的常見 Kerberos 加密類型之失敗,在安裝 2022 年 11 月 8 日或之後發行的更新後不再是此行為。

如需如何驗證您是否具有常見 Kerberos 加密類型的資訊,請參閱問題「如何驗證我的所有裝置是否具有常見 Kerberos 加密類型?」

如何驗證我的所有裝置是否具有常見 Kerberos 加密類型?

請參閱上一個問題,以取得在安裝 2022 年 11 月 8 日或之後發行的更新後,爲什麽您的裝置可能沒有常見 Kerberos 加密類型的更多資訊。

如果您已經安裝了 2022 年 11 月 8 日或之後發行的更新,您可以透過查看 Microsoft-Windows-Kerberos-Key-Distribution-Center 事件 27 的事件記錄檔來偵測不具有常見 Kerberos 加密類型的裝置,其識別 Kerberos 用戶端和遠端伺服器或服務之間不相鄰的的加密類型。

安裝 2022 年 11 月 8 日或之後發行的更新後,我的環境中發生 Kerberos 驗證問題。我是否需要在不執行網域控制站角色的 Windows 用戶端裝置或 Windows 伺服器上解决這些問題?

在用戶端或非網域控制站角色伺服器上安裝 2022 年 11 月 8 日或之後發行的更新不應影響您環境中的 Kerberos 驗證。

在網域控制站上安裝 2022 年 11 月 8 日或之後發行的更新後,我遇到本機安全性授權子系統服務 (LSASS.exe) 記憶體流失。我該怎麼辦?

若要緩解此已知問題,請以系統管理員身分開啟 [命令提示字元] 視窗,並暫時使用下列命令將 登錄機碼 KrbtgtFullPacSignature 設定為 0:

-

reg add "HKLM\System\CurrentControlSet\services\KDC" -v "KrbtgtFullPacSignature" -d 0 -t REG_DWORD

注意

備註 解決此已知問題之後,您應該根據您的環境允許,將 KrbtgtFullPacSignature 設定為較高的設定。 我們建議在您的環境就緒後立即啟用強制模式。

後續步驟 我們正在研究解決方案,將會在未來版本中提供更新。

為什麼我環境中的非 Windows 裝置發生 Kerberos 驗證失敗?

在您的網域控制站上安裝 2022 年 11 月 8 日或之後發行的更新後,所有裝置必須支援 AES 票證簽署,以符合 CVE-2022-37967 所需的安全性強化。

後續步驟 如果您已經為非 Windows 裝置執行了最新的軟體和韌體,並且驗證了 Windows 網域控制站和非 Windows 裝置之間存在可用的常見加密類型,則需要連絡裝置製造商 (OEM) 以取得協助,或者用符合規範的裝置來取代裝置。

注意

重要 不建議使用任何因應措施來允許不相容的裝置進行驗證,因為這可能會讓您的環境容易受到攻擊。

執行不支援 Windows 版本的裝置無法再存取我環境中的資源。此外,在我的環境中,無法從已更新的 Windows 裝置存取這些裝置。我該怎麼辦?

已更新的 Windows 裝置無法存取不支援的 Windows 版本,包括 Windows XP、Windows Server 2003、Windows Server 2008 SP2 和 Windows Server 2008 R2 SP1,除非您擁有 ESU 授權。 如果您擁有 ESU 授權,則需要安裝 2022 年 11 月 8 日或之後發行的更新,並驗證您的設定在所有裝置之間是否具有常見加密類型。

後續步驟 如果更新適用於您的 Windows 版本並且您具有適用的 ESU 授權,請安裝更新。 如果無法使用更新,您需要升級到支援的 Windows 版本,或將任何應用程式或服務移至符合規範的裝置。

注意

重要 不建議使用任何因應措施來允許不相容的裝置進行驗證,因為這可能會讓您的環境容易受到攻擊。

我的所有裝置都有一般加密類型,並且設定為僅使用 AES。為什麼在安裝 2022 年 11 月 8 日更新之後,我仍然看到 Kerberos 驗證錯誤?

此已知問題已在 2022 年 11 月 17 日和 2022 年 11 月 18 日發行的頻外更新中解决,以便在您環境中的所有網域控制站上進行安裝。 您不需要安裝任何更新,或對環境中的其他伺服器或用戶端裝置進行任何變更,以解決此問題。 如果您已使用此問題的任何解決方法或緩和措施,則不再需要它們,建議您將它們移除。

若要取得這些頻外更新的獨立套件,請在 Microsoft Update Catalog 中搜尋 KB 編號。 您可以手動將這些更新匯入 Windows Server Update Services (WSUS) 和 Microsoft Endpoint Configuration Manager。 如需 WSUS 指示,請參閱 WSUS 和目錄網站。 如需設定管理員指示,請參閱 從 Microsoft Update Catalog 匯入更新。

注意

備註 以下更新無法從 Windows Update 取得,且不會自動安裝。

累積更新:

注意

備註 安裝這些累積更新之前,您不需要套用任何先前的更新。 如果您已安裝 2022 年 11 月 8 日發佈的更新,則安裝任何後續的更新 (包括上述更新) 之前,不需要解除安裝受影響的更新。

獨立更新:

注意

附註

  • 如果您對這些版本的 Windows Server 使用僅安全性更新,則只需在 2022 年 11 月安裝這些獨立更新。 僅安全性更新不是累積性,而且您也必須安裝所有先前僅安全性更新,才能完全保持在最新狀態。 每月彙總套件更新是累積性的,包含安全性和所有品質更新。
  • 如果您使用每月彙總套件更新,則必須安裝上述兩個獨立更新來解決此問題,並安裝 2022 年 11 月 8 日發行的每月彙總套件,以接收 2022 年 11 月的品質更新。 如果您已安裝 2022 年 11 月 8 日發佈的更新,則安裝任何後續的更新 (包括上述更新) 之前,不需要解除安裝受影響的更新。
我正在 Windows 裝置上使用應用程式,該應用程式使用 Kerberos 的非 Microsoft 實作,且我發現 Kerberos 驗證問題。我該怎麼辦?

如果您已經驗證了環境的設定,但仍然遇到 Kerberos 的任何非 Microsoft 實作問題,則需要應用程式或裝置開發人員或製造商提供更新或支援。

我在 Active Directory 中為所有設定為非零且未設定任何加密類型位元設定為最低有效 5 位元) 的所有帳戶設定了 msds-SupportedEncryptionTypes (但在網域控制站上安裝 2022 年 11 月 8 日或之後發行的更新後,發生驗證失敗。我該怎麼辦?

執行下列其中一個動作,可以減輕此已知問題:

  • 以位元設定 msds-SupportedEncryptionTypes,或將其設定為目前預設值 0x27 以保留其目前值。 例如:

    • Msds-SuportedEncryptionTypes -bor 0x27
      
  • 將 msds-SupportEncryptionTypes 設定為 0,以使網域控制站使用預設值 0x27。

後續步驟 我們正在研究解決方案,將會在未來版本中提供更新。

字彙

進階加密標準 (AES)

進階加密標準 (AES) 是取代資料加密標準 (DES) 的區塊編碼器。 AES 可用來保護電子資料。 AES 演算法可用來加密 (編碼) 和解密 (解碼) 資訊。 加密會將資料轉換成一種無法理解的形式,稱為加密文字;解密會將資料轉換回其原始形式,稱為純文字。 AES 用於對稱金鑰密碼編譯,表示使用相同的金鑰來進行加密和解密作業。 它也是一個區塊編碼器,表示它是在純文字和加密文字固定大小的區塊上運作,純文字的大小和加密文字的大小必須是此區塊大小的整數倍數。 AES 也稱為 Rijndael 對稱式加密演算法 [FIPS197]。

Kerberos

Kerberos 是一種電腦網路驗證通訊協定,其運作依據是「票證」,可讓節點透過網路通訊,以安全的方式證明彼此的身分識別。

金鑰發佈中心 (KDC)

Kerberos 服務會實施 Kerberos 通訊協定中指定的驗證和票證授與服務。 服務在領域或網域系統管理員選取的電腦上執行;它不存在於網路的每一部電腦上。 它必須可以存取其服務領域的帳戶資料庫。  KDC 會整合到 網域控制站 角色中。 這是提供票證給用戶端以用於驗證服務的網路服務。

RC4-HMAC

RC4-HMAC (RC4) 是金鑰長度可變的對稱式加密演算法。 如需詳細資訊,請參閱 [SCHNEIER] 第 17.1 節。

工作階段金鑰

相對簡短的對稱金鑰 (由用戶端和伺服器根據共用機密) 交涉的密碼編譯金鑰。 工作階段金鑰的生命週期受其關聯的工作階段所限制。 工作階段金鑰必須足夠強大,能夠在工作階段的生命週期內承受密碼分析。

票證授權票證

一種特殊類型的票證,可用來取得其他票證。 在驗證服務 (AS) 交換中的初始驗證後,會取得授票票證 (TGT);之後,使用者就不需要展示認證,但可以使用 TGT 取得後續的票證。