Tetsuo Handa
from-****@I-lov*****
2006年 9月 3日 (日) 00:13:20 JST
お待たせいたしました。 ただいまからダウンロード可能です。 1.2 ではパターンマッチングの強化のためにワイルドカードの解釈方法が 変更されましたが、 1.1.3 用のポリシーを 1.2 でもそのまま利用できます。 1.2 では条件付きアクセス許可の指定が可能になりました。 例えば、 SSH サーバ( <kernel> /usr/sbin/sshd ドメイン)を保護する際に 1 /bin/bash というログインシェルの実行許可を 1 /bin/bash if task.uid!=0 task.euid!=0 のように変更することで root ユーザとしてログインすることを (アプリケーションレベルではなくカーネルレベルで)禁止できます。 http://www.cyberpolice.go.jp/server/rd_env/pdf/20060817_SSH.pdf によると SSH サーバへの攻撃が増えてきているようです。 1.2 ではネットワークのアクセス制御が強化されたことにより、 ログイン認証の多重化という対策以外にも、 SSH クライアントの ポート番号による制限という対策も実現できるようになりました。 通常は allow_network TCP accept 10.0.0.1-10.0.0.255 1024-65535 のように広い範囲のポート番号を許可する必要がありますが、 特定のローカルポート番号にバインドするプロキシを経由して SSH サーバに接続するように構成してやることで allow_network TCP accept 10.0.0.1-10.0.0.255 65515-65535 のように SSH サーバ側でクライアントのポート番号を制限することができます。 SSH クライアントには使用するローカルポートを指定する機能が無いので、 SSH クライアントマシン上で動くプロキシを用意する必要があります。 試作してみたところ、C言語でも150行程度で実現できそうです。 (xinetd 経由でやったらもっと簡単だったかも?) http://lists.sourceforge.jp/mailman/archives/tomoyo-users/2006-August/000102.html で お知らせした内容について、1点補足です。 > path2.uid および path2.gid はパーミッションチェックの時点では > まだ存在しないパス名であるため指定できません。 と書きましたが、 rename 操作に於いては、 path2 が存在した場合には EEXIST エラーを返すのではなく 暗黙のうちに unlink または rmdir 操作を行っていることが判明しました。 そのため、本来は path2 の指定も可能であるべきですが、現時点では対処できていません。 allow_rename from_file to_file という許可を与えると、暗黙のうちに ( rename 操作により) to_file の unlink または rmdir 操作も許可されることにご注意ください。 それから、 1.1.3 まではポリシー用メモリ割り当てを int のサイズでアライメントしていたため、 「 int のサイズが 32 ビットでポインタが 64 ビットの環境(例えば x86_64 )」で なおかつ「 SMP 環境で使用」している場合には、アクセス許可の追加または削除中に その1つ前のアクセス許可が参照されるとクラッシュする可能性があることが判明しました。 1.2 では long のサイズとポインタのサイズの大きい方でアライメントするように修正されています。 話は変わりますが Fedora Core 4 のサポートが Fedora Legacy に移行されたようです。 http://www.fedoralegacy.org/ から yum の設定をダウンロードできます。 Cent OS 4.4 がリリースされたようです。 http://www.centos.org/ カーネルは 4.3 と同じバージョンを使用しているようですので (私はまだインストールしていませんが) TOMOYO カーネルでもそのまま動くと思います。