Tetsuo Handa
from-****@I-lov*****
2006年 9月 25日 (月) 18:36:11 JST
熊猫です。 > これだけのドメインそれぞれにモードがあるもの少々多すぎる気がしましたが、どうでしょうか? だから 47 種類もある個別項目(例:MAC_FOR_FILE)を直接指定するのではなく プロファイルを複数定義してその番号を指定するだけで済むようにしています。 直接指定だと書き換えるのも面倒でしょうし。 > <kernel> /sbin/modprobe > use_profile 0 > <kernel> /sbin/modprobe /bin/bash > <kernel> /sbin/modprobe /bin/bash /bin/mount > <kernel> /sbin/modprobe /bin/bash /bin/true > のような指定で <kernel> /sbin/modprobe から遷移するドメインは use_profile 0 指定を引き継ぐという方法です。 > この方法だと、先に熊猫さんが httpd を例にして挙げられた内容も確保できますし、書き方によってはやはり > プロファイル数を削減できますよ。 use_profile を記述する必要がある行数、という意味でしょうか? ドメインの数だけプロファイルを作成するわけではなく、 使い分けたいモードの数だけ作成するわけですから、 プロファイルは多くても10個くらいしか存在しないと思います。 TOMOYO では継承という概念を極力排除しています。 継承は便利そうでも調整や判断が必要になったときに 調査・更新対象範囲が大きくなり面倒なものなのです。 継承を行うと小回りが利かなくなってしまいます。 もし <kernel> /sbin/modprobe /bin/bash /bin/true に関して use_profile が 指定されていなかった場合、どのようなプロファイルが使われるかを知るためには 親ドメインへ遡らなければなりません。 ポリシーファイルをテキストエディタでオープンして <kernel> /sbin/modprobe /bin/bash ドメインの定義されている箇所を探し出し、 そのドメインに use_profile が指定されているかどうかを確認し、指定されていなければ <kernel> /sbin/modprobe ドメインの定義されている箇所を探し出し、 そのドメインに use_profile が指定されているかどうかを確認しなければいけません。 <kernel> /sbin/modprobe /bin/bash ドメインだけプロファイルを変更しようとすると <kernel> /sbin/modprobe /bin/bash 直下の全てのドメインに <kernel> /sbin/modprobe ドメイン用の use_profile を記述しなければいけなくなります。 たとえ記述量が増えたとしてもポリシーファイルの中では <kernel> /sbin/modprobe use_profile 0 <kernel> /sbin/modprobe /bin/bash use_profile 0 <kernel> /sbin/modprobe /bin/bash /bin/mount use_profile 0 <kernel> /sbin/modprobe /bin/bash /bin/true use_profile 0 のように全てに記述した方が無難なのです。 > 最後に、学習モードで新規に認識されるドメインはどのようにプロファイルと結びつけるのかが > 新たな課題になっているように思えます。 おっと入れ違いですね。 http://lists.sourceforge.jp/mailman/archives/tomoyo-users/2006-September/000114.html で説明しましたが、 新規のドメインへ遷移する場合は遷移元ドメインが使用しているプロファイル番号を引き継ぎ、 既存のドメインへ遷移する場合は遷移先ドメインが使用しているプロファイル番号を使用します。 あるドメインから /usr/sbin/httpd を起動された場合 <kernel> /usr/sbin/httpd が既に存在していれば <kernel> /usr/sbin/httpd に割り当てられているプロファイルを、 存在しなければ /usr/sbin/httpd を呼び出したドメインに割り当てられているプロファイルを使用するわけです。 > ドメインとプロファイルを結びつけるとして、この関係までは自動学習で決定できませんよね。 そうですね。でも、管理者の意思によって複数プロファイルを使い分ける以上、 管理者がドメインを作成するのと同時にプロファイルも指定するのが普通でしょうから、 このようなルールで対応できると思います。 > 現状の動かしただけで学習が終了する手順にもうワンステップ必要になるということでしょうね。 個別に指定できるようにしたいから複数プロファイルを許可するのですから、 現在の手順に比べて手間が増えるのは避けられません。