SELinuxを使うことによりシステムを格段に安全に運用できるものの,100%の安全性を確保できるわけではない。セキュリティ担当者は,SELinuxの限界をきちんと把握した上で,システム全体の堅ろう性を確立する必要がある。例えば,Fedora Core 2に付属するポリシー・ファイルでも,そのままでは危ないと思われる個所がある。今回は,SELinuxの限界を踏まえた上で,これまで紹介した方法よりも安全に設定できる方法を具体的に紹介する。

SELinuxだけで安心はできない

 SELinuxを用いたシステムでは,攻撃者に侵入された場合でも被害を最小限に食い止められる。しかし,SELinuxを使っているからといって,それだけで安心できるわけではない。セキュリティ担当者は,次のことに気を付ける必要がある。

(1)設定はきちんと行う

 SELinuxにより得られる安全性は,「プロセスやユーザーが余計な権限を持っていないこと」が大前提になる。当然のことながら,運用に当たっては,ポリシー・ファイルをきちんと設定しておく必要がある。

(2)なりすましに気を付ける

 SELinuxを使っていたとしても,セキュリティ担当者のパスワードが単純だと,簡単になりすまされてしまう。パスワードの管理はきちんと行うようにする。遠隔管理をしている場合には特に気を付ける。

(3)カーネルのセキュリティ・ホールに気を付ける

 SELinuxの適用は,カーネル・レベルのセキュリティ対策である。カーネル自体にセキュリティ・ホールが存在した場合には,SELinuxでは対処できない。カーネルをアップデートするなど速やかに対処する必要がある。

(4)侵入攻撃以外には別途対処する

 SELinuxは侵入攻撃に対処するものであり,その他の攻撃,例えばDos攻撃などには対処できない。SELinuxでは防げない攻撃には,ファイアウオールやルーターで対処する必要がある。

(5)最小権限の悪用に注意する

 SELinuxでは,プロセスやユーザーは最小限の権限で動作する。しかし,その最小限の権限を利用した攻撃もあり得る。特に,Webアプリケーションが問題になりがちだ。例えば,ログインした会員に応じて,データベースに問い合わせるWebアプリケーションを考えてみよう。当然Webアプリケーションは,データベースに問い合わせる権限を持つ。そのため,Webアプリケーションに不具合が存在すると,第三者がそれを突いてデータベースに不正な問い合わせを行う可能性がある。

 このように,SELinuxを導入した場合でも,すべての攻撃に対処できるわけではない。SELinuxで対処できる攻撃と対処できない攻撃を切り分け,対処できない部分についてはSELinux以外の対策をバランスよく組み合わせることが重要である。以下,具体的な設定を解説する。


 SELinux徹底ガイド セキュアOSによるシステムの構築と運用

セキュアOS SELinuxを詳述した初めての書籍。SELinuxの機能,効果,限界といった仕組みの解説から,構築・運用に必要な実践ノウハウ,支援ツールの利用法まで,SELinuxを活用するために不可欠な知識を網羅した一冊。付録DVD-ROMにSELinuxとFedora Core 1を収録。