2008年10月29日

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

海外様

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

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

読んで、気になった点

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

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

酒井@ふじつう


KaiGai Kohei <kaigai@xxxxx> 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 <kaigai@xxxxx>
>
> _______________________________________________
> Japan secure operating system users group
> users-ml@xxxxx
> http://lists.sourceforge.jp/mailman/listinfo/jsosug-users

_______________________________________________
Japan secure operating system users group
users-ml@xxxxx
http://lists.sourceforge.jp/mailman/listinfo/jsosug-users


投稿者 xml-rpc : 2008年10月29日 21:39
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/78463
トラックバック
コメント
コメントする




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