Active-Directory

AD 跨林身份驗證 - PAC 中缺少組

  • September 4, 2013

我有一個由 2 個森林組成的 Active Directory 設置:

  • 1 個多域林,帶有 1 個林根域和 2 個直接子域
  • 1 個用於 DMZ 發布目的的單域林

我在 DMZ 域中創建了 3 個傳出信任,1 個針對林根域的傳遞林信任,以及 2 個外部非傳遞信任(又名快捷方式信任)。

所有四個域中的所有 DC 都是全域編錄伺服器。

我試圖在下面視覺化它: DMZ/內部信任關係

現在,問題來了。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 /groupschildB\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 篩選器隔離

希望這是有道理的

引用自:https://serverfault.com/questions/480282