ポリシ自動生成の限界

SELinux Policy Editorの自動生成で感じたこと。
ポリシ自動生成には以下のような限界がある。

ランダムなファイル名にアクセスする場合

pukiwikiのポリシを自動生成していたのだが、
/var/www/pukiwiki/wiki/
以下に、ランダムな名前のファイルを生成している。
自動生成してると、
ランダムな名前のファイルが生成されるたびにポリシが追加されるが、
次回生成時は、ファイル名が違っている。
永久にpukiwikiが動作するポリシを生成できない。

ランダムなポート番号にbindする場合

FTPデーモンのポリシを自動生成してたのだが、
1024より大きいポート番号をランダムに使おうとする。
これまた、永久に最適なポリシは生成できない。
seeditの自動生成では、1万番ポート以上をbindしようとした場合、
「1024以上の他ドメインで使ってないポートをbind許可」
って設定を生成するようにしてる。
が、1万番以下をbindされると駄目。

EnforcingモードとPermissiveモードで振舞いが違う場合

/etc/shadowをかわりに読み込んでくれるunix_chkpwdというコマンドがある。
Fedora Core3あたりのPAMだと、
permissiveモードだと、/etc/shadowを読みにいく。
しかし、enforcingモードにして、
/etc/shadowが拒否されるようにしてやると、unix_chkpwdを使って/etc/shadowを読みにいく。


こういった事情で、seeditの自動生成ツールは、「設定を提示」するにとどめ、人手を介す部分を残している。
AppArmorの自動生成ツールも同様。
TOMOYO Linuxはどうしてるんだろ(それとなく釣り(汗)