組込み開発用SELinux Policy Editor 経過

開発中の種IT 2.2.0のこと。通称、μ(みゅー)種IT
はっきりいって、私しかユーザはいないかもしれないが、
マニュアルができてきた。
種ITで、ポリシ書いて、家電でSELinux動かそうぜ!

利用イメージ

  • まず、「組込みではrefpolicyじゃポリシは書いとれん」、ってのが前提。refpolicyは、設定テンコ盛り状態。これを削っていくと削る量だけで膨大かつ、削っていく過程で依存関係のエラーが出たりして大変。だったら、1からポリシを書くほうが楽。1からポリシを書くなら種ITである。
  • 開発ホストと、ターゲット機がある。
  • μ種ITは、開発ホストで動作する。
  • 開発ホストで、SPDLでポリシを書く。これを、種ITが、普通のバイナリポリシに変換。
    • 種ITのポリシ生成ツールなども使える
  • バイナリポリシを、ターゲット機に転送。
    • 転送時は、NFS使うと楽だと思う。
  • ターゲット機で、ポリシをロードリラベル。

さて、以下、使い方(途中)

1)subversionからソースをゲットする

まだtarballにすらなってないorz

$ svn export https://seedit.svn.sourceforge.net/svnroot/seedit seedit

2) インストール

$ cd trunk/

README.crossの通りにインストール
http://seedit.svn.sourceforge.net/svnroot/seedit/trunk/README.cross

使い方も、README.crossの通り。

./audit2spdlとすれば、audit2spdl(ログから、種ITポリシを提示するツール)も使える。
実は、GUIも一部使える。
./seedit-gui-cross.py
とすると、一部GUIが使える。
ログから、ポリシを生成するツールについてだが、
フルパスの推測機能はないものの、それ以外は使える。
私はaudit入れないので、PATHエントリが取得できないため。auditも入れたほうがいいかなぁ。数百K取るけど。。

auditのPATHエントリ

auditのPATHエントリは、audit入れないと表示されなくて困る。
ポリシ開発の段階では是非表示されるようにしたいところだが。

audit_enabledという値が!0の場合、PATHエントリが出るようだ。
この値は、auditctlコマンドで変えるようになってるみたい。あとは、ブートパラメータ(audit=1)でも変えられる。

組込みやってると、余計なものを入れるのは面倒だし、
ブートローダによってはブートパラメータが設定できないこともある(kexecとか使えばいいのか?)
/selinux/以下に、audit_enabledを1にするスイッチ入れたりするのは邪道なんだろうなぁ。
audit_set_enabledという関数がaudit.cにあるみたいだが。こいつを呼んではいけないのかな。
そのうち、なんとかしたい。