使用协议转换 - 防御提示
2009-02-09 13:52:49 来源:WEB开发网本文示例源代码或素材下载
目录
权限的难题
将高权限进行分解
内核对象和句柄
内核对象和 ACL
一个示例网关
安全注意事项
随着 Windows Server® 2003 更加广泛地得以部署使用,我收到了那些尝试使用协议转换来为其 Intranet 构建安全网关的读者的邮件。如果您想在前端布置其他形式的身份验证,而同时又要利用在后端使用 Kerberos 的优点,协议转换堪称一个不错的功能。
借助协议转换,网关(如 Web 门户)可以使用任何有效的技术来对用户进行身份验证,然后为 Windows® 帐户建立登录,来模拟该帐户并用其访问服务器上的资源。这意味着您可以在后端使用所有 Windows 内置的用户安全功能,包括组、访问控制列表 (ACL)、授权管理器 (AzMan) 角色和 COM+ 角色等。
虽然“映射到 Windows 帐户”对于许多网关来讲已经是常见的功能(例如,IIS 支持将证书映射到用户帐户),但协议转换的作用在于,它无需让网关为其使用的所用帐户存储密码即可实现这一功能。正常情况下,您需要一个密码来建立登录会话,但通过协议转换,您可以放心地让网关来建立登录会话而无需知道相应的密码。由此建立的会话,其在网络内的使用范围会受到限定:Kerberos 票证将仅颁发给为网关的“允许委派”(A2D2,allowed-to-delegate-to)列表中列出的服务所建立的会话。
考虑对比一下黑客侵入存储了密码的网关与侵入使用协议转换的网关会有什么不同的结果。当一名黑客能够访问用户的密码时,只要他愿意,至少在用户更改密码前,他可以不限时间地在网络中的任何位置来模拟该用户。但是如果一名黑客攻破了使用协议转换的受信任网关,他将找不到密码。可以肯定的是,他可以登录所有未标明“敏感,不能被委派”的用户帐户,但他只能使用那些凭据访问 A2D2 列表中的服务。这在空间时间方面会对所造成的破坏进行限制:一旦发现攻击,您可以快速将其切断,但如果让黑客获得了访问用户密码的机会,他就可能更加从容地从一个安全的位置继续进行攻击。