Java,monoアプリのドメイン分け
Javaとかmonoで動くプロセスは、すべてVMのプロセス。
Javaの場合だと、/usr/bin/java、monoの場合は、/usr/bin/mono。
セキュアOSでのドメイン分けは結構困る。
例えば、Tomcatにドメインを分けることを考えると。。
/etc/init.d/tomcat
からtomcatが起動するとする。
なお、tomcatのプロセスは、/usr/bin/java 。
#簡単のため、javavmの本体は/usr/bin/javaとする(本当は違うのだけど)
SELinuxの場合
/etc/init.d/tomcatに tomcat_init_exec_tというタイプ付与
initrc_t->tomcat_init_exec_t->tomcat_init_t
というドメイン遷移を設定
/usr/bin/javaにjava_exec_tを付与
tomcat_init_t->java_exec_t->tomcat_t
というドメイン遷移を設定
で、めでたくtomcatがtomcat_tドメインで動く
AppArmorの場合
/usr/bin/javaは全部javaプロファイルで動いちゃう?
それか、/etc/init.d/tomcatにプロファイルを設定できれば、
/etc/init.d/tomcatで余計なアクセスをしてるかもしれないが、
/etc/init.d/tomcat -> /usr/bin/javaでプロファイルを継承してOK?
TOMOYO Linuxの場合
/etc/init.d/tomcat->/usr/bin/java
のjavaとして識別されるので、OK。グレイト。
ですよね。。。