FreeBSD には, jail という文字通り,プロセスを”監獄”に閉じ込める仕組みがある.
閉じ込めてしまうことで,もし仮にそのプロセスが乗っ取られてしまっても,被害がサーバー全体に及ぶのを防ぐことが出来る.
今回は,それを使って,ネームサーバーを立ててみる.
ezjail の準備
まずは ports からインストール.
# cd /usr/ports/sysutils/ezjail # make install clean
インストールしたら設定ファイルを書く.
# cp /usr/local/etc/ezjail.conf.sample /usr/local/etc/ezjail.conf # vi /usr/local/etc/ezjail.conf
jail のインストールディレクトリと使用する ftp サーバーを指定する.
ezjail_jaildir=/usr/jails ezjail_ftphost=ftp4.jp.FreeBSD.org
設定が終わったら, basejail を構築する.
# ezjail-admin update -i
make world するのでかなり時間がかかる.
.
make world するには,ソースファイルが必要.インストール時に選択していない場合は,sysinstall から
Configure -> Distributions -> src -> All
で取得する.さらに, csup の supfile を編集し,
src-all
を追記して,
# cd /usr/src # make update
すると,最新版に更新することが出来る.
.
後は完了するまで放置.