Info: Version 1.3.1 is available.
Last modified: $Date: 2011-11-20 09:56:56 +0900 (Sun, 20 Nov 2011) $
TOMOYO Linux のポリシーはパス名で表現されるため、ファイルのアクセスを追跡するためにも利用できます。
特定のプログラムがどのようなファイルにアクセスしているかを知りたい場合や、特定のディレクトリにファイルを作成しているプログラムを知りたい場合に利用できます。
カーネルをコンパイルする方法については、TOMOYO Linuxカーネルの作成手順を参照してください。
rpm の場合、インストールに成功すると /boot/grub/grub.conf に以下のような記述が追加されているはずです。
title CentOS (2.6.9-42.0.3.EL_tomoyo_1.3) root (hd0,0) kernel /vmlinuz-2.6.9-42.0.3.EL_tomoyo_1.3 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.9-42.0.3.EL_tomoyo_1.3.img |
ここで、 kernel の行の末尾に init=/.init を追加します。
title CentOS (2.6.9-42.0.3.EL_tomoyo_1.3) root (hd0,0) kernel /vmlinuz-2.6.9-42.0.3.EL_tomoyo_1.3 ro root=/dev/VolGroup00/LogVol00 init=/.init initrd /initrd-2.6.9-42.0.3.EL_tomoyo_1.3.img |
deb の場合、インストールに成功すると /boot/grub/menu.lst に以下のような記述が追加されているはずです。
title Debian GNU/Linux, kernel 2.6.8-16sarge5-ccs root (hd0,0) kernel /boot/vmlinuz-2.6.8-16sarge5-ccs root=/dev/sda1 ro initrd /boot/initrd.img-2.6.8-16sarge5-ccs savedefault boot |
ここで、 kernel の行の末尾に init=/.init を追加します。
title Debian GNU/Linux, kernel 2.6.8-16sarge5-ccs root (hd0,0) kernel /boot/vmlinuz-2.6.8-16sarge5-ccs root=/dev/sda1 ro init=/.init initrd /boot/initrd.img-2.6.8-16sarge5-ccs savedefault boot |
/.init は TOMOYO Linux のポリシーをカーネルに読み込むためのスクリプトで、 /sbin/init の開始前に実行されます。
/.init は次の手順でインストールするツールの中に含まれています。
ツールをコンパイルするには、以下のコマンドを実行してください。
cd /root/ # TOMOYO Linux ツールのソースをダウンロードする。 wget -O ccs-tools-1.3-20061111.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/22559/ccs-tools-1.3-20061111.tar.gz' # 展開する。 tar -zxf ccs-tools-1.3-20061111.tar.gz # コンパイルする。 make -sC ccstools/ # ポリシーローダーを / へ移動する。 mv ccstools/.init / |
/etc/ccs/manager.txt を作成し、以下の内容を指定します。
/root/ccstools/editpolicy |
/etc/ccs/status.txt を作成し、以下の内容を指定します。
MAC_FOR_FILE=1 MAX_ACCEPT_FILES=1048576 MAX_GRANT_LOG=0 MAX_REJECT_LOG=0 TOMOYO_VERBOSE=0 |
以下のコマンドを実行した結果を /etc/ccs/exception_policy.txt として保存してください。
/root/ccstools/make_exception.sh | grep ^file_pattern | sort | uniq |
TOMOYO Linuxカーネルで起動します。
/.init の実行に成功すると、以下のようなメッセージが表示されますので、そのまま Enter を押してください。
Press 'Enter' or wait for 10 seconds to use default status. You may input 'disabled' and press 'Enter' to disable MAC in case of emergency. > |
プロファイルの読み込みが成功すると、 /sbin/init が開始されてシステムが起動します。
失敗した場合は、以下のようにメッセージが表示されて停止します。
No profiles loaded. Run policy loader using 'init=' option. |
失敗した場合は以下の点を確認してください。
解析したいアプリケーションを動作させます。
/root/ccstools/editpolicy を実行すると、現在に至るまでに実行されたプログラムの一覧を表示できます。プログラムを選択して Enter を押すと、そのプログラムがアクセスしたファイルの一覧が表示されます。ポリシーエディタの使い方については、ポリシーエディタの使い方を参照してください。
/root/ccstools/savepolicy を実行すると、現在に至るまでにアクセスされたファイルの一覧を /etc/ccs/domain_policy.txt に保存することができます。