ad域信任本质是身份验证通道,不控制访问权限;真正决定“能干啥”的是acl、gpo和网络配置。常见类型包括林信任(双向可传递,两林间互通)、外部信任(不可传递,单域对接)、父子/树根信任(林内自动创建)和快捷方式信任(纯性能优化)。
ad 域信任关系不是“开个开关就能跨域访问”的捷径,它本质是建立一条身份验证通道——只解决“你是谁”,不决定“你能干啥”。真正控制资源访问的是 acl、组策略和网络配置。搞清信任类型再动手配,才能避免权限失控或访问失败。
常见信任类型与适用场景
Windows AD 中的信任按范围和传递性分几类,选错类型会导致跨域登录失败或权限泛滥:
- 林信任(Forest Trust):最常用,适用于两个完整林之间互通。可设单向或双向,自动在双方所有域间传递;但仅限两林之间,不延伸到第三林。
- 外部信任(External Trust):用于不同林的单个域之间,不可传递。适合临时协作或对接老系统(如 NT4.0),管理粒度细但需逐个配置。
- 父子/树根信任(Parent-Child / Tree-Root Trust):林内部自动创建,双向可传递,无需手动干预。子域加入时即生成,属于基础设施级信任。
- 快捷方式信任(Shortcut Trust):为优化跨域认证路径而设,绕过默认的父子链路,提升登录速度,不改变权限逻辑,纯性能优化。
跨域资源访问必须走完两步
只建信任 ≠ 能访问资源。必须完成身份验证通道 + 显式授权两个环节:
- 第一步:建立信任并确保 DNS 可解析 在双方根域执行“新建信任”,方向与类型按需选择;完成后,双方 DNS 必须能互相解析对方域名(推荐用条件转发器指向对方 DNS 服务器 IP),否则 Kerberos 票据无法签发。
- 第二步:在目标资源上配置 ACL 信任建立后,源林用户不会自动出现在目标林任何组里。需手动在文件夹、共享、OU 或应用服务上添加权限:右键属性 → 安全 → 添加 → 切换“位置”到目标林 → 高级 → 立即查找 → 输入源林用户或全局组(如 user@source.forest)。 强烈建议用目标林的域本地组(Domain Local Group)做中间层,例如创建 DL-AppAccess-Partner,把源林用户加进去,再给该本地组赋权——便于后期删改、审计和避免嵌套问题。
单向 vs 双向信任的实际影响
方向选择直接影响谁可以发起访问,也决定安全边界是否收得紧:
- 单向信任(A 信任 B):只有 A 用户能登录 B 的机器、访问 B 的共享、查询 B 的 AD 对象;B 用户对 A 完全不可见。适合外包、审计系统等严格出口管控场景。
- 双向信任(A ↔ B):双方用户均可跨域认证。但注意:这不等于双方资源默认开放。仍需在每项资源上单独授权,且建议禁用“Authenticated Users”对敏感 OU 的默认读取权限,改用显式安全组控制。
验证与加固要点
配置完别急着交付,务必实测行为并堵住常见漏洞:
- 用源林普通账号登录目标林客户端,运行
klist purge && runas /netonly /user:source\user1 cmd,再尝试访问已授权共享路径,确认票据获取和实际访问均成功。 - 在域控制器 GPO 中启用 Network security: Restrict NTLM: Incoming NTLM traffic,强制跨域走 Kerberos,防止 NTLM 中继攻击。
- 若只需部分子域互通(如只允许 apps.partner.com),可在 DNS 条件转发器中限定转发范围,而非整个 partner.com 域。
- 禁用“选择性身份验证”除非有明确需求,否则 Exchange、SQL Server 等依赖 S4U2Proxy 的服务可能异常。











