设置:
林功能级别:Windows 2003
所有 DC - Windows 2003 64 位 SP2
要求:
Citrix 服务器希望使用 Kerberos 委派实现 SSO。他们希望创建从 Citrix 演示服务器到本地 DC 的 Kerberos 约束委派,以实现 CIFS 和 LDAP 服务。
我担心它会允许演示服务器上的管理员冒充域管理员来对抗 DC 上的 LDAP 服务并在 AD 中进行未经授权的更改。
问题:
- 我的假设正确吗?
- 如果是,那么做到这一点有多容易?
- 允许此类委派对维护该站点中的本地 DC 有何操作影响?(我们在全球拥有 200 多个 DC,在要求委派的站点中有 10 个 DC)
答案1
您可以通过在帐户选项卡 > 帐户选项中选中您的特权管理帐户的“帐户很敏感,无法委托”复选框来降低风险。
约束委派是 Active Directory 中一个不太常见且容易被误解的功能。它并不是什么新东西;自 Windows 2003 以来就一直存在。
在“受限”委派之前,委派模拟另一个用户帐户以代表其执行功能的能力具有最小的“约束”。这意味着,使用无约束委派,如果您拥有另一个用户帐户的“委派级别”令牌,则可以模拟该帐户并以该用户帐户的身份访问任何服务器上的任何资源。可以想象,这在安全性较高的环境中是不可取的。令牌通常在用户通过输入其凭据或使用集成 Windows 身份验证登录时可用。如果使用 Windows 身份验证,您需要 Kerberos 来获取“委派级别”令牌,而不是模拟或身份令牌。IIS 公开用户令牌并使使用此功能变得容易。
约束委派通过以下方式解决风险:
- 模拟帐户的服务只能访问模拟帐户和服务所在域(通常是“资源”域)中的资源。它无法访问受信任域中的资源。(尽管它可以模拟任何受信任域中的任何帐户)。
- 限制模拟服务可以访问的服务器;
- 通过指定服务类型(CIFS、LDAP、SQL 等)进一步限制范围。
不过还有一点需要注意:使用约束委派,可以为任何域中的任何用户帐户创建令牌并模拟该帐户,并且该帐户不需要像使用无约束委派那样先输入凭据。只需编写几行 .NET 代码即可完成此操作,只要提供适当的权限并正确设置执行模拟的服务器即可。
所以是的,这很强大,这就是为什么微软在委派主题的文档中提供了可怕的警告。但是选中该框后,特权帐户就无法被模仿。
请注意,在某些情况下,风险暴露是一个角度问题。有些人更喜欢委派和模拟功能,而不是将密码传输到安全边界之外。如果在没有密码的环境中(例如某些智能卡),模拟和委派可能是以实用方式执行某些功能的少数几种方法之一。
我没有使用过 Citrix 的这个功能,但如果可以使用全局目录(GC:// 与 LDAP://,端口 3268/3269 而不是 389/636),这可以进一步降低风险,因为全局目录是只读的。如果仅进行身份验证,他们不需要更新 AD。
答案2
这是我从 Microsoft 支持那里得到的。
不受约束的委派 - 服务器应该具有来自用户的票证才能模拟,如果不知道密码或先获取票证,它就无法获取任何用户的凭证。
仅受约束/kerberos - 服务器应该具有来自用户的票证才能模拟,如果不知道密码或先获取票证,它就无法获取任何用户的凭证。
受限/协议转换 - 服务器可以冒充任何用户,而无需知道其密码或先获取票证(最危险)。
在 AD 级别唯一有效的缓解措施是为域管理员等高权限用户启用“帐户敏感,不委托”标志。
更多细节:
http://msdn.microsoft.com/en-us/magazine/cc163500.aspx
和
http://technet.microsoft.com/en-us/library/cc738207(WS.10).aspx