《网络攻防技术(第2版)》 —2.2.4 利用DNS域名服务
2.2.4 利用DNS域名服务
DNS服务提供域名到IP地址的映射。按照具体作用的不同,DNS服务器分为主服务器、辅助服务器和缓存服务器。主服务器中存储了其所辖区域内主机的域名资源的正本,而且以后这些区域内的数据有所变更时,也将直接写到这台服务器的数据库中,这个数据库通常称为区域文件。一个区域内必须有一台且只能有一台服务器。辅助服务器定期从另一台DNS服务器复制区域文件,这一复制动作称为区域传送(Zone Transfer),区域传送成功后会将区域文件设置为“只读”,也就是说,在辅助服务器中不能修改区域文件。设置辅助服务器的目的是在主服务器不能正常工作时,辅助服务器能接替主服务器承担域名解析功能。一个区域内可以没有辅助服务器,也可以有多台辅助服务器。缓存服务器与主服务器和辅助服务器完全不同,因为它本身不管理任何DNS区域,但仍然可以接受DNS客户端的域名解析请求,并将请求转发到指定DNS服务器解析。在将解析结果返回给DNS客户端的同时,将解析结果保存在自己的缓存区内。当下一次接收到相同域名的解析请求时,缓存服务器会直接从缓冲区内获得结果返回给DNS客户端,而不必将请求再转发给指定的DNS服务器。
DNS主服务器在Internet上具有解析其自己区域内主机域名的权威性。
比如,我们在查询371.net的WhoIs信息时,将返回
Primary DNS: ns.hazzptt.net.cn 202.102.224.68
即IP地址为“202.102.224.68”、域名为“ns.hazzptt.net.cn”的DNS服务器是371.net的主DNS服务器,该服务器在整个Internet范围内具有对371.net这个域的权威解析能力。
通常使用的DNS服务器多数是由ISP(Internet Service Provider,互联网服务提供商)提供的,这些服务器并没有存储Internet上所有域名和IP地址的对应关系。当DNS服务器接收到一个DNS请求时,该服务器会首先查看其缓存,如果在缓存中保存有该请求的解答则回复,否则该服务器会向权威DNS服务器提出查询,得到应答后再进行回复。
对Internet的运作来说,DNS服务的作用非常关键。因为域名比IP地址更容易记忆,所以Internet的用户通常只会通过域名来访问一个站点。正因为如此,通常一个机构的网络在提供一个主DNS服务器来向Internet“通告”其域名信息的同时,会提供一个甚至多个辅助DNS服务器,通过冗余的方法来保证服务的可靠性和稳定性。
在辅助DNS服务器通过区域传送定期实现从主服务器进行区域备份的同时,也存在着区域传送配置上的风险。攻击者可以利用配置上的缺陷实现DNS服务器的信息收集。管理员在对主DNS服务器设置DNS区域传送时一般会有两种选择:一种是只允许指定的IP地址(如辅助DNS服务器的IP)从该服务器进行区域传送;另一种是允许任意的IP地址从该服务器进行区域传送。如果选择了第二种区域传送方式,DNS服务器就会接受来自任何一个主机的DNS区域传送请求。有些DNS服务器在默认配置情况下使用的是第二种区域传送设置,这就使得任何主机均可获得主DNS服务器中的信息。更严重的情况是,如果没有使用公用/私用DNS机制分割外部公用DNS信息和内部私用DNS信息,任何主机都可以得到机构的所有内部主机名和IP地址。
在目前的Internet中,网络管理员的安全意识已经有了较大程度的提高,攻击者很少能够利用DNS区域传送得到某个网络内部主机IP地址。但Internet上总还是有些粗心大意的人在无意间泄露主机IP地址。此外,不当的配置同样会导致严重的安全问题。
当然,也可以通过一些网络工具完成区域传送的工作,比如dig、nslookup等命令行工具。
- 点赞
- 收藏
- 关注作者
评论(0)