chroot 作为linux系统一样非常重要的一个安全机制功能非常强大,
当然BIND也可以在chroot环境下运行.
这里主要讲述的是CentOS6 x86_64 环境下BIND的chroot运行
BIND非常方便就可以chroot,只要安装他的chroot包
如果什么都没有装的可以运行一下下面的语句,如果装了的话其实只装bind-chroot 这一个包就可以了.
一般情况下,CentOS6 只要你不是精简版,都包含了BIND.
yum -y install bind bind-chroot bind-libs bind-utils caching-nameserver
配置就方面的ZONE文件我就不在这里冗叙了,
需要注意的一点是,我们需要将原来的配置文件搬到chroot的环境下
一般情况是 /var/named/chroot/这个目录
cp /etc/named* /var/named/chroot/ cp -R /etc/pki/* /var/named/chroot/pki/
特别提示pki目录底下一般 只需要一个叫dnssec-keys的目录,其它都是不用的
接下来就是需要更改一下拥有者了,因为大部分情况下默认的所有者是root:root
如果不修改将会导致无法启动BIND, log 日志中显示
none:0: open: /etc/named.conf: permission denied
这样的错误
需要在chroot目录下执行
chown -R root:named *
还要注意的是需要在iptables开启对内路通讯的支持,不然会导致service named stop 时候等半天没有反应
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
------
经过一段时间的观察,将BIND chroot后,似乎 /var/log/messages 里面有关BIND的错误信息会少很多,不知道是不是受到的攻击的概率会变小.
2013-12-25 更新