加强DNS安全:可在Chroot下运行BIND
dn001
将BIND运行于chroot的方式将加强安全性。本文在Debian Sarge上测试过,其他版本请自行依照实际情况做修改。
如果你还没安装过BIND,请执行以下命令安装Bind 9。
Code:
apt-get install bind9
|
在修改配置前,先停止Bind服务:
Code:
/etc/init.d/bind9 stop
|
打开配置文件:
Code:
nano -w /etc/default/bind9
|
将内容更改为:
Code:
OPTIONS="-u bind -t /var/lib/named"
|
建立相关目录:
Code:
mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
|
移动配置目录:
Code:
mv /etc/bind /var/lib/named/etc
|
建立链接,以便以后升级Bind:
Code:
ln -s /var/lib/named/etc/bind /etc/bind
|
创建null和random设备,以及设置目录的所有权:
Code:
mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind
|
紧接着我们需要修改对 syslog 的配置,以便能准确的得到日志文件。
Code:
nano -w /etc/init.d/sysklogd
|
找到 SYSLOGD=,将之修改为 SYSLOGD="-a /var/lib/named/dev/log" 。
重起syslog daemon:
Code:
/etc/init.d/sysklogd restart
|
启动Bind:
Code:
/etc/init.d/bind9 start
|
之后可通过 tail /var/log/syslog 来查看出错日志。