7.3.8DHCP和DNS更新代理组
为了减少复杂性,微软映射了一个使用DHCP协议的预先设置的路线。不再是客户机获得资源记录的所有权而在清除上让它们的行为变得独立,而是让DHCP执行注册。这样,DHCP是所有者,并且能够修改和清除资源记录。这非常好,但仍然有些小问题。
如果使用缺省的DHCP行为,windows 2000 结束了对A记录的所有权,DHCP拥有了对它的IP协议的PTR记录的所有权。这是很合理的因为客户机拥有名字,DHCP拥有IP协议。如果客户机改变了它的名字或者重新加入了域,于是它就抛弃了域中的一个记录,对非windows 2000 的客户机,DHCP可能既注册名字又注册IP,所以会同时拥有两个记录,那么当多个DHCP服务器被配置为共享一个子网的责任时就会带来一个问题,因为仅仅只有一个服务器能改变A记录,而它们中的任何一个或许都有此记录(注意通常每个服务器都有一个唯一的IP池,所以PTR记录没有此问题)
要解决这些问题,windows 2000 提前定义了一个特殊的组,即DNS更新代理组。当一台机器成为这个组的一个成员时,它创建一个新的DNS记录,这个记录比已经讨论的记录的语义稍有不同,不是创建者自动地成为记录的所有者,被Dns更新代理成员创建的记录被成功地对其进行更新或刷新的帐户所拥有。
尽管这样试图解决了一些问题,但又带来了其他的问题。非常重要的一件事是诸如使用DHCP协议的机器将会成为这个组中的一员,所以,所有那些机器动态创建的记录都将有新的语义。如果一台机器这样注册了任何记录,不管是通过对客户使用DHCP还是通过自身注册,那些记录都会应用新语义。当一台机器,如一台域控制器执行许多动态更新时,这不是一个小问题(见下一节)。
Dns更新代理组试图用DHCP服务器作为成员,这允许它们对客户注册A记录,并且当它们试图更新记录时从客户机那里获得对那些记录的所有权。任何由运行DHCP的机器动态注册的记录,包括它本身的记录或当Netlogon也为一个域控制器时所创建的SRV记录,当此机器是一个Dns更新代理成员时,都会被剥夺所有权。解决的办法当然是不使用这样的机器作域控制器,并且对Dns更新代理组成员手工键入DNS条目。
7.3.9DNS安全小结
本章涉及了一些基本知识。活动目录集成使得可以用安全的方法来对DNS数据的访问进行控制及更新。没有这个集成,windows 2000 就不能提供任何DNS安全措施。
更新的保护是通过由RFC2078所规定的方法的微软版本而实现的,现今这个方法是微软特有的。windows 2000 客户机需要扩展为使用第三方DNS服务器,这个服务器使用基于RFC2137和2535的安全措施。被保护的动态更新过程在windows 2000 中支持Kerberos作为安全提供者。DNS服务器在代表客户机更新DNS数据时,本身使用LDAP方法。
当DNS数据存储到活动目录时,要接受通常的ACL权限验证,缺省值提供给授权用户组创建资源记录的能力,以及Everyone组列出域区和读取资源记录的能力。这些权限来源于dnsZone和dnsNode架构对象,在windows 2000 的最初版本中,这两个架构对象只能在此处改变,或者在它们被创建以后再在资源记录中改变。
资源记录被创建以后由创建它的帐户所有,除非这个帐户是DNS更新代理组的成员。在这种情况下,对新建记录首次成功进行更新或刷新的帐户将成为它的所有者。
对于安全动态更新,微软策略的最初框架是为活动目录集成DNS域区配置的。它有好的方面,也有不好的方面。在严厉地批评以前,先考虑一下这是一个先行者,是动态DNS新领地的开拓者。当今没有其他商业操作系统在安全和动态DNS的实现这条道路上走得如此之远,这应该是正确的。它们中的大部分功能的实现不得不在产品的时限、必需的功能以及复杂的RFC标准之间求得平衡。现在它们中有一些已标准化,有一些还没有。最新的RFC对DNS数据安全和更新依赖于正在建立的公钥机制,但windows 2000 已经准备参与了。在windows 2000 中如何使用动态DNS以及如何在动态DNS上实施安全措施,都必须经过仔细考虑。
(未完待续)
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073