安全性和可靠性更好的Domain Name Service是使用域名系统的安全协议(Domain Name System Security, DNSSEC)),用Digital Signature的方式对搜索中的信息源进行分辨,对DATA的完整性实施校验,DNSSEC的规范可参考RFC2605.因为在设立Domain时就会产生Password,同时要求上层的Domain Name也必须进行相关的Domain Password Signature,显然这种方法很复杂,所以InterNIC域名管理截至目前尚未使用。然而就技术层次上讲,DNSSEC应该是现今最完善的Domain Name设立和解析的办法,对防范Domain Name欺骗攻击等安全事件是非常有效的。
4.3 优化DNS SERVER的相关项目设置
对于DNS Server的优化可以使得DNS的安全性达到较高的标准,常见的工作有以下几种:①对不同的子网使用物理上分开的Domain Name Server,从而获得DNS功能的冗余;②将外部和内部Domain Name Server从物理上分离开并使用Forwarders转发器。外部Domain Name Server可以进行任何客户机的申请查询,但Forwarders则不能,Forwarders被设置成只能接待内部客户机的申请查询;③采用技术措施限制DNS动态更新;④将区域传送(zone transfer)限制在授权设备上;⑤利用事务签名对区域传送和区域更新进行数字签名;⑥隐藏服务器上的Bind版本;⑦删除运行在DNS服务器上的不必要服务,如FTP、telnet和Http;⑧在网络外围和DNS服务器上使用防火墙,将访问限制在那些DNS功能需要的端口上。
4.4 直接使用IP地址访问
对个别信息安全等级要求十分严格的WEB站点尽量不要使用DNS进行解析。由于DNS欺骗攻击中不少是针对窃取客户的私密数据而来的,而多数用户访问的站点并不涉及这些隐私信息,因此当访问具有严格保密信息的站点时,可以直接使用IP地址而无需通过DNS解析,这样所有的DNS欺骗攻击可能造成的危害就可以避免了。除此,应该做好DNS Server的安全配置项目和升级DNS软件,合理限定DNS Server进行响应的IP地址区间,关闭DNS Server的递归查询项目等。
4.5 对DNS数据包进行监测
在DNS欺骗攻击中,Client会接收到至少两个DNS的数据响应包,一个是真实的数据包,另一个是攻击数据包。欺骗攻击数据包为了抢在真实应答包之前回复给Client,它的信息数据结构与真实的数据包相比十分简单,只有应答域,而不包括授权域和附加域。因此,可以通过监测DNS响应包,遵循相应的原则和模型算法对这两种响应包进行分辨,从而避免虚假数据包的攻击。
五、结束语
本文对DNS解析及DNS欺骗的原理进行了阐述,对DNS欺骗攻击的方式、检测和防范的思路进行了探讨,最后给出了一些预防DNS欺骗的常见方法。相信这些方案的应用,可以大大提高DNS的安全性和可靠性。但网络的发展和应用日新月异,在实践中还要不断紧跟技术变化的步伐,不断学习和总结才能有效抵御各种新类型的DNS故障。
标签: