--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 件のコメント:
コメントを投稿