【赛迪网独家特稿】域名系统(DNS,Domain Name System)是Internet的核心设施。它提供了Internet域名到IP地址的映射,是Email、WWW等Internet服务器正常运转、实施的基础。不论您的服务器如何安全可靠,DNS故障都可能让用户无法访问这些服务。因此,保证域名系统的安全运行至关重要。
目前域名系统存在的安全问题
Bind(Berkeley Internet Name Domain)是使用非常广泛的DNS服务器软件,Bind9.3.0是目前较新的版本。该版本的软件虽然可以解决大部分目前已知的漏洞,但并不意味着DNS服务器就彻底安全了。我们先来分析一下目前域名系统存在的安全问题。
远程缓冲溢出缺陷
Bind4、Bind8版本都存在远程缓冲溢出缺陷,黑客能利用此缺陷,远程入侵DNS服务器,甚至可以获得root权限,更改服务器上的数据信息。
◆ 更改MX记录,造成邮件被截获、修改或删除。
◆ 更改A记录,使您的WWW服务器的域名指向黑客的具有同样WWW内容的主机,诱使访问者登录,获取访问者的密码等相关信息。
◆ 添加A记录,使黑客的主机拥有被相信的域名,以此来入侵通过启用域名信任机制的系统。
◆ 利用这台主机作为攻击其他机器的“跳板”。
开放的DNS请求
Bind软件的缺省设置是允许DNS对任何主机开放,即任何主机都可以用您的DNS服务器发送请求,如果不对自己的DNS服务器作限制IP地址的查询,黑客恶意利用DNS服务器,会产生如下后果:
◆ 巨量的DNS请求会造成服务器性能下降,无法提供正常的域名解析。
◆ 诱使服务器缓存错误信息,返给客户端错误的域名解析,同时,还会将错误的缓存发送给更多的域名服务器。
◆ 伪装某主机向DNS发送大量的请求,DNS服务器将大量的查询结果发送给被攻击主机,使被攻击主机所在的网络拥塞。
区域传输
Bind软件的缺省设置是允许主机间进行区域传输(zone transfer)。区域传输主要用于主域名服务器与辅域名服务器之间的数据同步,使辅域名服务器可以从主域名服务器获得新的数据信息。一旦起用区域传输而不做任何限制,很可能会造成信息泄漏,黑客将可以获得整个授权区域内的所有主机的信息,判断主机功能及安全性,从中发现目标进行攻击。
构建安全的域名系统
针对域名系统存在的安全威胁,我们应该尽量使用新版本的Bind,及时打补丁升级,并做些具体的安全配置,通过改变配置文件named.conf的内容,使域名服务器在功能性、安全性等方面得到增强。
限制对Bind软件的版本信息进行查询
黑客为了利用特定版本Bind软件的漏洞,首先需要确定其版本号。缺省情况下,Bind软件不限制对自身版本号的查询,所以任何人可以很容易地获取Bind软件的版本号。在Bind 8/9版本中,可以通过修改配置文件named.conf,加入version命令修改版本号。例如:
options {
version “hello”;
};
说明:使用命令“dig @dnsserver version.bind chaos txt”显示版本号为:“hello”。
限制请求DNS进行域名解析的IP地址
为了防止DNS被恶意利用,我们应该对请求DNS做域名解析的IP地址进行限制,只允许信任的IP地址进行查询,修改配置文件named.conf,加入allow-query命令进行限制。例如:
options {
allow-query 202.113.16.0/20;//只允许指定的网络地址利用此DNS进行域名查询
};
zone “nankai.edu.cn” In {
type master;
file “db.nankai”;
allow-query { any;};//允许任何主机查询授权域nankai.edu.cn
};
zone “nku.cn” In {
type master;
file “db.nku”;//允许任何主机查询授权域nku.cn
allow-query { any;};
};
1
2
3
下一页>>