[tomoyo-users 850] Re: WARNING メッセージの種類

Back to archive index

早間義博 yossi****@yedo*****
2011年 5月 28日 (土) 17:20:34 JST


早間です。
[tomoyo-users 846]
> > <kernel>  /usr/bin/kterm /usr/bin/perl
> > 
> > で止まっていれば perl の更新も怖くありません。
> > 自分で perl などを更新するユーザだけが危険を冒せば良いのです。
> 
> ドメイン名については allow_execute で指定されたパス名を利用しており、
> allow_execute ではシンボリックリンク解決前のパス名を用いているため、
> <kernel> /usr/bin/kterm /usr/bin/perl5.12.3 のようなドメイン名にはならないと
> 思うのですが?
> 
> −−−−−−−−−−−−−−−−−−−−
> 

上記説明を読み間違えているのでしょうか。私は
(1)  <kernel> /usr/bin/kterm で
       allow_execute /usr/bin/perl
     と指定する。
(2) /usr/bin/perl5.12.3 が実行されるときドメイン名は
   「シンボリックリンク解決前」のパス名  /usr/bin/perl が使用され
   るので
      <kernel> /usr/bin/kterm /usr/bin/perl
   となる。

と理解しました。そこで、
(3) domain_policy.conf のすべての
      /usr/bin/perl5.12.3
   を
      /usr/bin/perl
   に通常のエディタで書き換えました。
(4) tomoyo-loadpolicy fd を用いて /usr/bin/perl5.12.3 の無い
    domain_policy をロードしました。

ドメインや allow_execute に
    /usr/bin/perl5.12.3
が学習されず、ドメインやallow_execute に
    /usr/bin/perl5.12.3
が入り込まないことを願っていました。

いずれにしても、結果が予測と違っていたので他の選択肢を探すことにな
ります。

また、 [tomoyo-users 846]
> emerge するドメインにはアクセス制御を適用しない方が良いと思いま
> す。

多くのコマンドを perl で作成し、常駐している関係でこの選択肢は採用
したくありません。

[tomoyo-users 849]
> 
> (0) TOMOYO をインストールして init_policy を実行する
> (1) domain_policy.conf の <kernel> ドメインの use_profile を 1 に変更する
> (2) 再起動して学習させ、システム全体の大まかな動作を把握する
> (3) 何を keep_domain や initialize_domain や file_pattern に指定するかを決定する
> (4) 例外ポリシーに keep_domain や initialize_domain や file_pattern を追加する
> (5) domain_policy.conf だけを削除して、 init_policy を再実行する
> (6) domain_policy.conf の <kernel> ドメインの use_profile を 1 に変更する
> (7) 再起動して学習させ、細かな動作まで把握する
> (8) チューニングをして問題が無いことを確認して、強制する
> 

私にとって現有の domain_policy.conf は宝物です。xterm みたいなも
のは毎日使用するので少々問題が出ても対応できます。apache で単純に
表示をしたり sendmail のようなものは良いのですが、apache でも cgi
などの解析は learning mode だけでは必要なドメインを取得できている
と考えることは難しいです。それでも、apache では当該 cgi コマンドに
エラーを生じるだけで、全体は安全に推移します。
コマンドには今世紀中実行を続けることの出来るものもあります。
(社会情勢が許さないでしょうが、とりあえず 8年経ちました)
このようなコマンドには様々なパスがありソースを解析しても見落とすこ
ともあります(日、週、月ごとに動作が異なります、月、年が変われば新
しいディレクトリもいります。まもなく月が変わるので新しい条件が加わ
るでしょう。ソースを見れば判るのですが、learning modeに任せるつも
りです。)
このような状況のもとに作成した domain_policy.conf を新規に作成し直す
など思いもよらないことです。
tomoyo の新しい版に移行する時に設定の形式などが異なっていれば、
変換プログラムを作成し、新版での機能を確認することになるでしょう。
xterm での設定が整えば 
 ・ xterm の設定を kterm の設定としてコピーし kterm 特有の条件
   を加味して使用します。
 ・ xterm の設定を sshd で起動される sh の設定としてコピーし
   設定を勘案して使用します。
 ・ xterm の設定を login で起動される sh の設定としてコピーし
   設定を勘案して使用します。

tomoyo-sortpolicy を使用するとドメインが順番に並ぶのでここから
必要なドメイン(群)を抽出して他のホストにもコピーします。
まだ、作っていませんがドメイン内の非実在のファイルに対する設定を
削除するつもりです。
これらの状況を乗り越えて enforcing mode の適用を目指しているのです。

> 早間義博 さんは書きました:
> > ドメインだけがシンボリックリンクの最終パスに変わっているようです。
> 
> そのような処理は思い当たらないのですが・・・。
> 
> 要求されたプログラム(例えば /usr/bin/swatch )が
> 
> #! /usr/bin/perl
> 
> で始まる場合、 /usr/bin/swatch のシンボリックリンクを解決前のパス名である
> /usr/bin/swatch に対する allow_execute と、 /usr/bin/perl のシンボリック
> リンクを解決後のパス名である /usr/bin/perl5.12.3 に対する allow_read が
> チェックされるので、 /usr/bin/swatch を実行するドメインに対して
> allow_execute /usr/bin/swatch が、 /usr/bin/swatch が動作するドメインに対して
> allow_read /usr/bin/perl5.12.3 が学習される筈です。
> 
> 
> 
> > tomoyo-loadpolicy fd で実行したのですが
> > <kernel> /usr/bin/swatch /usr/bin/perl5.12.3
> > <kernel> /usr/bin/swatch /usr/bin/perl5.12.3 /bin/date
> > <kernel> /usr/bin/swatch /usr/bin/perl5.12.3 /bin/tail
> > は残っていたのでしょうか、
> > 
> > <kernel> /usr/bin/swatch /usr/bin/perl5.12.3 /usr/local/bin/swatchmail
> > 
> > は作られず、log は WARNING で溢れかえって(と言っても 20000 位)いま
> > した。
> > domain.policy.conf を以前の状態に戻すと平穏になりました。
> > 
> ポリシーの残骸による混乱をされているようですね。
> 特に、 use_profile 2 (確認モード用プロファイル)での作業は、ドメインは
> 作成されるけれども allow_execute や allow_read などは学習されないために、
> 混乱を招く原因になります。
> 
> (0) TOMOYO をインストールして init_policy を実行する
> (1) domain_policy.conf の <kernel> ドメインの use_profile を 1 に変更する
> (2) 再起動して学習させ、システム全体の大まかな動作を把握する
> (3) 何を keep_domain や initialize_domain や file_pattern に指定するかを決定する
> (4) 例外ポリシーに keep_domain や initialize_domain や file_pattern を追加する
> (5) domain_policy.conf だけを削除して、 init_policy を再実行する
> (6) domain_policy.conf の <kernel> ドメインの use_profile を 1 に変更する
> (7) 再起動して学習させ、細かな動作まで把握する
> (8) チューニングをして問題が無いことを確認して、強制する
> 
> という手順に従ってポリシーを再作成されることを推奨します。本格的なポリシーを
> 作成する場合、 (5) で今までの学習結果をリセットすることが重要です。
> (4) では、 path_group や number_group や aggregator も追加しても良いでしょう。
> 
> _______________________________________________
> tomoyo-users mailing list
> tomoy****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/tomoyo-users
> 

-- 早間




tomoyo-users メーリングリストの案内
Back to archive index