Linux勧告ウォッチ - 2005年12月16日(金)
SELinuxポリシー開発:ポリシーの変更
著者:Pax Dickinson
allowステートメントが揃ったら、それらをよく調べて何を許可することになるか把握してからポリシーに追加する。audit2allowにはポリシーに含まれているマクロを認識しないという欠点があるので、ポリシーのソースをgrepして、追加するallowステートメントに近いものを探し、代わりに使用できそうな適切なマクロを見つける必要がある。ポリシーを大幅にカスタマイズしようとしている場合は、既存のポリシーソースをよく知ることで使用可能なマクロを把握しておくことをお勧めする。
まずは$policy/policy/support/obj_perm_sets.sptから始めるとよいだろう。ここには、アクセス許可のグループ化に便利なマクロが含まれている。たとえば、あるドメインについて特定の型に対するioctl、read、getattr、lock、write、appendのアクセス許可を与える代わりに、そのドメインにrw_file_permsマクロを割り当てることができる。これを利用することで、後で見たときにわかりやすいポリシーになる。
必要なallowステートメントが決まったら、$policy/policy/modules/admin/local.teファイルにそれらを追加し、ポリシーを再コンパイルする。それでもアプリケーションがenforcingモードで動作しない場合は、SELinux監査エラーが出なくなるまでこの手順を繰り返す。
ポリシーの変更は、必ず$policy/policy/modules/admin/local.*ファイルに保存する。
これらのファイルは空の状態でパッケージに含まれており、ローカルポリシーのカスタマイズ用に用意されている。サービスに属していて既にルールが含まれているファイルを変更すると、ポリシーをアップグレードしたときにその変更は失われてしまうので、ローカルの変更は、対象となるlocal.teファイルとlocal.fcファイルに保存する必要がある。
既存のポリシーに問題があれば、local.*に変更を加えればよいが、ポリシーの管理者には、後でその変更をビルドに反映してもらえるようパッチを提供しておくとよい。ほとんどのSELinuxポリシーはまだ新しい技術であるため、開発と改訂が絶えず行われており、これに協力することは、アップストリームのポリシー管理者にとってはありがたいものになる。
ポリシー開発は初めは難しく感じるかもしれないが、進めて行くにつれ、SELinuxのみならず、アプリケーションが実際にどんなことを行っているかがよくわかるようになるだろう。システムをより安全なものにするばかりでなく、低レベルにおけるシステムとサービスの詳細を学べるはずだ。SELinux開発のおかげで、これまでに多くのアプリケーションの隠れたバグに対するアップストリームのパッチが作られてきた。こうしたバグを発見できたのは、アプリケーションのカーネルレベルの動作をポリシー開発者がSELinuxで検出できたからだ。
このSELinuxシリーズを執筆できたことをうれしく思う。読者のお役にたてば幸いだ。では、また今度お目にかかるまで。どうか、これからもセキュリティに十分配慮し、ポリシーをしっかり管理してほしい。
記事全文:
http://www.linuxsecurity.com/content/view/120837/49/
Debian | ||
Debian:courierパッケージの不正なアクセスの修正 | ||
2005年12月8日
|
||
Debian:oshパッケージの権限昇格の修正 | ||
2005年12月9日
|
||
Debian:curlパッケージのセキュリティ問題の修正 | ||
2005年12月12日
|
||
Debian:etherealパッケージの任意のコード実行に対する修正 | ||
2005年12月13日
|
||
Debian:Linux 2.4.27パッケージの複数の弱点の修正 | ||
2005年12月14日
|
||
Debian:Linux 2.6.8パッケージの複数の弱点の修正 | ||
2005年12月14日
|
||
Gentoo | ||
Gentoo:phpMyAdminの複数の弱点 | ||
2005年12月11日
|
||
Gentoo:OpenswanとIPsec-ToolsのISAKMPの弱点 | ||
2005年12月12日
|
||
Gentoo:Xmailのsendmailによる権限昇格 | ||
2005年12月14日
|
||
Gentoo:EtherealのOSPFプロトコルディセクタのバッファ・オーバーフロー | ||
2005年12月14日
|
||
Mandriva | ||
Mandriva:curlパッケージのフォーマット文字列の弱点の修正 | ||
2005年12月8日
|
||
Mandriva:perlパッケージのフォーマット文字列の弱点の修正 | ||
2005年12月8日
|
||
Mandriva:openvpnパッケージの複数の弱点の修正 | ||
2005年12月10日
|
||
Mandriva:mozilla-thunderbirdパッケージのenigmailの弱点の修正 | ||
2005年12月13日
|
||
Mandriva:etherealパッケージの弱点の修正 | ||
2005年12月14日
|
||
Mandriva:xine-libパッケージのバッファ・オーバーフローの弱点の修正 | ||
2005年12月14日
|
||
Mandriva:xmovieパッケージのバッファ・オーバーフローの弱点の修正 | ||
2005年12月14日
|
||
Mandriva:gstreamer-ffmpegパッケージのバッファ・オーバーフローの弱点の修正 | ||
2005年12月14日
|
||
Mandriva:mplayerパッケージのバッファ・オーバーフローの弱点の修正 | ||
2005年12月14日
|
||
Mandriva:ffmpegパッケージのバッファ・オーバーフローの弱点の修正 | ||
2005年12月14日
|
||