2008年10月22日

[jsosug:00027] Re:EnforcingモードでMailman(保存書庫)を使えるようにするには?

海外です。

今、手元にRHEL5のパッケージがありませんでしたので、Centクンの同一バージョンの
selinux-policy を確認してみました。

すると、確かに mailman_mail_t の人が mailman_archive_t ファイル/ディレクトリに
アクセスする権限が与えられていないようです。

mailman_archive_t 読み書き可能なのは以下の2種類
- mailman_cgi_t (CGIとして起動されるプロセス)
- mailman_queue_t (Cronから起動されるプロセス)

(*) mailman_mail_t はこれに含まれない

ひとまず、近藤さんの問題は audit2allow で解決したとの事ですが、もしかすると
selinux-policy の方の問題の可能性もありますので、よろしければもう少し詳しく
状況を教えて頂けないでしょうか?

一つ可能性として考えられるのは、ファイルのセキュリティコンテキストをデフォルトから
変更したために、正しくドメイン遷移が行なわれず、結果、mailman_mail_t ドメインから
アーカイブを参照したという場合です。
(本来、mailman_queue_t で動いてほしかったのに…というケースです)

確認のために、以下のスクリプトを走らせてもらえないでしょうか?
--------
rpm -ql mailman | while read fname
do
DCON=`env LANG=C matchpathcon $fname | awk '{print $2}'`
FCON=`env LANG=C ls -dZ $fname | awk '{print $4}'`
test "$DCON" = "$FCON" || echo "$fname $DCON => $FCON"
done
--------
これは、mailman関連のファイルが、標準のセキュリティコンテキストから変更されて
いれば、それを画面に出力するものです。

また、採取した audit_mailman.log を見せて頂ければ、もう少し詳しい
アドバイスができるかもしれません。
(通常、auditファイルはサイズが大きくなりがちですので、個人宛にお願いします (_o_)

結果、ポリシーに問題があるようでしたら、RedHat/Fedoraのバグレポートとして
上げておき、次のアップデートで反映されるように言っておきます。

では、よろしくお願いします。

kondo wrote:
> 近藤です。
>
> お世話になります。
>
> 今まではRedHat9+Mailmanソースからの構成でやってましたが、
> MailmanのサーバをRedHatEL5のサーバにリプレースすることになりました。
> メンテナンスの負担のことを考えてパッケージ版のRPMで構築して
> どうやら動いているようです。旧サーバからの移行もできそうなことも
> 確認しました。
> ただ、これからセキュリティ関係の設定をしようと思い、SELinuxを
> 有効にしたところ、メールの配送はできますが、保存書庫にメールが
> 貯まりませんでした。
>
> 日系Linux2006頃の新SELinux入門という記事を見ながらSELinuxの
> モジュールを作成しようとしていますが、makeでエラーになります。
> 助言をいただけたらと思います。
> よろしくお願いします。
>
> <環境情報>
> # rpm -qa | grep selinux
> libselinux-devel-1.33.4-5.el5
> libselinux-python-1.33.4-5.el5
> selinux-policy-devel-2.4.6-137.1.el5_2
> libselinux-1.33.4-5.el5
> selinux-policy-2.4.6-137.1.el5_2
> selinux-policy-targeted-2.4.6-137.1.el5_2
> # uname -a
> Linux XXXXXXX 2.6.18-92.1.13.el5 #1 SMP ・・・
>
> <make結果>
> # make
> Compiling targeted mailman_archive module
> /usr/bin/checkmodule: loading policy configuration from
> tmp/mailman_archive.tmp
> mailman_archive.te:2:ERROR 'syntax error' at token 'modulle' on line 83188:
> modulle local 1.0;
> #line 1 "mailman_archive.te"
> /usr/bin/checkmodule: error(s) encountered while parsing configuration
> make: *** [tmp/mailman_archive.mod] エラー 1
> # rpm -qa | grep mailman
> mailman-2.1.9-4.el5
>
> <audit2allowの実行結果>
> auditdを起動し、permissiveモードでMailmanを使って出力されたauditログを
> audit2allowを使ってみた結果です。
>
> # audit2allow -i audit_mailman.log
>
>
> #============= mailman_mail_t ==============
> allow mailman_mail_t mailman_archive_t:dir { write remove_name search
> getattr add_name };
> allow mailman_mail_t mailman_archive_t:file { setattr read create write
> getattr link unlink append };
>
> <teファイルとfcファイルの内容>
> 上記、audit2allowの結果を踏まえて、以下のようなteとfcファイルを作ってみました。
>
> # ls
> Makefile mailman_archive.fc mailman_archive.if mailman_archive.te tmp
> ----------------------------------------------------------------------------------
> # cat mailman_archive.te
> modulle local 1.0;
>
> require {
> class dir write remove_name search getattr add_name;
> class file setattr read create write getattr link unlink append;
> type mailman_mail_t;
> type mailman_archive_t;
> };
>
> allow mailman_mail_t mailman_archive_t:dir write remove_name search getattr
> add_name;
> allow mailman_mail_t mailman_archive_t:file setattr read create write
> getattr link unlink append;
> ----------------------------------------------------------------------------------
> # cat mailman_archive.fc
> /var/lib/mailman/archives/private(/.*)?
> gen_context(system_u:object_r:mailman_archive_t,s0)
> ----------------------------------------------------------------------------------
>
> _______________________________________________
> Japan secure operating system users group
> users-ml@xxxxx
> http://lists.sourceforge.jp/mailman/listinfo/jsosug-users
>
>


--
OSS Platform Development Division, NEC
KaiGai Kohei <kaigai@xxxxx>

_______________________________________________
Japan secure operating system users group
users-ml@xxxxx
http://lists.sourceforge.jp/mailman/listinfo/jsosug-users


投稿者 xml-rpc : 2008年10月22日 13:16
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/78186
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。