一些在Linux下的DNS安全保障技巧
1)限制名字服务器递归查询功能
关闭递归查询可以使名字服务器进入被动模式,它再向外部的DNS发送查询请求时,只会回答自己授权域的查询请求,而不会缓存任何外部的数据,所以不可能遭受缓存中毒攻击,但是这样做也有负面的效果,降低了DNS的域名解析速度和效率。
以下语句仅允许172.168.10网段的主机进行递归查询:
allow-recusion {172.168.10.3/24; } |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
很有用哦
好东西!
顶一个
非常好的东西
支持!
mark好东西
(6)使用非root权限运行BIND
在Linux内核2.3.99以后的版本中,可以以-u选项以非root权限运行BIND。该命令表示以nobody用户身份运行BIND,使用nobody身份运行能够降低缓冲区溢出攻击所带来的危险。命令如下:
#/usr/local/sbin/named –u nobody
(7)删除DNS上不必要的其他服务
删除DNS机器上不必要的其他服务。网络服务是造成系统安全的重要原因,常见的DoS攻击、弱脚本攻击以及缓冲区溢出攻击都是由于系统存在网络服务所引起的。在安装DNS运行所依赖的操作系统前,就应该确定在系统中运行的服务的最小集合,创建一个DNS服务器系统就不应该安装Web、POP、gopher、NNTP News等服务。建议不安装以下软件包:(1)X-Windows及相关的软件包;(2)多媒体应用软件包;(3)任何不需要的编译程序和脚本解释语言;(4)任何不用的文本编辑器;(5)不需要的客户程序;(6)不需要的其他网络服务。
(8)合理配置DNS的查询方式
DNS的查询方式有两种,递归查询和迭代查询。合理配置这两种查询方式,能够在实践中取得较好的效果。
其中,递归查询是最常见的查询方式,工作方式是:域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。
迭代查询又称重指引查询。其工作方式为:当服务器使用迭代查询时能够使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止,一般的,每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找。
综合上面两点,我们可以看出来,递归查询就是客户机会等待最后结果的查询,而迭代查询是客户机等到的不一定是最终的结果,而可能是一个查询提示。因而存在如下两个问题:
◆二级DNS向一级DNS发起递归查询,会对一级DNS造成性能压力,所有跨域查询都要经过一级DNS响应给对应二级DNS;
◆二级DNS向一级DNS发起递归查询,再由一级向归属DNS发起递归的模式查询响应会有一定延时;
因此,有很多流量很大的DNS服务器是禁止客户机使用递归查询,用这种方式来减轻服务器的流量。
(9)使用dnstop监控DNS流量
在维护DNS服务器时,用户往往希望知道到底是哪些用户在使用DNS服务器,同时也希望能对DNS状态查询做一个统计,以及时地知道DNS的工作情况和状态。在传统的方式下,用户通常使用的是tcpdump等开源工具来进行抓包并通过查看53端口的流量来查看DNS数据包。由于tcpdump并没有针对DNS流量进行特殊定制,因此使用起来可能不是非常方便。因此,用户可以使用专用于DNS的dnstop工具查询DNS服务器状态。
dnstop是一种非常优秀的开源软件,用户可以到网站http://dns.measurement-factory.com/tools/dnstop/src/上进行下载使用,目前该软件的最新版本为:dnstop-20090128.tar.gz。
由于该软件依赖tcpdump和pcap抓包库(libpcap)对网络上传输的数据包进行截获和过滤,所以用户需要确保系统安装相应软件后才能正常安装和使用dnstop。通常情况下,这两种必须的库都已经在系统中预装好了,使用下面的命令安装dnstop即可:
(1)解压缩源代码安装包
#tar vxfz ddnstop-20090128.tar.gz
(2)切换到解压目录,并使用configure命令生成Makefile文件
#cd dnstop-20040309#./configure
(3)使用make命令进行安装
#make
安装成功后,可以查看通过相应的网络接口来监控DNS网络流量,如下所示:
#./dnstop -s eth00 new queries, 6 total queries Tue Mar 26 19:35:23 2008Sources count %---------------- --------- ------172.96.0.13 4 66.7172.96.0.14 1 16.7172.96.0.15 1 16.7