我有一个由 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 将被过滤掉。总结起来有两种解决方法:
dmzRoot.tld
对来自域的传出信任禁用 SID 过滤器隔离希望这是有道理的