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

Back to archive index

Atsushi SAKAI sakai****@jp*****
2008年 10月 29日 (水) 21:39:34 JST


海外様

  ありがとうございました。
簡単な資料は無いとあきらめて、libselinuxのコードを
読んでよく分かりました。

thread/child-domain assignmentも、ポリシーの構造体に
ちょっと追加しているようですね。


読んで、気になった点

libselinuxは、Python, Ruby Bindingsを提供
libsepol,libsemanageは、Python Bindingsのみ提供
getcon関数やgetexeccon関数は、Cのプリプロセッサ(##演算子)で生成
ラベルの取得関数は、三つあるファイル、メディア、Xの3種類
前から疑問に思っていたが、各パッケージにREADMEがない。

以上 ありがとうございました。

酒井@ふじつう


KaiGai Kohei <kaiga****@kaiga*****> wrote:

> 海外です。
> 
> > 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 <kaiga****@kaiga*****>
> 
> _______________________________________________
> Japan secure operating system users group
> users****@secur*****
> http://lists.sourceforge.jp/mailman/listinfo/jsosug-users




Jsosug-users メーリングリストの案内
Back to archive index