共用方式為


如果停用 Kerberos 的 DES,則會記錄 KDC 事件識別碼 16 或 27

本文說明如何在 Windows 7 和 Windows Server 2008 R2 中啟用 Kerberos 驗證的 DES 加密。

適用於: Windows 7 Service Pack 1、Windows Server 2008 R2 Service Pack 1
原始 KB 編號: 977321

摘要

從 Windows 7 開始,Windows Server 2008 R2 和所有更新版本的 Windows 操作系統、Kerberos 驗證的數據加密標準 (DES) 加密都會停用。 本文說明您可能會在應用程式、安全性和系統記錄檔中收到下列事件的各種案例,因為 DES 加密已停用:

  • KDCEVENT_UNSUPPORTED_ETYPE_REQUEST_TGS
  • KDCEVENT_NO_KEY_INTERSECTION_TGS

此外,本文說明如何在 Windows 7 和 Windows Server 2008 R2 中啟用 Kerberos 驗證的 DES 加密。 如需詳細資訊,請參閱本文的、「原因」和「因應措施」小節。

徵兆

請考量下列案例:

  • 服務會使用只針對執行 Windows 7 或 Windows Server 2008 R2 之電腦上的 DES 加密所設定的使用者帳戶或電腦帳戶。
  • 服務會使用只針對 DES 加密設定的用戶帳戶或電腦帳戶,以及 Windows Server 2008 R2 型域控制器在網域中。
  • 執行 Windows 7 或 Windows Server 2008 R2 的用戶端會使用只針對 DES 加密設定的使用者帳戶或電腦帳戶,連線到服務。
  • 信任關係只會針對 DES 加密進行設定,並包含執行 Windows Server 2008 R2 的域控制器。
  • 應用程式或服務會硬式編碼,只使用 DES 加密。

在上述任何案例中,您可能會在應用程式、安全性和系統記錄檔中,連同 Microsoft-Windows-Kerberos-Key-Distribution-Center 來源一起收到下列事件:

ID 符號名稱 訊息
27 KDCEVENT_UNSUPPORTED_ETYPE_REQUEST_TGS 處理目標伺服器 %1 的 TGS 要求時,帳戶 %2 沒有適當的密鑰來產生 Kerberos 票證(遺失的金鑰標識元為 %3)。 要求的 etype 為 %4。 可用的帳戶 etype 為 %5。
事件標識碼 27 - KDC 加密類型組態
16 KDCEVENT_NO_KEY_INTERSECTION_TGS 處理目標伺服器 %1 的 TGS 要求時,帳戶 %2 沒有適當的密鑰來產生 Kerberos 票證(遺失的金鑰標識元為 %3)。 要求的 etype 為 %4。 可用的帳戶 etype 為 %5。 變更或重設 %6 的密碼會產生適當的金鑰。
事件標識碼 16 - Kerberos 金鑰完整性

原因

根據預設,下列電腦上會停用 Kerberos DES 加密的安全性設定:

  • 執行 Windows 7 的電腦
  • 執行 Windows Server 2008 R2 的電腦
  • 執行 Windows Server 2008 R2 的域控制器

注意

Kerberos 的密碼編譯支援存在於 Windows 7 和 Windows Server 2008 R2.By 預設值中,Windows 7 會針對「加密類型」和「etypes」使用下列進階加密標準 (AES) 或 RC4 加密套件:

  • AES256-CTS-HMAC-SHA1-96
  • AES128-CTS-HMAC-SHA1-96
  • RC4-HMAC

只有 DES 加密設定的服務會失敗,除非下列條件成立:

  • 服務會重新設定為支援 RC4 加密或支援 AES 加密。
  • 服務帳戶網域的所有用戶端計算機、所有伺服器和所有域控制器都會設定為支援 DES 加密。

根據預設,Windows 7 和 Windows Server 2008 R2 支援下列加密套件:需要時,可以在 Windows 7 中啟用 DES-CBC-MD5 加密套件和 DES-CBC-CRC 加密套件。

因應措施

強烈建議您檢查環境中是否需要 DES 加密,或檢查特定服務是否需要 DES 加密。 檢查服務是否可以使用 RC4 加密或 AES 加密,或檢查廠商是否有具有更強密碼編譯的驗證替代方案。

Windows Server 2008 R2 型域控制器需要 Hotfix 978055 ,才能正確處理從執行 Windows Server 2003 的域控制器複寫的加密類型資訊。 請參閱下方的詳細資訊一節。

  1. 判斷應用程式是否硬式編碼,只使用 DES 加密。 但是,在執行 Windows 7 或金鑰發佈中心 (KDC) 的用戶端上,預設設定會停用此設定。

    若要檢查您是否受此問題影響,請收集一些網路追蹤,然後檢查是否有類似下列範例追蹤的追蹤:

    框架 1 {TCP:48, IPv4:47} <SRC IP DEST IP><> KerberosV5 KerberosV5:TGS 要求領域: CONTOSO.COM Sname>: HTTP/<主機名。<FQDN>

    框架 2 {TCP:48, IPv4:47} <DEST IP SRC IP><> KerberosV5 KerberosV5:KRB_ERROR - KDC_ERR_ETYPE_NOSUPP (14)

    0.000000 {TCP:48, IPv4:47} <來源 IP 目的地 IP<>> KerberosV5 KerberosV5:TGS 要求領域: <fqdn> Sname>: HTTP/<主機名。<fqdn>
    -Etype:
    +SequenceOfHeader:
    +EType: aes256-cts-hmac-sha1-96 (18)
    +EType: aes128-cts-hmac-sha1-96 (17)
    +EType: rc4-hmac (23)
    +EType: rc4-hmac-exp (24)
    +EType: rc4 hmac old exp (0xff79)
    +TagA:
    +EncAuthorizationData:

  2. 判斷用戶帳戶或計算機帳戶是否只設定為 DES 加密。

    在 [Active Directory 使用者和電腦] 嵌入式管理單元中,開啟使用者帳戶屬性,然後檢查是否已在 [帳戶] 索引卷標下設定 [使用 Kerberos DES 加密類型] 選項。

如果您得出結論,您受此問題影響,而且您必須開啟 Kerberos 驗證的 DES 加密類型,請啟用下列組策略,將 DES 加密類型套用至執行 Windows 7 或 Windows Server 2008 R2 的所有計算機:

  1. 在組策略管理主控台 (GPMC) 中,找出下列位置:

    計算機設定\ Windows 設定\ 安全性設定\ 本機原則\ 安全性選項

  2. 按兩下以選取 [網路安全性:設定 Kerberos 允許的加密類型] 選項。

  3. 按兩下即可選取 [ 定義這些原則設定 ] 和加密類型的所有六個複選框。

  4. 按一下 [確定]。 關閉 GPMC。

注意

原則會將SupportedEncryptionTypes登錄項目設定為 0x7FFFFFFF的值。 登入 SupportedEncryptionTypes 項目位於下列位置:

HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\parameters\

視案例而定,您可能需要在網域層級設定此原則,才能將 DES 加密類型套用至執行 Windows 7 或 Windows Server 2008 R2 的所有用戶端。 或者,您可能必須針對執行 Windows Server 2008 R2 的域控制器,在域控制器的組織單位 (OU) 設定此原則。

其他相關資訊

下列兩個組態中遇到僅限 DES 的應用程式相容性問題:

  • 呼叫端應用程式只會針對 DES 加密進行硬式編碼。
  • 執行服務的帳戶設定為只使用 DES 加密。

必須滿足下列加密類型準則,Kerberos 驗證才能運作:

  1. 用戶端與客戶端上驗證器的域控制器之間存在一般類型。
  2. 域控制器與資源伺服器之間存在用來加密票證的常見類型。
  3. 用戶端與會話金鑰的資源伺服器之間存在一般類型。

請考慮下列情況:

角色 OS Kerberos 支援的加密層級
DC Windows Server 2003 RC4 和 DES
用戶端 Windows 7 AES 和 RC4
資源伺服器 J2EE DES

在此情況下,RC4 加密會滿足準則 1,而 DES 加密會滿足準則 2。 第三個準則失敗,因為伺服器是僅限 DES,而且因為用戶端不支援 DES。

如果網域中有下列條件,則必須在每個 Windows Server 2008 R2 型域控制器上安裝 Hotfix 978055:

  • 有一些已啟用 DES 的使用者或電腦帳戶。
  • 在相同的網域中,有一或多個域控制器執行 Windows 2000 Server、Windows Server 2003 或 Windows Server 2003 R2。

注意

  • Windows Server 2008 R2 型域控制器需要 Hotfix 978055,才能正確處理從執行 Windows Server 2003 的域控制器復寫的加密類型資訊。
  • Windows Server 2008 型域控制器不需要此 Hotfix。
  • 如果網域只有 Windows Server 2008 型域控制器,則不需要此 Hotfix。

如需詳細資訊,請按下列文章編號,以檢視Microsoft知識庫中的文章:

978055 FIX:在 Windows Server 2008 R2 域控制器加入網域之後,無法在 Windows Server 2003 網域中驗證使用 KERberos 驗證類型的 DES 加密使用者帳戶