AD跨林身份验证-PAC中缺少组


10

我有一个由2个林组成的Active Directory设置:

  • 1个多域目录林,其中包含1个目录林根域和2个直接子域
  • 1个用于DMZ发布的单域林

我在DMZ域中创建了3个传出信任,对目录林根域创建了1个可传递林信任,以及2个外部非传递信任(也称为快捷信任)。

所有四个域中的所有DC都是Global Catalog服务器。

我尝试将其可视化如下: DMZ /内部信任关系

现在,这就是问题所在。当我授予对域中dmzRoot.tld安全组的资源的访问权限时,该资源适用于属于安全组成员的用户,但不适用于域中的用户,即使他们是中的安全组的成员也是如此。childAchildAchildBchildA

例如,假设要授予本地管理员对成员服务器的访问权限dmzRoot.tld。我将添加childA.ForestRoot.tld\dmzAdministrators到成员服务器上的本地内置Administrators组中。

childA.ForestRoot.tld\dmzAdministrators 具有以下成员:

  • childA \ dmzAdmin
  • childB \ superUser

现在,如果我以身份验证childA\dmzAdmin,则可以以本地管理员身份登录到成员服务器,并且如果查看的输出whoami /groups,则该childA.ForestRoot.tld\dmzAdministrators组将清晰列出。

childB\superUser但是,如果我通过身份验证,则会收到一条消息,指出该帐户无权进行远程登录。如果我检查whoami /groupschildB\superUser帐户,则该childA.ForestRoot.tld\dmzAdministrators组未列出。

即使所有DC都是GC,似乎childA在对childB用户进行身份验证时也从未将组SID包含在PAC中。

我在测试它的dmzRoot.tld中禁用了该计算机上的PAC验证,但这无济于事。

关于如何有效解决此问题的任何建议?如何遵循身份验证的线索来确定失败的地方?


2
@Lizz当然,A和B之间也有信任。他们在同一个森林里。
MDMarra

Answers:


6

事实证明,快捷方式信任是造成此问题的原因。

当AD Kerberos身份验证跨域传播时,目标领域(即dmzRoot.tld)标识一个信任关系,发起领域(例如childA.ForestRoot.tld)的用户通过该信任关系成为受信任的域。

由于对传递森林信任ForestRoot.tld和对外部信任(快捷信任)都childA符合该条件,因此目标领域必须选择一个,并且快捷信任(因为它是显式的)优先于森林信任中的隐式信任关系。

由于默认情况下对传出信任启用了SID筛选器隔离,因此childA在身份验证时将仅接受来自受信任领域(在本例中为域)的SID,而将外部SID过滤掉。

总之,有两种解决方案:

  • 删除外部信任,并依靠森林信任。由于林信任是可传递的,因此整个林中的所有SID都将保留在您的令牌中。
  • dmzRoot.tld域的传出信任上禁用SID筛选器隔离

希望有道理


这很有趣,很高兴知道。您是否有理由在其中拥有捷径信任?无论显示的拓扑如何,您最多需要1个引荐,这是出于某种原因造成的吗?
MDMarra 2013年

1
我认为这是由于forestRoot.tld域的可用性不高-或出于无知,我没有设计它,我只是从早期团队接手了环境责任:)
Mathias R. Jessen

嗯,还算公平。这是一个不错的选择,值得收藏。
MDMarra

实际考虑一下,某些子域(图片显示我的拓扑结构过于简化,我有两个以上的子域)在远离dmzRoot和forestRoot DC所在物理位置的站点中只有DC。即使只是通过缩短目录林根域来消除对额外引用的需求,在建立子域的那一天也可能会有所作为,而且位置之间的联网速度也没有那么快。
Mathias R. Jessen 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.