BIND最新漏洞和升级解决办法

现在有非常多的公司的都有自己的DNS服务器,也有非常多的公司使用BIND搭建智能DNS服务器。如果bind服务器挂掉那么公司的所有网站都可能会无法访问,那么BIND的安全就至关重要了,如何能通过技术手段加强bind的安全呢?我们这里要介绍的是通过定期查看权威漏洞网站来加固我们的bind服务器,当发现严重的漏洞时能及时的将漏洞补上,加强bind服务器的安全和稳定。

http://sebug.net权威漏洞网站上查看到,服务器目前使用的bind版本9.9.0b2存在几个比较严重的远程拒绝服务漏洞,这些漏洞包括: CVE-2012-3817CVE-2012-3868CVE-2012-1667,这两个漏洞的等级都为高。以下是对几个漏洞的介绍:

CVE-2012-3817漏洞:

Ø  影响版本:

BIND 9.6-ESV-R19.6-ESV-R7-P1BIND 9.7.19.7.6-P1BIND 9.8.09.8.3-P1BIND 9.9.09.9.1-P1版本

Ø  漏洞描述:

攻击者可利用此漏洞造成指定进程中的断言失败,拒绝服务合法用户,也可能泄露某些内存信息到客户端。

Ø  漏洞解决办法:

升级版本至9.6-ESV-R7-P29.7.6-P29.8.3-P29.9.1-P2

CVE-2012-3868漏洞

Ø  影响版本:

BIND 9.9.09.9.1-P1版本

Ø  漏洞描述:

BIND 9加载大量的TCP查询存在安全漏洞,允许攻击者提交大量请求触发内存泄露,使名字服务程序停止响应,造成拒绝服务攻击。

Ø  漏洞解决办法:

BIND版本升级至9.6-ESV-R7-P1, 9.7.6-P1, 9.8.3-P1, 9.9.1-P1或者9.9.1-P2

CVE-2012-1667漏洞:

Ø  影响版本:

9.0.x -> 9.6.x, 9.4-ESV->9.4-ESV-R5-P1, 9.6-ESV->9.6-ESV-R7,9.7.0->9.7.6, 9.8.0->9.8.3, 9.9.0->9.9.1

Ø  漏洞描述:

在处理DNS资源记录时存在错误,可被利用通过包含零长度rdata的记录造成递归服务器崩溃或泄漏某些内存到客户端,导致敏感信息泄漏或拒绝服务。

Ø  漏洞解决办法:

升级到BIND 9.9.1-P2版本

 

    知道了BIND服务器存在的漏洞,那么我们就可以很好的来避免危险的发生了。接下来我就来详细介绍如何将BIND版本9.9.0b2升级到 BIND 9.9.1-P2版本。不过有的朋友可能也不清楚自己的bind用的什么什么版本,我们可以采用如下命令来查看:

/usr/local/bind/sbin/named –V

BIND 9.9.0b2 built with '--with-dlz-mysql=/usr/local/mysql/' '--enable-largefile' '--enable-threads=no' '--prefix=/usr/local/bind' '--with-openssl=yes'

using OpenSSL version: OpenSSL 0.9.8e-rhel5 01 Jul 2008

using libxml2 version: 2.6.26

这个命令可以返回bind的版本、编译参数、openssl版本、libxml2的版本。

升级BIND主要包含如下步骤:

1.   备份bind目前的版本数据

cp -ar /usr/local/bind /data/backup/bind_20120827

2.   下载bind-9.9.1-P2版本

wget http://ftp.isc.org/isc/bind9/cur/9.9/bind-9.9.1-P2.tar.gz

3.   安装bind-9.9.1-P2版本

tar xzvf bind-9.9.1-P2.tar.gz

cd bind-9.9.1-P2

#编译的时候的参数最好和老版本的一致

./configure --with-dlz-mysql=/usr/local/mysql/ --enable-largefile --enable-threads=no --prefix=/usr/local/bind --with-openssl=yes

make 

make install

4.   重启bind

#杀掉named进程后启动新版本bind

kill -9 `ps aux | grep named|grep -v "grep" | awk '{print $2}'`

/usr/local/bind/sbin/named -c /usr/local/bind/etc/named.conf

5.   查看版本情况

/usr/local/bind/sbin/named –V

#此时我们已经可以看到新版本的bind信息了

BIND 9.9.1-P2 built with '--with-dlz-mysql=/usr/local/mysql/' '--enable-largefile' '--enable-threads=no' '--prefix=/usr/local/bind' '--with-openssl=yes'

using OpenSSL version: OpenSSL 0.9.8e-rhel5 01 Jul 2008

using libxml2 version: 2.6.26

6.   测试解析是否正常

dig @119.135.22.32 www.baidu.com

此时如果dns解析正常的话,整个升级过程就完成了。

总结:作为一个系统管理员或者网络管理员,我们应该定期地去权威的漏洞网站,查看我们线上使用的软件以及系统是否存在严重的安全漏洞,一经发现则要提高安全意识,尽快的将漏洞补上,减少安全事件的发生。sebug.net是一个很好的权威漏洞网站,大家没事的时候可以多去逛逛。对于以上的几个bind的安全漏洞也希望广大的IT技术人员能够引起注意。

 

相关文章: