2008年10月25日

[jsosug:00036] Re:SELinux を用いたアプリケーションの作成についてよい参考資料は無いでしょうか?

海外です。

> SELinuxのアクセス制御をアプリケーションに適用する場合の
> 何か良い資料って無いものでしょうか?
> もしあったらお教えください。

そういった資料は見た事がないです。ただ、そんなに難しい話ではないのです。

SELinuxのアクセス制御というのは、最終的には、セキュリティポリシーが
『誰が(Subject)、何に(Object)、何をできる(Action)』の組み合わせを、
許可しているか否かという点に落ち着きます。

従って、SELinuxのアクセス制御をアプリに適用する場合には、アプリ側から
カーネルに『"○○が□□に△△したい"と言ってるんだがどうよ?』的な
問い合わせを行い、その返事に基づいて、プログラムの実行を制御してやれば
良いわけです。

そのための API が libselinux に定義されていまして、

int security_compute_av(security_context_t scon, <- 誰が(Subject)
security_context_t tcon, <- 何に(Object)
security_class_t tclass, <- 何をする(Action)
access_vector_t requested,
struct av_decision *avd); <- カーネルからの回答

これを使って、カーネル側に問い合わせを行います。
で、返り値の avd->allowed に目的のパーミッションのビットが立っているか
否かを検査します。

SE-PostgreSQLなんかは、この仕組みのお化けみたいなもんですね。


> 付記:libvirt-MLでJames Morrisが
> "thread/child-domain assignmentも対応しないと"
> と言っていたわりには、今回のパッチには入っていないし

こちらは、アプリ側から使う API は変更なしなので、どちらかというと、
カーネル (v2.6.28待ち) と、セキュリティポリシーの対応待ちといった
具合ではないでしょうか。
この辺は、来週のセキュアOS塾でもお話しする予定です。お楽しみに。

では
--
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月25日 00:18
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/78307
トラックバック
コメント
コメントする




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