himainuの日記

SELinux Policy Editor開発日誌SELinux一般執筆講演履歴

2006-04-05

[] SPDL 文法整理 07:12

4日ぶりぐらいにsourceforge.netのCVSが復活。

SPDL(Simplified Poilcy Description Language)の文法を整理

allow/allowonlyの統合

ファイルのアクセス制御にallow(サブディレクトリ全部許可)/allowonly(ディレクトリ直下のファイルのみ許可)とあったが、

どうもわかりにくいので、

AppArmor式の設定記述に。

domain foo_t;

allow /var/* r; → foo_tは、/var直下のファイルにrアクセス可能。

allow /usr/local/** r;→ foo_tは、/usr/localの全てのサブディレクトリにr

アクセス可能

globalドメインの廃止

http://d.hatena.ne.jp/himainu/20060401

の理由で、globalドメインを廃止。

globalの代用

globalが廃止になったがincludeとdenyでそれ以上の働きができる。

  • include先でdenyを書くことで設定ミスの防止ができる
  • include元でのallowをキャンセルするために、denyが使える

例:

● include/global.h

deny /etc/shadow; -> 設定ミスの防止

allow /usr/lib/** r,x,s;

● foo_t.a

domain foo_t;

include global.h;

allow /etc/* r;

-> /etc/shadowを除いてrアクセスできる

deny /usr/lib;

-> allow /usr/lib/** r,x,s;をキャンセル


SPDLの気になる部分は、ほとんど直った。

AppArmorありがとう。

seeditは、LIDS,TOMOYO,AppArmorからインスパイアされている(パクったという)。

LIDS(パス名ベースの設定,denyで設定ミスを防止する考え方),TOMOYO(デバイスの保護), AppArmor(文法、include)って感じ。

これでSPDLの仕様は,ほぼfixに違いない。次は。。

で、version1.4.0をアナウンスして,MLも作って広く使ってもらおう。