Linux应用环境下九大DNS安全保障技巧 (2) |
发布时间: 2012/8/19 16:23:10 |
mple.com.hosts.external"; }; }; 接下来,需要在example.com.hosts.internal中创建内网客户可见的区文件,并在 example.com.hosts.external中创建Internet客户可见的区文件。该区文件的编写可以根据用户的实际情况,可以参看上面介绍的内容,此处不再赘述。 (5)隐藏BIND的版本信息 通常软件的漏洞和风险信息是和特定版本相关的,因此版本号是黑客进行攻击所需要搜集的最有价值的信息之一。黑客使用dig命令可以查询BIND的版本号,然后黑客就能够通过版本号查询知道这个软件有那些漏洞,并寻求相应的工具来针对该漏洞进行攻击。因此,随意公开 BIND版本号是不明智的,具有很大的风险。其实,隐藏BIND版本号比较简单,只需要修改配置文件/etc/named.conf,在option部分添加version声明将BIND的版本号信息进行覆盖即可。使用下面的配置声明将BIND版本号覆盖,当有人请求版本信息时,将无法得到有用的版本信息: options { version “Unkown” }; (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/上进行下载使用
本文出自:亿恩科技【www.enkj.com】 |