chroot jail機能について

 Turbolinux 10 Server(先行評価版)では、前バージョンの8 Serverよりもセキュリティ面を向上させる為、chroot jail が採用されています。しかもTurbolinux 10 Serverでは、この設定がデフォルトでOnになっている為、従来の設定ではBINDは実稼動してくれません。十分注意しましょう。

chroot jailとは?

 chrootはファイルシステム内の特定のサブディレクトリを、仮想的なルートディレクトリとして見せかける機能です。つまり、通常/etcディレクトリと/var/namedディレクトリ以下にあるBINDの設定ファイルを、/var/named/chroot以下の/etcディレクトリと/var/namedディレクトリ以下に置くことによって、万が一クラッカーに権限を奪取された場合でも、その被害をchrootしたファイルシステム内にとどめることが出来る訳です。このようにchrootされた仮想的なルートディレクトリは、通常jail(拘置所、刑務所、牢屋)と呼ばれます。

/var /named /chroot /etc named.conf
        rndc.key
      /var /named
        /run
        /tmp
    /slaves    
    named.ca    
    named.local    

※上の青色部分が仮想的ルートディレクトリです。

chroot jailの設定ファイル

 chroot jailの設定ファイルは以下の場所にあります。

/etc/sysconfig/named

Turbolinux 10 Serverでは、この設定ファイルnamedの中のchroot設定行が以下のようにデフォルトで有効になっています。

# Currently, you can use the following options:
# ROOTDIR="/some/where" -- will run named in a chroot environment.
# you must set up the chroot environment before
# doing this.
# OPTIONS="whatever" -- These additional options will be passed to named
# at startup. Don't add -t here, use ROOTDIR instead.
ROOTDIR=/var/named/chroot ←該当の設定文

もし、BINDを従来の設定のままで使いたい時は、この行の頭に「#」を付けてコメントアウト(無効化)しましょう。

ゾーンファイル設定の注意点

 今回、新たにバーチャルドメインを登録する際、ちょっと躓いた事がありましたので、注意の為覚書を残します。/var/named/chroot/var/namedディレクトリ以下に置かれた各ゾーンファイルの属性ですが、ユーザがrootでグループがnamedでなくては正常に動いてくれません。新たにゾーンファイルを作る際、root権限で既存のファイルをコピーして内容を修正したので、ユーザ、グループ共にrootに変わっていた事に気が付きませんでした。本当に初歩的なミスですが、半月ほど悩み抜きましたので、戒めの為にもここに記録しておきます。尚、各設定ファイルのパーミッションは「640」です。