AD 跨林身份驗證 - PAC 中缺少組
我有一個由 2 個森林組成的 Active Directory 設置:
- 1 個多域林,帶有 1 個林根域和 2 個直接子域
- 1 個用於 DMZ 發布目的的單域林
我在 DMZ 域中創建了 3 個傳出信任,1 個針對林根域的傳遞林信任,以及 2 個外部非傳遞信任(又名快捷方式信任)。
所有四個域中的所有 DC 都是全域編錄伺服器。
我試圖在下面視覺化它:
現在,問題來了。
dmzRoot.tld
當我向域中的安全組授予對資源的訪問權限時childA
,它適用於childA
作為安全組成員的使用者,但不適用於childB
域中的使用者,即使他們是childA
.例如,假設我想授予本地管理員對成員伺服器的訪問權限
dmzRoot.tld
。我添加childA.ForestRoot.tld\dmzAdministrators
到成員伺服器上的本地內置管理員組。
childA.ForestRoot.tld\dmzAdministrators
有以下成員:
- childA\dmzAdmin
- 孩子B\超級使用者
現在,如果我以 身份驗證
childA\dmzAdmin
,我可以以本地管理員身份登錄到成員伺服器,如果我查看來自 的輸出,則清楚地列出whoami /groups
了該組。childA.ForestRoot.tld\dmzAdministrators
但是,如果我進行身份驗證
childB\superUser
,則會收到一條消息,指出該帳戶未授權進行遠端登錄。如果我檢查whoami /groups
該childB\superUser
帳戶,則該childA.ForestRoot.tld\dmzAdministrators
組未列出。在對使用者進行身份驗證時,幾乎似乎
childA
組 SID 從未包含在 PAC 中childB
,即使所有 DC 都是 GC。我在我測試過的 dmzRoot.tld 中禁用了機器上的 PAC 驗證,但這沒有幫助。
關於如何有效解決此問題的任何建議?如何跟踪身份驗證以確定失敗的位置?
事實證明,快捷方式信任導致了問題。
當 AD Kerberos 身份驗證跨域傳輸時,目標域(即
dmzRoot.tld
)標識一種信任關係,使用者發起域(例如childA.ForestRoot.tld
)通過該信任關係成為受信任域。由於傳遞的森林信任
ForestRoot.tld
和外部信任(快捷信任)childA
都匹配該條件,因此目標領域必須選擇一個,並且快捷信任優先於(因為它是顯式的)森林信任中的隱式信任關係.由於預設情況下在傳出信任上啟用了SID 過濾器隔離
childA
,因此只有來自受信任領域(在本例中為域)的 SID 將在身份驗證時得到認可,外部 SID 將被過濾掉。總而言之,有兩種解決方案:
- 刪除外部信任,並依賴林信任。由於森林信任是可傳遞的,整個森林中的所有 SID 都將保留在您的令牌中。
dmzRoot.tld
對來自域的傳出信任禁用 SID 篩選器隔離希望這是有道理的