Fedora Core6におけるSELinuxの強化点──活発に開発が進むSELinux(2/2 ページ)
先月リリースされたFedora Core 6において、SELinuxには「setroubleshoot」と「secmark」という新機能が盛り込まれた。本記事では、新機能をいち早くレビューする。
Secmark
Fedora Core 6 SELinuxのもう1つの新機能が「secmark」である。現時点ではカーネルのみの対応で、ユーティリティもそろっておらず、実際に使えるようになっていないが、今後のアップデートで使えるようになる可能性が高い機能である。ここでは、機能の概要を紹介しよう。
secmarkは、パケットにラベルを付与することで、きめ細かいネットワークアクセス制御を実現するための機能である。従来のSELinuxでは、IPアドレス、ポート番号を使ったアクセス制御ができたが、これらを組み合わせたアクセス制御ができなかった。例えば、「Apacheは、IPアドレス192.168.0.5にアクセスできる」、「ApacheはMySQLのポート番号(TCP3306番)にアクセスできる」といった設定は可能であったが、「Apacheは、IPアドレス192.168.0.5のMySQLポートにだけアクセスできる」という設定はできなかった。
今回のsecmarkにより、IPアドレスとポート番号を組み合わせた設定を行えるようになる。iptablesとSELinuxが拡張されており、iptablesでタイプ・ラベルを付与し、SELinuxでそのタイプを使ってアクセス制御する。例とともに、仕組みを見てみよう。図4は、Apacheが、192.168.0.5にあるMySQLサーバ(ポート番号TCP3306)にアクセスしようとしている例だ。
- Apacheが、パケットを送信する
- iptablesがパケットにSELinuxのタイプ・ラベルを付与する。ラベル付与のルールは、iptablesコマンドを使って行える。今回は、「あて先が192.168.0.5、TCP3306のパケットにmysql_A_tというタイプを付与する」と設定している
- パケットに「mysql_A_t」タイプが付与された。これがSELinuxに渡る
- SELinuxは、パケットのラベルを使ったアクセス制御を行う。今回は、「allow httpd_t mysql_A_t {send}(httpd_tはmysql_A_tタイプが付与されたパケットを送信できる)」とポリシーファイルに記述されている。従って、パケットは無事ネットワークに送信される。ポリシーファイルで許可されないパケットが来た場合は、パケットはネットワークに送信されない
現段階のFedora Core6では、iptablesコマンドでラベル付与設定できるようになっていないため、secmarkをまだ使えない状態だ。しかし、iptablesコマンドの開発版がRedhat開発者のサイトで公開されており(関連リンク参照)、これが今後のアップデートで入ってくることが予想される。
なお、記事執筆時点ではここで公開されているパッケージはバグを含んでいるため、iptables-1.3.5-2.src.rpmに含まれるソースファイルをコンパイルする必要がある(以下はrootユーザーの手順)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ソースファイルのコンパイルが終了すると、BUILD/iptables-1.3.5/extensions以下にlibipt_SECMARK.so, libipt_CONNSECMARK.soが生成されているので、これを/lib/iptables以下にコピーすればよい。
今後も活発なアップデートが予想される
Fedora Core 6でのSELinux関連パッケージは活発なアップデートが予想される。実際、Fedora Core 6のリリース後、一週間も経たないうちに、SELinux関連のパッケージのアップデートが公開されている。過去のFedora Coreの場合は、アップデートにバグフィックスだけでなく、新機能まで盛り込まれることがあり、ユーザーにも多少混乱が見られた。大きな変更があった場合は、SELinuxユーザー会のメーリングリストにもアナウンスされることが多いので、参考にしていただきたい。
関連記事
- SELinuxは今すぐ使えるのか?
SELinuxなどのセキュアOSは、その重要性に比してあまり利用されていない。設定の難しさなどが敷居を高めているが、実際のところ、SELinuxは「とりあえず使う」だけでも一定の効果がある。SELinuxをマスターするための第一歩としてご覧頂きたい。 - SELinuxの現状:使いやすさの改善が進むSELinux
SELinuxは優れたセキュリティ強度を提供してくれるが、その設定の困難さ故か、SELinuxは使いにくいかのようなレッテルが貼られている。しかし、現状を見ると、2つのアプローチによって大きく変わりつつあることが分かる。 - Fedora Core 6:Zod様の御登場!
Zodのコードネームで知られるFedora Core 6が10月にリリースされた。ユーザーが慎重にインストール作業を進める限りにおいて、FC6は総合的に優れたリリースだといえる。ここでは、FC6の変更点やその使用感についてリポートする。
Copyright © ITmedia, Inc. All Rights Reserved.