Kerberos 限制委派概觀

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016

這個適用於 IT 專業人員的概觀主題將說明 Windows Server 2012 R2 和 Windows Server 2012 中 Kerberos 限制委派的新功能。

功能描述

Windows Server 2003 推出的 Kerberos 限制委派,可提供一種較安全的委派形式,供服務使用。 設定此功能時,限制委派會限制指定伺服器可以代表使用者執行的服務。 這需要網域系統管理員權限才能設定服務的網域帳戶,並將該帳戶限制為單一網域。 在現今的企業中,前端服務的設計不會侷限為僅能與其網域中的服務整合。

在網域系統管理員可以設定服務的舊版作業系統中,服務系統管理員並沒有實用的方式可以得知哪些前端服務已委派給他們所擁有的資源服務。 而且,可以委派給資源服務的任何前端服務都代表一個潛在的攻擊點。 如果裝載前端服務的伺服器已遭到洩露,而且已將它設定為委派給資源服務,則資源服務可能也會遭到洩露。

在 Windows Server 2012 R2 和 Windows Server 2012 中,為服務設定限制委派的能力已從網域系統管理員移轉給服務系統管理員。 如此一來,後端服務系統管理員便能允許或拒絕前端服務。

如需 Windows Server 2003 推出之限制委派的詳細資訊,請參閱 Kerberos 通訊協定轉換與限制委派

Kerberos 通訊協定的 Windows Server 2012 R2 和 Windows Server 2012 實作包含特別適用於限制委派的延伸。 Service for User to Proxy (S4U2Proxy) 讓服務能夠針對使用者使用它的 Kerberos 服務票證,取得從金鑰發佈中心 (KDC) 到後端服務的服務票證。 這些延伸允許在後端服務的帳戶上設定限制委派,而這個帳戶可以位於其他網域中。 如需這些延伸的詳細資訊,請參閱 MSDN Library 中的 [MS-SFU]:Kerberos 通訊協定延伸:Service for User 與限制委派通訊協定規格

實際應用

限制委派讓服務系統管理員能夠藉由限制應用程式服務可以代表使用者執行的範圍,來指定與強制執行應用程式信任界限。 服務系統管理員能夠設定哪些前端服務帳戶可以委派給它們的後端服務。

藉由在 Windows Server 2012 R2 和 Windows Server 2012 中跨網域支援限制委派,前端服務 (例如,Microsoft Internet Security and Acceleration (ISA) Server、Microsoft Forefront Threat Management Gateway、Microsoft Exchange Outlook Web Access (OWA) 及 Microsoft SharePoint Server) 可以設定為使用限制委派來驗證其他網域中的伺服器。 這樣可以使用現有的 Kerberos 基礎結構,支援跨網域服務解決方案。 Kerberos 限制委派可以由網域系統管理員或服務系統管理員來管理。

跨網域的資源型限制委派

當前端服務和資源服務不在相同的網域時,可以使用 Kerberos 限制委派來提供限制委派。 服務系統管理員能夠藉由指定前端服務的網域帳戶來設定新委派,而這些前端服務可以模擬資源服務帳戶物件上的使用者。

這個變更帶來了什麼價值?

藉由跨網域支援限制委派,可以將服務設定為使用限制委派來驗證其他網域中的伺服器,而不是使用非限制委派。 這樣便能使用現有的 Kerberos 基礎結構來提供跨網域服務解決方案的驗證支援,而不需信任要委派給任何服務的前端服務。

這也會將伺服器是否應該信任委派身分識別的來源,從委派網域管理員移轉至資源擁有者的決定。

有哪些不同?

基礎通訊協定中的變更允許跨網域的限制委派。 Kerberos 通訊協定的 Windows Server 2012 R2 和 Windows Server 2012 實作包含 Service for User to Proxy (S4U2Proxy) 通訊協定的延伸。 此為一組 Kerberos 通訊協定的延伸,讓服務能夠針對使用者使用它的 Kerberos 服務票證,取得從金鑰發佈中心 (KDC) 到後端服務的服務票證。

如需有關這些延伸的實作資訊,請參閱 MSDN 中的 [MS-SFU]:Kerberos 通訊協定延伸:Service for User 與限制委派通訊協定規格

相較於 Service for User (S4U) 延伸,如需有關含轉送票證授權票證 (TGT) 之 Kerberos 委派基本訊息順序的詳細資訊,請參閱 1.3.3 通訊協定概觀 一節,位於<[MS-SFU]:Kerberos 通訊協定延伸:Service for User 與限制委派通訊協定規格>中。

資源型限制委派的安全性影響

資源型限制委派會將委派的控制放在擁有所存取資源的系統管理員手中。 這取決於資源服務的屬性,而不是信任委派的服務。 因此,資源型限制委派無法使用先前控制通訊協定轉換的 Trusted-to-Authenticate-for-Delegation 位元。 當執行以資源型限制委派時,KDC 一律允許通訊協定轉換,就像設定位元一樣。

由於 KDC 不會限制通訊協定轉換,因此引進了兩個新的已知 SID,以將此控制項提供給資源管理員。 這些 SID 會識別通訊協定轉換是否已發生,而且可以搭配標準存取控制清單使用,視需要授與或限制存取權。

SID 描述
AUTHENTICATION_AUTHORITY_ASSERTED_IDENTITY
S-1-18-1
表示用戶端身分識別的 SID 是由驗證授權單位根據用戶端認證的擁有證明來判斷。
SERVICE_ASSERTED_IDENTITY
S-1-18-2
表示用戶端身分識別的 SID 是由服務來判斷。

後端服務可以使用標準 ACL 運算式來判斷使用者的驗證方式。

如何設定資源型限制委派?

若要設定資源服務以允許代表使用者進行前端服務存取,請使用 Windows PowerShell Cmdlet。

  • 若要擷取主體清單,請使用 Get-ADComputer、Get-ADServiceAccount 及 Get-ADUser Cmdlet,並加上 Properties PrincipalsAllowedToDelegateToAccount 參數。

  • 若要設定資源服務,請使用 New-ADComputer、New-ADServiceAccount、New-ADUser、Set-ADComputer、Set-ADServiceAccount 及 Set-ADUser Cmdlet,並加上 PrincipalsAllowedToDelegateToAccount 參數。

軟體需求

資源型限制委派只能設定於執行 Windows Server 2012 R2 和 Windows Server 2012 的網域控制站上,但是可以在混合模式的樹系內套用。

您必須在執行版本早於 Windows Server 之作業系統的前端與後端網域間轉介路徑上的使用者帳戶網域中,將下列 HotFix 套用到所有執行 Windows Server 2012 的網域控制站:資源型限制委派 KDC_ERR_POLICY 在含有 Windows Server 2008 R2 網域控制站的環境中失敗 (https://support.microsoft.com/en-gb/help/2665790/resource-based-constrained-delegation-kdc-err-policy-failure-in-enviro)。