KB5014754:Windows 網域控制器上的憑證認證變更

套用到
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 Service Pack 2 Windows Server 2016, all editions Windows Server, version 20H2, all editions Windows Server 2022 Windows Server 2019
變更日誌
變更日期 描述
9/10/2025 更正執法模式日期,從 2025 年 9 月 10 日到 2025 年 9 月 9 日。
9/8/2025 新增了「額外資源」部分的參考......在 Intune 憑證中實作強映射。
7/29/2025 在「故障排除」區塊新增了「已知問題」......群組原則物件可能會干擾「基於名稱的映射」
10/24/2024 為清晰度更新了「採取行動」部分第 2 步的文字,並在「Windows 更新時間軸」部分的「全面執行模式」描述中,並修訂了「登錄金鑰資訊」章節中「KDC) 登錄金鑰 (金鑰分發中心」及「憑證回溯登錄金鑰」主題的日期資訊。
9/10/2024 更改了「Windows 更新時間」區塊中的完整強制模式描述,以反映新的日期。 2025 年 2 月 11 日,將將裝置移至強制模式,但客服將回歸相容模式。 完整的登錄組金鑰支援將於 2025 年 9 月 9 日結束。
7/5/2024 在「登錄檔金鑰資訊」部分新增了關於 SID 擴展至金鑰分發中心 (KDC) 登錄金鑰的資訊。
2023 年 10 月 10 日 新增「Windows 匯報時間軸」下強映射預設變更的資訊
6/30/2023 全面執法模式日期由2023年11月14日更改為2025年2月11日, (這些日期先前為2023年5月19日至2023年11月14日) 。
1/26/2023 將 Disabled 模式的移除從 2023 年 2 月 14 日改為 2023 年 4 月 11 日。

摘要

CVE-2022-34691、CVE-2022-26931CVE-2022-26923 針對 Kerberos 金鑰分發中心 (KDC) 服務基於憑證的認證請求時,可能發生的權限提升漏洞。 在 2022 年 5 月 10 日的安全更新之前,基於憑證的認證無法考慮機器名稱末尾的美元符號 () 美元。 這使得相關憑證能夠以多種方式被模擬 (偽造) 。 此外,UPN) 與 sAMAccountName (用戶主體名稱之間的衝突,也引入了其他模擬 (偽造) 漏洞,我們也在本次安全更新中加以解決。

採取行動

為了保護您的環境,請完成以下基於憑證的認證步驟:

  1. 請以 202.2 年 5 月 10 日更新所有執行 Active Directory 憑證服務及 Windows 網域控制器的伺服器, (見 相容模式) 。 2022 年 5 月 10 日的更新將提供 審計事件 ,識別與全面執行模式不相容的憑證。
  2. 如果安裝更新後一個月內網域控制中心沒有建立稽核事件日誌,請繼續在所有網域控制器啟用 全面強制模式 。 到 2025 年 2 月,如果 StrongCertificateBindingEnforcement 登錄金鑰未被設定,網域控制器將切換到全面強制模式。 否則,登錄檔鍵的相容模式設定將持續被遵守。 在全面執行模式下,若憑證未通過強 (安全) 映射標準 (見 憑證映射) ,認證將被拒絕。 不過,回到相容模式的選項將保留到2025年9月9日的Windows安全更新安裝前。

審計事件

2022 年 5 月 10 日的 Windows 更新新增了以下事件日誌。

沒有強映射

找不到強憑證對應,且該憑證也沒有 KDC 可驗證的新安全識別碼 (SID) 擴充。

活動紀錄 系統
事件類型 若 KDC 處於相容模式,請注意
若 KDC 處於執行模式,則會出錯
事件來源 Kdcsvc
事件識別碼 39
41 (2008 年 R2 SP1 Windows Server Windows Server 2008 年 SP2)
活動正文 KDC (金鑰分發中心) 遇到有效但無法以明確映射、金鑰信任映射或 SID) 等強 (方式映射給使用者的使用者憑證。 此類憑證應被替換或透過明確映射直接映射給使用者。 請參見 https://go.microsoft.com/fwlink/?linkid=2189925 以了解更多資訊。
使用者: <主要名稱>
證書主題: <證書中的科目名稱>
憑證發行者: <FQDN (完全合格網域名稱的發行人) >
證書序號: <證書序號>
證書指紋: <證書的指紋>
證書早於帳戶

憑證是在使用者尚未出現在 Active Directory 之前就已簽發給該使用者,且找不到強映射。 此事件僅在 KDC 處於相容模式下時被記錄。

活動紀錄 系統
事件類型 錯誤
事件來源 Kdcsvc
事件識別碼 40
48 (2008 年 R2 SP1 Windows Server 及 2008 年 SP2 Windows Server
活動正文 KDC (金鑰分發中心) 遇到有效但無法以明確映射、金鑰信任映射或 SID) 等強 (方式映射給使用者的使用者憑證。 該憑證的日期也早於它映射的使用者,因此被拒絕了。 請參見 https://go.microsoft.com/fwlink/?linkid=2189925 以了解更多資訊。
使用者: <主要名稱>
證書主題: <證書中的科目名稱>
憑證發行者: <發行人FQDN>
證書序號: <證書序號>
證書指紋: <證書的指紋>
憑證發行時間: <憑證的 FILETIME>
帳號建立時間: <AD 中主物件的 FILETIME>
使用者的 SID 與憑證 SID 不符

使用者憑證新擴充中包含的 SID 與使用者的 SID 不符,暗示該憑證已簽發給另一位使用者。

活動紀錄 系統
事件類型 錯誤
事件來源 Kdcsvc
事件識別碼 41
49 (2008 R2 SP1 與 2008 Windows Server Windows Server SP2)
活動正文 KDC (Key Distribution Center) 遇到一張有效但包含與其對應使用者不同的 SID 的使用者憑證。 因此,涉及該憑證的請求失敗。 請參考 https://go.microsoft.cm/fwlink/?linkid=2189925 了解更多資訊。
使用者: <主要名稱>
使用者 SID: <認證主體的 SID>
證書主題: <證書中的科目名稱>
憑證發行者: <發行人FQDN>
證書序號: <證書序號>
證書指紋: <證書的指紋>
憑證 SID: <新憑證擴充中發現的 SID>

憑證映射

網域管理員可利用使用者物件的 altSecurityIdentities 屬性,手動將憑證映射給 Active Directory。 此屬性有六個支援值,其中三個映射被視為弱 (不安全) ,另外三個被視為強值。 一般來說,如果映射類型是基於無法重複使用的識別碼,則被視為強映射類型。 因此,所有基於使用者名稱和電子郵件地址的映射類型都被視為弱。

對應 範例 類型 註解
X509發行主體 「X509:<I>發行人名稱<S>主旨名稱」
X509僅受試者 「X509:<S>主旨名稱」
X509RFC822 「X509:<RFC822>user@contoso.com」 電子郵件地址
X509 發行者序號 「X509:<I>發行者名稱<SR>1234567890」 強壯 推薦項目
X509SKI 「X509:<SKI>123456789abcdef」 強壯
X509SHA1PublicKey 「X509:<SHA1-PUKEY>123456789abcdef」 強壯

若客戶無法重新簽發新SID擴充功能憑證,我們建議您使用上述強映射之一手動建立映射。 你可以在 Active Directory 的 altSecurityIdentities 屬性中加入適當的映射字串來達成。

手動映射憑證

某些欄位,如發行人、主題及序號,則以「轉發」格式報告。 當你將映射字串加入 altSecurityIdentities 屬性時,必須反轉這個格式。 例如,要將 X509IssuerSerialNumber 映射到使用者,請搜尋你想映射到使用者的憑證中的「Issuer」和「Serial Number」欄位。 請參考下方的範例輸出。

  • 發行人:CN=CONTOSO-DC-CA,DC=contoso,DC=com
  • 序號:2B000000011AC0000000012

接著,將使用者在 Active Directory 中的 altSecurityIdentities 屬性更新為以下字串:

  • “X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>12000000000AC110000000002B”

要用 Powershell 更新這個屬性,你可以使用下面的指令。 請記住,預設情況下,只有網域管理員有權限更新此屬性。

  • set-aduser 'DomainUser' -replace @{altSecurityIdentities= “X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>1200000000000AC11000000002B”}

請注意,當你反轉序號時,必須保留位元組順序。 這表示將序號「A1B2C3」反向應產生「C3B2A1」字串, 而非 「3C2B1A」。 欲了解更多資訊,請參閱 HowTo:透過 altSecurityIdentity 屬性中所有可用的方法將使用者映射到憑證

Windows 更新時間軸

重要 啟用階段從 2023 年 4 月 11 日的 Windows 更新開始,該更新將忽略 Disabled 模式登錄檔金鑰設定。

相容模式

安裝 2022 年 5 月 10 日的 Windows 更新後,裝置將進入相容模式。 如果憑證能強映射到使用者,認證將如預期般發生。 如果憑證只能弱映射到使用者,認證會如預期般發生。 不過,除非憑證比使用者還舊,否則會記錄警告訊息。 若憑證比使用者更早,且憑證回溯登錄金鑰不存在,或範圍超出回溯補償範圍,認證將失敗,並會記錄錯誤訊息。  如果設定了憑證回溯登錄金鑰,若日期落在回溯補償範圍內,會在事件日誌中記錄警告訊息。

安裝 2022 年 5 月 10 日的 Windows 更新後,請留意任何可能在一個月或更久後出現的警告訊息。 若無警告訊息,我們強烈建議您在所有網域控制站啟用基於憑證的驗證的全面強制模式。 你可以使用 KDC 登錄檔金鑰 來啟用全面執行模式。

全面執法模式

除非先前使用 StrongCertificateBindingEnforcement 登錄檔金鑰更新至稽核模式或強制模式,否則 2025 年 2 月的 Windows 安全更新安裝後,網域控制站將切換至全面強制模式。 若憑證無法被強映射,認證將被拒絕。 回到相容模式的選項將持續到2025年9月9日的Windows安全更新安裝完成。 此日期之後, StrongCertificateBindingEnforcement 登錄金鑰將不再支援

失效模式

如果憑證式驗證依賴於一個你無法從環境中移動的弱映射,你可以利用 登錄檔金鑰設定將網域控制器設為停用模式。 Microsoft 不建議 這麼做,我們將於 2023 年 4 月 11 日移除停用模式。

強映射預設變更

一旦您在 Server 2019 及以上版本安裝 2024 年 2 月 13 日或之後的 Windows 更新,並安裝了 RSAT 可選功能的支援用戶端,Active Directory 使用者 & 電腦中的憑證映射將預設為使用 X509IssuerSerialNumber 的強映射,而非使用 X509IssuerSubject 的弱映射。 設定仍可依照喜好調整。

疑難排解

群組原則物件可能會干擾「基於名稱的映射」

問題

Microsoft 收到報告指出,在群組原則物件電腦組態>管理範本系統>>群組原則>配置登錄檔政策處理」下,設定「即使群組原則物件未變更仍處理」可能會間歇性干擾網域控制器上的名稱映射。

因應措施

要解決這個問題,請在網域控制器中停用「即使群組原則物件未變更仍處理」的設定。 只有在需要群組原則「電腦配置>管理範本系統>>KDC> 允許憑證強映射名稱」中定義的基於名稱的映射時,才會使用此操作。 欲了解更多資訊,請參閱 「在政府情境中啟用強名稱基礎映射」。

後續步驟

我們正在調查這些報告,並在有更多資訊時提供。

安裝 CVE-2022-26931 與 CVE-26923 保護後無法登入
  • 使用相關電腦上的 Kerberos 操作日誌來判斷是哪個網域控制器未能登入。 前往事件檢視器>應用與服務日誌\Microsoft \Windows\安全-Kerberos\運作。
  • 在網域控制器的系統事件日誌中尋找該帳戶嘗試驗證的相關事件。
  • 若憑證比帳號更舊,請重新核發憑證或為帳號新增安全的 altSecurityIdentities 映射 (詳見 憑證映射) 。
  • 如果憑證中有 SID 延伸,請確認 SID 是否與帳號相符。
  • 如果憑證被用來驗證多個不同的帳號,每個帳號都需要獨立的 altSecurityIdentities 映射。
  • 如果憑證沒有安全對應到帳號,請新增一個,或將網域維持在相容模式,直到能新增。
無法使用傳輸層安全性 (TLS) 憑證映射進行驗證

TLS 憑證映射的一個範例是使用 IIS 內聯網網頁應用程式。

  • 安裝 CVE-2022-26391CVE-2022-26923 保護後,這些情境預設使用 Kerberos 憑證服務用戶 (S4U) 協定進行憑證映射與認證。
  • 在 Kerberos 憑證 S4U 協定中,認證請求是從應用伺服器流向網域控制器,而非從用戶端傳送到網域控制器。 因此,相關事件會顯示在應用程式伺服器上。

登錄機碼資訊

在 2022 年 5 月 10 日至 2025 年 9 月 9 日或之後發布的 Windows 更新中安裝 CVE-2022-26931 和 CVE-26923 保護後,以下登錄檔金鑰即可使用。

KDC () 登錄金鑰的金鑰分發中心

安裝 Windows 更新後,此登錄檔金鑰將不再支援。

注意

  • 重要

  • 使用此登錄檔金鑰是對需要使用該登錄檔的環境的臨時變通,且必須謹慎使用。 使用此登錄檔金鑰對您的環境意味著以下情況:

  • 此登錄檔金鑰僅能在 相容模式下 運作,從 2022 年 5 月 10 日釋出的更新開始。

  • 安裝 Windows 更新後,此登錄檔金鑰將不再支援。

  • 強憑證綁定強制使用的 SID 擴充偵測與驗證依賴於 KDC 登錄金鑰 UseSubjectAltName 值。 如果註冊表值不存在或值設定為 0x1,則會使用 SID 擴充。 若存在 UseSubjectAltName 且值設為 0x0,則不會使用 SID 擴充功能。

登錄子機碼 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc
強證書約束力執行
資料類型 REG_DWORD
資料 1 – 檢查是否有強的憑證映射。 如果是,則允許進行認證。 否則,KDC 會檢查憑證是否有新的 SID 擴展名並進行驗證。 若此擴充功能不存在,若使用者帳號早於憑證,則允許進行認證。
2 – 檢查是否有強的憑證映射。 如果是,則允許進行認證。 否則,KDC 會檢查憑證是否有新的 SID 擴展名並進行驗證。 若此擴充功能不存在,則驗證將被拒絕。
0 – 停用強憑證映射檢查。 不建議這麼做,因為這會讓所有安全強化功能失效。
若將此設定為 0,則必須依照下方 Schannel 登錄金鑰章節所述,將 CertificateMappingMethods 設為 0x1F,電腦憑證驗證才能成功。
需要重新開始嗎?
SChannel 登錄檔金鑰

當伺服器應用程式需要客戶端認證時,Schannel 會自動嘗試將 TLS 客戶端提供的憑證映射到使用者帳號。 你可以透過建立將憑證資訊與 Windows 使用者帳號關聯起來的映射,來驗證使用客戶端憑證登入的使用者。 建立並啟用憑證映射後,每次用戶端呈現用戶端憑證時,伺服器應用程式會自動將該使用者與相應的 Windows 使用者帳號關聯。

Schannel 會嘗試映射你啟用的每一種憑證映射方法,直到其中一種成功為止。 Schannel 嘗試先將 S4U2Self) 映射映射為用戶服務(Service-For-User-To-Self) ( 主體/發行者、發行者及 UPN 憑證映射現被視為弱,預設已停用。 所選選項的位元遮罩總和決定可用的憑證映射方法清單。

SChannel 登錄檔金鑰的預設值是0x1F,現在是0x18。 如果您在使用 Schannel 伺服器應用程式時遇到認證失敗,建議您進行測試。 在網域控制器上新增或修改 CertificateMappingMethods 的登錄鍵值,並將其設為 0x1F,看看是否能解決問題。 請查看網域控制器的系統事件日誌,尋找本文中列出的任何錯誤資訊。 請注意,將 SChannel 登錄檔金鑰值改回先前的預設 (0x1F) 會回復到使用弱憑證映射方法。

登錄子機碼 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel
憑證映射方法
資料類型 DWORD
資料 0x0001 - 主體/發行憑證對應 (弱 – 預設為停用)
0x0002 - 發行者憑證映射 (弱 – 預設為停用)
0x0004 - UPN 憑證映射 (弱 – 預設已停用)
0x0008 - S4U2Self 憑證映射 (強)
0x0010 - S4U2Self 明確憑證映射 (強)
需要重新開始嗎?

如需更多資源與支援,請參閱「額外資源」章節。

憑證回溯登錄檔金鑰

在安裝針對 CVE-2022-26931CVE-2022-26923 的更新後,若使用者憑證比使用者建立時間還舊,認證可能會失敗。 當你在環境中使用較弱 的憑證映射 ,且憑證時間在設定範圍內先於使用者建立時間時,這個登錄金鑰能成功驗證。 此登錄檔金鑰不會影響擁有強憑證映射的使用者或機器,因為憑證時間與建立時間不會被強憑證映射檢查。 當 StrongCertificateBindingEnforcement 設為 2 時,此登錄金鑰不生效。

使用此登錄檔金鑰是對需要使用該登錄檔的環境的臨時變通,且必須謹慎使用。 使用此登錄檔金鑰對您的環境意味著以下情況:

  • 此登錄檔金鑰僅能在 相容模式下 運作,從 2022 年 5 月 10 日釋出的更新開始。 在回溯補償抵消範圍內允許認證,但弱綁定會記錄事件日誌警告。
  • 啟用此登錄檔金鑰可於憑證時間在設定範圍內先於使用者建立時間時,作為弱映射進行使用者認證。 在 2025 年 9 月或之後安裝 Windows 更新後,弱映射將不再支援。
登錄子機碼 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc
證書回溯補償
資料類型 REG_DWORD
資料 約年級的臨時應變數值:

  • 50年:0x5E0C89C0
  • 25年:0x2EFE0780
  • 10年:0x12CC0300
  • 5年:0x9660180
  • 3年:0x5A39A80
  • 1年:0x1E13380
如果你知道環境中憑證的壽命,請將此登錄金鑰設定為比憑證壽命稍長的值。 如果你不知道環境的憑證壽命,請將此登錄檔金鑰設為 50 年。 當此金鑰不存在時,預設為 10 分鐘,與 Active Directory 憑證服務 (ADCS) 相符。 最高價值為50年 (0x5E0C89C0) 。

此金鑰設定了金鑰分發中心 (KDC) 忽略的驗證憑證核發時間與使用者/機器帳號建立時間之間的時間差,單位為秒數。

重要 只有當你的環境需要時才設定這個登錄檔金鑰。 使用這個登錄檔金鑰就是停用安全檢查。
需要重新開始嗎?

企業憑證授權中心

加州企業憑證授權中心 () 將開始在安裝 2022 年 5 月 10 日 Windows 更新後,所有針對線上範本發出的憑證中,預設新增一個非關鍵擴充名,物件識別碼為 OID) ( (1.3.6.1.4.1.311.25.2) 。 你可以透過在對應模板的 msPKI-Enrollment-Flag 值中設定 0x00080000 位元來阻止這個擴充的加入。

範例

你執行以下 certutil 指令,將 使用者 範本的憑證排除在新擴充功能之外。

  1. 請以企業管理員或等效憑證登入憑證管理中心伺服器或已加入網域的 Windows 10 用戶端。
  2. 打開命令提示字元,選擇 以管理員身份執行
  3. Run certutil -dstemplate user msPKI-Enrollment-Flag +0x00080000.

停用此延伸將移除新擴展所提供的保護。 請考慮在以下其中一項之後進行:

  1. 你確認對應的憑證不適用於 KDC 的 Kerberos 協議認證中 (PKINIT) 的公開金鑰密碼學初始認證
  2. 對應的憑證則有其他強憑證映射配置

安裝 2022 年 5 月 10 日 Windows 更新後,非 Microsoft CA 部署的環境將無法受到新 SID 擴充功能的保護。 受影響的客戶應與相應的憑證憑證供應商合作解決此問題,或考慮使用上述其他強韌的憑證映射。

如需更多資源與支援,請參閱「額外資源」章節。

常見問題集

一旦 CA 更新,所有客戶端認證憑證都必須更新嗎?

不,不需要續約。 CA 會以相容模式出貨。 如果你想用 ObjectSID 擴充功能建立強映射,就需要新的憑證。

全面執法模式會如何影響我的環境?

在 2025 年 2 月 11 日的 Windows 更新中,尚未進入強制執行 (StrongCertificateBindingEnforcement 登錄值設為 2) 的裝置,將被移至強制執行狀態。 若驗證被拒,您將看到 2008 R2 SP1 Windows Server 事件 ID 39 (或事件 ID 41,Windows Server 2008 SP2) 。 此階段你可以選擇將登錄鍵值設回 1 (相容模式) 。

在 2025 年 9 月 9 日的 Windows 更新中, StrongCertificateBindingEnforcement 登錄檔值將不再支援。

其他資源

欲了解更多關於 TLS 用戶端憑證映射的資訊,請參閱以下文章: