« ターゲットとなるapの監査ログを取得 (selinux) | メイン | trackbackの手動設定 »

監査ログよりポリシーの作成 (selinux)

selinuxの監査ログより新規ポリシーの作成について

監査ログの取得により、ブロックされている状態がわかる。

※監査ログの例
type=AVC msg=audit(): avc: denied { read } for pid=12345 comm="php" name="db" dev=hdc5 ino=123456 s
context=root:system_r:postfix_local_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir

これは、コマンドを実行したが、コマンド実行元ソースコードが格納されているファイルの属性等と実行した結果としてのアクションが、許可されていなかったために監査ログが出力された。
具体的に言うと、root:system_r:postfix_local_tの属性をもつコマンドソースファイルよりphpコマンドを実行したが、実行時に読み込もうとしたファイルのread権限がなくて、監査ログに記録されたもの。

ターゲットとなるコマンドを実行し、監査ログが出力されるのを監視する。
deniedと表示された行の前後を切り取り、許可となるポリシーを作成するコマンドは以下の通り。

# cat /var/log/audit/audit.log | audit2allow -m newpolicy > newpolicy.te
newpolicy.te に許可となるポリシーが書き出される。

(出力例)
---
module newpolicy 1.0;

require {
class capability sys_chroot;
type pop_port_t;
type postfix_smtp_t;
role system_r;
};

allow postfix_smtp_t self:capability sys_chroot;
---

内容は別の機会に譲る(笑)

作成されたファイルを適用するには、以下の手順による。
# checkmodule -M -m -o newpolicy.mod newpolicy.te
# semodule_package -o newpolicy.pp -m newpolicy.mod
# semodule -i newpolicy.pp

この記事のパーマリンク

このエントリーのパーマリンクURL:
http://blog.sailine.net/2007/03/newpolicy_make_selinux.html

ブラウザのURLが異なっており「キャッシュ」表記が無い場合は著作権侵害です。著作権者にご連絡ください。(以下URL)

http://fusekako.jp/contact/contact.html

トラックバック

このエントリーのトラックバックURL:
http://blog.sailine.net/bin/mt-tb.cgi/31

迷惑トラックバック撲滅中! 当ページへトラックバックしている旨の書込みをお願いします。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

ご注意!!

著作権表示
このblogのオリジナルURLは
http://blog.sailine.net
です。
キャッシュで保持する場合はキャッシュであることを明示してください。明示しない場合は著作権侵害となります。
This blog is "http://blog.sailine.net" saving.
The contents must be displayed in above URL or based.
If you tried to show the blog with different the URL,you must license from the copyright holder.

About

linux雑多に投稿された記事です。

ひとつ前の投稿は「ターゲットとなるapの監査ログを取得 (selinux)」です。

次の投稿は「trackbackの手動設定」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Copyright 2007-2010 ©彩らいん!もじサイト