SELinuxの現状:使いやすさの改善が進むSELinux(1/3 ページ)

SELinuxは優れたセキュリティ強度を提供してくれるが、その設定の困難さ故か、SELinuxは使いにくいかのようなレッテルが貼られている。しかし、現状を見ると、2つのアプローチによって大きく変わりつつあることが分かる。

» 2006年09月26日 09時00分 公開
[中村雄一(日立ソフトウェアエンジニアリング),ITmedia]

使いにくさが問題になっているSELinux

 Red Hat Linux、Fedora Coreなどの最近のディストリビューションには、セキュアOS「SELinux」が標準搭載されるようになってきた。SELinuxの肝は、「ポリシー」と呼ばれる設定にある。ポリシーには、「アプリケーションがどんなリソースにアクセスが許可されるか」が設定されている。このポリシーの設定に手間が掛かるかどうかで使い勝手が大きく左右される。しかし、アクセス制御可能な操作が700を超え、さらには、設定書式が1000以上存在しているため、ポリシーは難解だ(表1)。


policy_module(apache,1.3.16)
attribute httpdcontent;
attribute httpd_exec_scripts;
attribute httpd_script_exec_type;
type httpd_t;
type httpd_exec_t;
init_daemon_domain(httpd_t,httpd_exec_t)
role system_r types httpd_t;
....
ifdef(`targeted_policy',`
	typealias httpd_sys_content_t alias httpd_user_content_t;
	typealias httpd_sys_script_exec_t alias httpd_user_script_exec_t;
')
optional_policy(`
	prelink_object_file(httpd_modules_t)
')
...
allow httpd_t httpd_sys_content_t:dir r_dir_perms;
allow httpd_t httpd_sys_content_t:file r_file_perms;
allow httpd_t httpd_sys_content_t:lnk_file r_file_perms;
...
corenet_non_ipsec_sendrecv(httpd_t)
corenet_tcp_sendrecv_all_if(httpd_t)
corenet_udp_sendrecv_all_if(httpd_t)
corenet_tcp_sendrecv_all_nodes(httpd_t)
corenet_udp_sendrecv_all_nodes(httpd_t)
corenet_tcp_sendrecv_all_ports(httpd_t)
corenet_udp_sendrecv_all_ports(httpd_t)
corenet_tcp_bind_all_nodes(httpd_t)
corenet_tcp_bind_http_port(httpd_t)
corenet_tcp_bind_http_cache_port(httpd_t)
corenet_sendrecv_http_server_packets(httpd_t)
....

表1:Apacheのポリシーの例。これを見て設定内容が理解できる人がどれくらいいるだろう

 SELinuxの開発者たちの関心は、セキュリティ強度を高める方に向けられており、使い勝手についてはあまり関心がなかった。これは、SELinuxの起源が米国の軍事関連機関であるNSAであるため、自然と軍事色が強い開発者たちが集まるからでは、と推測する。例えば、SELinuxのポリシーの開発プロジェクトのホームページには次のような一文が見受けられる。

「Security is the reason for existence for SELinux policies and must, therefore, always be the first priority」(SELinuxのポリシーの存在理由はセキュリティにあるので、セキュリティこそが最優先に考えられるべきである)

 このような事情もあり、使い勝手については後回しになり、SELinuxは使いにくいことで悪名高くなってしまった。

 結果、ユーザーは「SELinuxは手に負えない」と判断し、SELinuxを無効にするケースが多い。どんなに優れたセキュリティ技術でも使われなくては意味がない。そこで、最近ではAppArmorのような「使いやすさ」に重点を置いたセキュアOSがSuSE Linuxに採用されるなど、SELinuxに対抗する動きが起こっている。AppArmorの主要開発者であるCrispin Cowan氏は、「With the very low adoption rate of SELinux, I think users are crying out for another choice.」(SELinuxがほとんど採用されていない現状を見ると、ユーザーは別のセキュアOSを切望していると思う)というコメントを、SELinuxの開発者Dan Walsh氏のブログに残している。

 SELinuxコミュニティーでは、AppArmorが勢力を拡大することを憂慮しているようである。あるSELinux開発者のブログでは、AppArmorがセキュリティ上不適切である理由をこと細かに挙げている。

 AppArmorへの対抗上、ようやくSELinuxの「使いやすさ」を上げるための動きが本格化してきた。本コラムでは、SELinuxを使いやすくするための取り組みを紹介しよう。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.