Posted by & filed under server, unix.


前回からの続き。

jail の作成と、初期設定まで。

jail の作成と設定

base jail の作成が出来たら、 jail を作成する。

まずはホスト側の設定。

jail 用の IP アドレスを用意する

rc.conf に次を追記

ifconfig_xxxx_aliasx="inet 10.0.0.xxx netmask 255.255.255.255"

インターフェース名だとか、 alias の数だとかに応じて適宜 ‘x’ の部分は変更する。

再起動しないのであれば、 ifconfig コマンドで設定もしておく。

# ifconfig xxxx alias 10.0.0.xxx 255.255.255.255

jail 用の IP アドレスを bind しないように設定する

listen するようなサーバーソフトがある場合は、 jail 環境の IP アドレスを bind しないように、設定ファイルを書き換える。

sshd

/etc/ssh/sshd_config

ListenAddress 127.0.0.1
ListenAddress 10.0.0.xxx # host ip address

syslogd

/etc/rc.conf

syslogd_flags="-s -b 10.0.0.xxx" # host ip address

postfix

/usr/local/etc/postfix/master.cf

127.0.0.1:smtp      inet  n       -       n       -       -       smtpd
10.0.0.xxx:smtp      inet  n       -       n       -       -       smtpd

jail を作成

設定が出来たら ezjail-admin で新しい jail を作成する。

# ezjail-admin create ns1.example.com 10.0.0.xxx

作成した jail を有効化するには、次のコマンドを実行する。

# /usr/local/etc/rc.d/ezjail.sh start

停止するには、

# /usr/local/etc/rc.d/ezjail.sh stop

起動時に自動的に有効にするには、 /etc/rc.conf に、

ezjail_enable="YES"

と書けばOK.

まずはパスワードを設定

jexec ユーティリティを使って、シェルを起動して root パスワードを設定する。

# jexec JID /bin/sh

JID が分からないときは、 /var/run/jail_***.id の中身を見て確認。

jail 側のログイン環境を整える

パスワードを設定したら、ログイン環境として、 SSH を設定する。

[jail] /etc/rc.conf

sshd_enable="YES"

[jail] /etc/ssh/sshd_config

ListenAddress 10.0.0.xxx # jail ip address
jail# /etc/rc.d/sshd start

その他の設定

[jail] /etc/rc.conf

ポートマッピングやネットワークインターフェースの設定を無効にする。

rpcbind_enable="NO"
network_interfaces=""
sendmail_enable="YES"

[jail] /etc/crontab

以下の行をコメントアウトする。 bios の時刻合わせを無効に。

1,31 0-5 * * * root adjkerntz -a

[jail] /etc/hosts

jail 環境の中では、ループバックインターフェース lo0 には IP アドレスが振られない。

jail 環境の IP アドレスを localhost として設定してやる。

#::1                    localhost localhost.my.domain
#127.0.0.1              localhost localhost.my.domain
10.0.0.xxx localhost
10.0.0.xxx ns1.example.com