Debian GNU/Linux 7.1.0 に 構築した DNS サーバ BIND を chroot 化する方法についての記録です。
以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
ちなみに、「BIND の chroot 化」とは、仮に BIND に脆弱性があった場合に root 権限を奪われては困るので、BIND のルートディレクトリを別のディレクトリに設定することです。
0. 前提条件
- 構築先は Debian GNU/Linux 7.1.0 を想定。
- DNS サーバ BIND が構築済みであることを想定。
- chroot ディレクトリは
/var/bind9/chroot/
とする。
1. BIND 停止
BIND が起動していると設定に失敗するので、BIND が起動している場合は停止する。
1
|
|
2. 起動オプション編集
起動時のオプションを変更するよう “/etc/default/bind9” を編集する。
File: /etc/default/bind9
1 #OPTIONS="-u bind -4"
2 OPTIONS="-u bind -4 -t /var/bind9/chroot"
3. ディレクトリ作成
chroot 用ディレクトリを作成する。
1
|
|
4. スペシャルファイル作成
chroot 化に必要なスペシャルファイルを作成し、パーミッションを変更する。
1 2 3 |
|
5. ディレクトリ移動
元々の BIND ディレクトリを chroot 用ディレクトリへ移動する。
1
|
|
6. シンボリックリンク作成
BIND を chroot 用ディレクトリにリンクするようシンボリックリンクを設定する。
1
|
|
7. 所有者・グループ・パーミッション変更
所有者・グループ・パーミッションを変更する。
1 2 3 |
|
8. 起動スクリプト編集
起動スクリプト “/etc/init.d/bind9” 内の PID ファイルのパスを変更する。
File: /etc/init.d/bind9
1 PIDFILE=/var/bind9/chroot/var/run/named/named.pid
9. システムログ設定
rsyslog にログを出力するよう設定を編集する。
1
|
|
10. syslogd 再起動
システムログ設定を編集したので、syslogd を再起動する。
1
|
|
11. BIND 起動
停止していた BIND を起動する。
1
|
|
参考サイト
以上。