在Windows2000环境下实现动态DNS的安全考虑
Windows2000 域名解析是基于动态DNS(Dynamic DNS)的。微软是基于RFC 2136实现动态DNS的。这关系到 BIND v8 和 v9。BIND v9 在由O’Reilly出版的Paul Albitz 和 Cricket Liu 撰写的第四版《DNS and BIND》里面有所阐述。 在 Windows 2000 里,动态 DNS 是与 DHCP, WINS 和动态目录(Active Directory) 集成并且相关的。在 Windows 2000的域中有三种方法实现 DNS:动态目录集成、动态目录的主要DNS和非动态目录的辅助DNS、非动态目录的主DNS和非动态目录的辅助DNS。当 DNS 完全集成到动态目录中时,我们可以在一个 Windows 2000 网络中利用三种安全特性:安全动态更新、安全区域传输和对区域与资源记录的访问控制列表。
1.0 安全动态更新
在动态DNS(DDNS)中最重要的安全特性之一就是安全更新特性。在实现安全更新特性中需主要考虑的,是由DNS条目组成记录的所有权。DHCP是如何配置的和支持哪个客户端决定了所有权。
两种DNS资源记录关系到每一个客户端:A记录和PTR记录。A记录负责从名字解析到地址,而PTR记录解析地址到名字。地址是指一个客户端的IP地址。名字是指一个客户机完整的、有资格的域名。这应该是计算机名加上网络的域名。
在Windows 2000环境中,当客户端通过DHCP请求一个IP时,客户端DNS记录就被注册。根据设置,客户端、DHCP服务器或者这两者都可以更新A和PTR记录来关联到客户端。这些记录的所有权依据谁注册了这个记录。
这就是在Windows 2000网络中定义 A 和 PTR 记录所有权的选择。
1.1 Windows 2000 本机模式(Native Mode)
在Windows 2000环境下,DHCP 服务器和 DHCP 客户端都可以通过 DNS 注册记录。当网络单纯由 Windows 2000 的服务器和客户端组成时,这种 Windows 2000 环境称之为"本机模式"(Native Mode)。
当客户端是一个 Windows 2000 客户端,这个客户端的默认配置是在注册到网络过程中动态更新它自己的 A 记录。与此同时,DHCP 服务器更新客户端的 PTR 记录。所以,A 记录的所有权属于这个客户端,PTR 记录的所有权属于 DHCP 服务器。
第二种可能的配置是 DHCP 服务器总是更新正向和反向的查找。在这种情况下,DHCP 服务器分别拥有A和PTR记录。
第三种可能的配置是 DHCP 服务器被配置为不能执行动态更新。在这种情况下,客户端将会更新 A 记录和 PTR 记录,因此拥有这些记录。
1.2 Windows 2000 混杂模式(Mixed Mode)
在混杂的环境下,DHCP 客户端不能通过 DNS 注册。当网络由 Windows 2000 服务器、客户端除了 Windows 2000 之外还由 Windows NT 4.0 或 Windows 98 组成时,这种混杂环境被称为"混杂模式"。
以前的客户端,像 Windows NT 4.0 和 Windows 9x,不能直接通过 DNS 注册。因为只有 DHCP 服务器可以通过 DNS 注册记录,再混杂环境中唯一的选择是让 DHCP 注册 A 和 PTR 记录。在这种情况下,这个服务器拥有正向和反向查找的记录。
1.3 安全动态更新
在 Windows 2000 网络中,安全动态更新是唯一可以用于与动态目录集成的 DNS 区域。所以安全动态更新意味着什么?在 Windows 2000 中,它意味着是用动态目录 ACL 制定用户和组的权限来修改 DNS 区域和/或它的资源记录。除了使用 ACL 外,安全更新为了允许更新 DNS 区域和/或它的资源记录,也使用安全通道和认证。
微软 Windows 2000 支持使用在 IETF Internet-Draft "GSS Algorithm for TSIG (GSS-TSIG) 中定义的运算法则进行安全动态更新。这个算法使用 Kerberos v5 作为优先的认证协议。GSS-API 在 RFC 2078 中有定义。
2.0 区域
2.1 区域的类型
Windows 2000 可以配置 DNS 区域为主要区域、辅助区域或活动目录集成。
主要和辅助区域象在 Unix 环境和 NT 4.0 环境一样运作。另外数据库保持与其它数据库象 WINS 和 DHCP 数据库分开,并且复制也是分别从其它复易做图务中设置。如果网络中任何服务器运行着一个 BIND 版本低于 8.1.2,则必须使用主要/辅助区域,因为在早先的版本中不支持动态更新。
本篇文章共3页,此页为首页 下一页
如果安装了活动目录,DNS 区域可以成为活动目录集成区域。这意味着 DNS 区域数据库成为活动目录数据库的一部分。每一个记录成为活动目录对象。每一个活动目录对象拥有它自己的ACL(访问控制列表)。
2.2 区域传输或复制的类型
Windows 2000 DNS 可以支持 AXFR 或 IXFR。AXFR,或者所有的区域传输,是复制整个区域数据库文件。IXFR,或者增量区域传输,仅仅复制区域数据库的变化。如果区域类型设置成主要/辅助区域,那么可以应用这些区域复制方法。在版本8.2.1以及以上的 BIND 中支持IXFR。
当 DNS 域活动目录集成时,所有的区域和资源记录将成为活动目录数据库中的对象。活动目录的复制是基于多主模型(multi-master model)的。
多主模型的好处之一是没有单点失败的问题。这是可能的,因为包含 DNS 部分的活动目录数据库会被复制到所有域控制器上。因此 DNS 区域传输完全成为活动目录复制的一部分。
2.3 区域传输的安全
如果 Windows 2000 网络运行着主要/辅助区域配置的 DNS,是不可以使用加密和压缩的。为了兼容 BIND,Windows 2000 支持 AXFR 每个消息发送/接受一个或多个资源记录。BIND 在 4.9.4 以前的版本不支持每个消息传送多条资源记录。Windows 2000 支持 IXFR。相应的 BIND 版本是 8.2.1。Windows 2000 支持 DNS 通报(DNS Notify),相应的 BIND 版本是8.1.2。
当 Windows 2000 DNS 配置为活动目录集成时,复制处理成为活动目录复制的一部分,因此将会自动使用加密和压缩。
加密使用的是微软 Windows 2000 Kerberos v5。与控制器之间的通讯通道会自动加密。不需要管理配置。
当活动目录更新在"桥头堡"(Bridgehead)服务器间传输时,会自动使用压缩。桥头堡服务器是从局域网其他服务器中自动选择的服务器。当广域网链路需要使用活动目录更新时,每个局域网的桥头堡服务器会与其它桥头堡服务器通讯。这会大量减少通过 WAN 链路德里流量。在这种情况下,为了节约带宽会自动使用压缩。
计算机教程在Windows2000环境下实现动态DNS的安全考虑来自www.itwen.comIT WEN计算机教程网
3. 活动目录集成DNS 区域
因为在 Windows 2000 活动目录和 DDNS 集成,实现活动目录的安全是实现 DDNS 的安全的第一步。
3.1 文件系统
使用NTFS。Windows 2000 的版本是 NTFS v5。这个版本允许设置文件和文件夹的安全性、加密文件系统和审核。NTFS v5 不兼容从前的 NTFS。在安装了 Service Pack 4 或者更高版本的 NT 4.0上只能读取NTFS v5。
NTFS 权限可以设置文件夹和文件级别来限制网络或者本地访问文件。
NTFS 和 共享权限可以被用来非常精确的控制权限和继承关系。
3.2 注册表
使用注册表编辑器编辑 DACL 关系到每一个注册表Hive。细节可以参考 SANS 出版的 "Windows NT Security, Step-by-Step"。
3.3 Enterprise管理员和Schema管理员组
在 Windows 2000 网络建立之后,限制访问这两个管理员组。这些组出现在域的根并且含有不受限制的管理能力。根据域的结构,管理可以被委派到下面的域结构,因此管理可以被限制到单个域。
3.4 加密文件系统
Windows 2000 NTFS 提供了使用加密文件系统的选择。EFS 使用基于公共密钥(public key)的技术来进一步限制文件的未授权访问。
3.5 活动目录中的DNS
安装DNS会扩展活动目录Schema包含DNSUpdateProxy组。这是非常强大的组,允许创建对象,这是不安全的。当这种情况发生,任何认证的用户可以用这种方式创建属于自己的那些对象。
在 Windows 2000 DHCP 处理过程中,DNS 会象上面详细描述的那样更新客户端记录 A 和 PTR。当客户端和服务器都是 Windows 2000时,安全动态更新可以完全使用默认安装。当其他的客户端需要支持,除非 DHCP 服务器添加到 DNSUpdateProxy 组,否则不能使用安全动态更新。这就允许 DHCP 服务器为早期的客户端执行动态更新。
如果 DHCP 服务在一个域控制器(Domain Control)上运行的话必须特别考虑。在这种情况下,添加 DHCP 服务器到 DNSUpdateProxy 组,那么所有用户或计算机都可以完全控制相应的域控制器的 DNS 记录。
本篇文章共3页,此页为第2 页 上一页 下一页
3.6 资源记录的所有权
DHCP 服务器不能在早期的客户端上执行安全动态更新,这在 Windows 2000 网络中是很重要的。如果这种情况发生,会出现不能完全更新活动记录的情况。举例而言,一个NT 4.0的客户端通过 DHCP 服务器在 DNS 中注册了一个名字。这台机器升级到 Windows 2000 客户端。因为升级是操作系统的升级所以名字不变。从它最初注册这个名字开始,DHCP 服务器便拥有这个名字的资源记录所有权。Windows 2000 客户端不能更新它自己的名字。
3.7 WINS 查找
作为 Windows 2000 的最终的告诫,我将说明 WINS 将很有可能是所有 Windows 2000 网络中必须的部分。为什么呢?NetBios 解析仍是所有非 Windows 2000 客户端所必需的。同样,所有需要NetBios的程序也需要 WINS 来做名字解析。WINS 通过两种专门的资源记录直接集成到 DNS 中:WINS 和 WINS-R。这分别给 WINS 做正向和反向的记录查找。
4.0 结论
总之,理解 Windows 2000 使用 DNS 的过程是非常重要的。这些考虑在这篇论文的1.0章 安全动态更新和2.0章 区域中有了一个简述。理解一些 Windows 2000 的"gotcha's"和"caveats"也是非常重要的。3.0章 活动目录集成DNS 区域列举了