--menuconfig(make menuconfigと同じ)でtomoyoで検索(/)してマッチした値をonにする。
$ sudo emerge --oneshot -avt =sys-kernel/hardened-sources-2.6.36-r9 $ ll /usr/src/linux lrwxrwxrwx 1 root root 24 2011-05-06 06:26:16 /usr/src/linux -> linux-2.6.36-hardened-r9/ $ sudo genkernel --kernel-config=/etc/kernels/kernel-config-x86_64-2.6.36-gentoo-r8 --menuconfig all ... $ grep -i tomoyo /etc/kernels/kernel-config-x86_64-2.6.36-hardened-r9 CONFIG_SECURITY_TOMOYO=y CONFIG_DEFAULT_SECURITY_TOMOYO=y CONFIG_DEFAULT_SECURITY="tomoyo"
grubを修正して作成したカーネルで再起動する。
インストールの確認。
$ grep tomoyo_supervisor /proc/kallsyms ffffffff8124d6b2 T tomoyo_supervisor
ツールをインストールする。
2.6.36なのでtomoyo-tools-2.3.0_p20100820にする。
$ sudo ACCEPT_KEYWORDS="~*" emerge --oneshot -avt =sys-apps/ccs-tools-1.8.0_p20110214 $ sudo emerge -Cav sys-apps/ccs-tools $ sudo ACCEPT_KEYWORDS="~*" emerge --oneshot -avt =sys-apps/tomoyo-tools-2.3.0_p20100820
sys-apps/ccs-tools-1.8.0_p20110214のインストール後のコメントの一部。
ccs-toolsの方が_pYYYYMMDDの部分の日付が新しいので間違っているかもしれない。
* For >=kernel-2.6.36: * http://tomoyo.sourceforge.jp/2.3/ * * For >=kernel-2.6.30: * http://tomoyo.sourceforge.jp/2.2/ * * For <kernel-2.6.30 + ccs-patch: * http://tomoyo.sourceforge.jp/1.8/
sys-kernel/ccs-sourcesというのがあるが、こっちの方がいいのかもしれない。
$ eix -S tomoyo -c [N] sys-apps/ccs-tools (~1.8.0_p20110214): TOMOYO Linux tools [D] sys-apps/tomoyo-tools (2.3.0_p20100820@2011年05月06日 -> ~2.3.0_p20100820): TOMOYO Linux tools [N] sys-kernel/ccs-sources [1] (~2.6.36(2.6.36)): TOMOYO Linux sources for the 2.6 kernel tree [1] "sunrise" /var/lib/layman/sunrise Found 3 matches.
バージョンを確認する。
$ grep -nriP -A6 "static.*tomoyo_read_version" /usr/src/linux/security/tomoyo/ /usr/src/linux/security/tomoyo/common.c:1751:static void tomoyo_read_version(struct tomoyo_io_buffer *head) /usr/src/linux/security/tomoyo/common.c-1752-{ /usr/src/linux/security/tomoyo/common.c-1753- if (!head->r.eof) { /usr/src/linux/security/tomoyo/common.c-1754- tomoyo_io_printf(head, "2.3.0"); /usr/src/linux/security/tomoyo/common.c-1755- head->r.eof = true; /usr/src/linux/security/tomoyo/common.c-1756- } /usr/src/linux/security/tomoyo/common.c-1757-}
バージョン2.3.0をインストールしました。
フル機能を使用する場合は1.8系らしいので、その場合はインストールに失敗しています。
ここから先はhttp://tomoyo.sourceforge.jp/2.3/をご参照ください。
機能があるかどうか。
$ grep tomoyo_supervisor /proc/kallsyms ffffffff8124d6b2 T tomoyo_supervisor
grubの設定の有無。yなので無し。
$ grep CONFIG_DEFAULT_SECURITY_TOMOYO /etc/kernels/kernel-config-x86_64-2.6.36-hardened-r9 CONFIG_DEFAULT_SECURITY_TOMOYO=y
初期化する。
$ sudo emerge --config =sys-apps/tomoyo-tools-2.3.0_p20100820 Configuring pkg... Creating policy directory... OK Creating exception policy... OK Creating domain policy... OK Creating manager policy... OK Creating default profile... OK Creating memory quota policy... OK $ sudo ls -al /etc/tomoyo/ 合計 120 drwx------ 2 root root 4096 5月 6 08:29 . drwxr-xr-x 100 root root 12288 5月 6 08:29 .. -rw-r--r-- 1 root root 23 5月 6 08:29 domain_policy.conf -rw-r--r-- 1 root root 89355 5月 6 08:29 exception_policy.conf -rw-r--r-- 1 root root 160 5月 6 08:29 manager.conf -rw-r--r-- 1 root root 83 5月 6 08:29 meminfo.conf -rw-r--r-- 1 root root 403 5月 6 08:29 profile.conf $ grep -A3 pkg_config /usr/portage/sys-apps/tomoyo-tools/tomoyo-tools-2.3.0_p20100820.ebuild pkg_config() { /usr/$(get_libdir)/tomoyo/init_policy }
動作チェック。
$ sudo tomoyo-editpolicy /etc/tomoyo/ q
設定ファイルを読まない。
$ sudo tomoyo-editpolicy <<< Domain Transition Editor >>> 12 domains '?' for help <kernel> 0: 0 <kernel> 1: 0 * /sbin/modprobe 2: 0 /bin/cat 3: 0 /bin/echo 4: 0 /bin/grep 5: 0 /bin/rm 6: 0 /bin/touch 7: 0 /bin/uname 8: 0 /sbin/insmod 9: 0 /usr/bin/basename 10: 0 /usr/bin/cut 11: 0 /usr/bin/find
初期化してから一回再起動しないとダメっぽい。
再起動後、表示が増えた。
$ sudo tomoyo-editpolicy ...
マニュアルの内容を試す。
$ sudo /etc/init.d/apache2 restart $ sudo tomoyo-editpolicy ...
ログを分ける。
$ diff syslog-ng.conf.2011-05-06 syslog-ng.conf 26a27 > destination tomoyo { file("/var/log/tomoyo.log"); }; 92a94 > filter f_tomoyo { match("^(ERROR|WARNING): Access (.*) denied for " value("MESSAGE")); }; 93a96 > log { source(kernsrc); filter(f_tomoyo); destination(tomoyo); };
ccs-toolsだと別の方法で取れるようだが取れない。カーネルが対応していない。
たぶんccs-toolsはsys-kernel/ccs-sourcesを入れないと使えない。
$ sudo ACCEPT_KEYWORDS="~*" emerge --oneshot -avt =sys-apps/ccs-tools-1.8.0_p20110214 $ which ccs-auditd /usr/sbin/ccs-auditd $ sudo emerge --config =sys-apps/ccs-tools-1.8.0_p20110214 Configuring pkg... /var/tmp/portage/sys-apps/ccs-tools-1.8.0_p20110214/temp/environment: line 2047: /usr/lib64/ccs/init_policy.sh: No such file or directory $ grep -A3 pkg_config /usr/portage/sys-apps/ccs-tools/ccs-tools-1.8.0_p20110214.ebuild pkg_config() { /usr/$(get_libdir)/ccs/init_policy.sh } $ sudo /usr/lib64/ccs/init_policy $ sudo ls -al /etc/ccs/ ... $ sudo ccs-editpolicy You can't use this editor for this kernel. $ sudo ACCEPT_KEYWORDS="~*" emerge --oneshot -avt =sys-apps/tomoyo-tools-2.3.0_p20100820
学習モードで.htaccessを許可してから強制モードにすると.htaccessではなくindex.htmlのエラーになった。
動作確認はできた。
$ sudo tail -f /var/log/tomoyo.log May 6 12:46:11 amdgentoo kernel: ERROR: Access read /var/www/localhost/htdocs/.htaccess denied for /usr/sbin/apache2 May 6 12:46:27 amdgentoo kernel: ERROR: Access read /var/www/localhost/htdocs/.htaccess denied for /usr/sbin/apache2 May 6 12:46:32 amdgentoo kernel: ERROR: Access read /var/www/localhost/htdocs/.htaccess denied for /usr/sbin/apache2 May 6 12:46:33 amdgentoo kernel: ERROR: Access read /var/www/localhost/htdocs/.htaccess denied for /usr/sbin/apache2 May 6 12:47:02 amdgentoo kernel: ERROR: Access read /var/www/localhost/htdocs/.htaccess denied for /usr/sbin/apache2 May 6 12:47:03 amdgentoo kernel: ERROR: Access read /var/www/localhost/htdocs/.htaccess denied for /usr/sbin/apache2 May 6 12:47:11 amdgentoo kernel: ERROR: Access read /var/www/localhost/htdocs/.htaccess denied for /usr/sbin/apache2 May 6 12:48:26 amdgentoo kernel: ERROR: Access read /var/www/localhost/htdocs/index.html denied for /usr/sbin/apache2 May 6 13:32:55 amdgentoo kernel: ERROR: Access read /var/www/localhost/htdocs/index.html denied for /usr/sbin/apache2 May 6 13:32:59 amdgentoo kernel: ERROR: Access read /var/www/localhost/htdocs/index.html denied for /usr/sbin/apache2
インストールしたのはTOMOYO Linux 2系だった。
http://tomoyo.sourceforge.jp/documentation.html.ja
参考。
http://tomoyo.sourceforge.jp/1.8/
http://tomoyo.sourceforge.jp/2.3/
http://sourceforge.jp/projects/tomoyo/lists/archive/dev/2009-July/thread.html#1180
0 件のコメント:
コメントを投稿