现在黑客可以利用多种技术来攻击DNS服务器,如缓存投毒利用虚假IP地址替换域名系统表中的地址,进而制造破坏。此外还有注册劫持,DNS欺骗等。
防御这些攻击的最简单方法之一即是通过定义ACL(访问控制列表)来限制在域名服务器之间的区域传送。区域传送(Zone Transfer)是在多个DNS服务器之间复制区域数据库文件的过程,它主要通过拷贝过程完成。笔者看到许多管理员允许BIND在其网络之外进行大量的区域传送。笔者认为没有必要这样做,这样只会给攻击者造成机会。
如何用IP地址限制区域传送?
用户需要在其/etc/named.conf文件中定义ACL(访问控制列表)。比如,用户想允许102.169.191.10和 125.111.124.6这两个地址进行区域传送。
以下是引用片段: # vi named.conf |
下面是域fundcraft.com的示例:
以下是引用片段: acl trusted-servers { 102.169.191.10; //ns2 125.111.124.6; //ns3 }; zone fundcraft.com { type master; file “zones/fundcraft.com”; allow-transfer { trusted-servers; }; }; |
下一步便是增加区域fundcraft.com,在这里需要注意用户必须使用每个区域配置中的主机集合实施阻止;对于每一个区域/域来说,重新启动即是:
以下是引用片段: # /etc/init.d/named restart |
如何测试区域传送是否正常工作?
用户可以采用UNIX 的DNS工具命令,如nslookup,host,dig等。例如,对于我们上面举的例子来说,可以采用host命令来请求区域传送:
以下是引用片段: $ host -T axfr fundcraft.com |
其输出结果为:
以下是引用片段: Connection to 74.86.49.133#53(74.86.49.133) for axfr failed: connection refused. |
签名处理程序
DNS一般工作在问答模式。如果一个客户端需要来自DNS的信息,就向服务器发送信息,服务器反回应答。现在服务器能够先检查问题,看一下其IP地址,并由此决定是否回答其问题。单纯使用源IP地址的授权并不安全。签名处理程序,也常简称为TSIG,它增加了加密签名,以此作为一个验证DNS会话的方法。它采用共享密钥在通信双方之间建立信任。
TSIG的作用就是对那些宣称来自某服务器的DNS信息验证其真实性。笔者常将其用于验证首选和备用DNS服务器之间的区域传送。我们推荐采用签名处理程序,用它来授权区域传送。如此一来要进行IP地址的DNS欺骗就很困难了。
Copyright © hongdaChiaki. All Rights Reserved. 鸿大千秋 版权所有
联系方式:
地址: 深圳市南山区招商街道沿山社区沿山路43号创业壹号大楼A栋107室
邮箱:service@hongdaqianqiu.com
备案号:粤ICP备15078875号