【レポート】

SELinuxにみるセキュアOSの現在

1 SELinuxの概要と必要性

    鶴田展之  [2004/08/25]

    インターネットサーバのOSにLinuxが選択される理由として、コスト面のメリットと並んでセキュリティに対する安心感が挙げられることが多い。しかし、Linuxだから安心かといえば、実際にはそんなことはないだろう。どんなOSであろうと、インターネットというパブリックなネットワークに置く以上セキュリティ・リスクは無くならない。そこで近年、セキュリティを高めた「Secure OS」技術が注目を集めるようになっている。Secure OSは、その名の通りセキュリティに特化したOSだが、最低限の機能として「強制アクセス制御(MAC:Mandatory Access Control)」と「最小特権」を備えたものを指す。本稿では、LinuxにこのSecure OSの機能を付加する拡張モジュールである「SELinux」について、その仕組みと可能性をレポートしたい。

    最初に、Linuxのセキュリティ機能とSELinuxの関係について理解しておこう。Linuxカーネル2.6には、新機能として「LSM (Linux Security Module)」機能が追加された。これにより、ユーザはカーネルの再構築を行うことなくセキュリティ拡張モジュールを自由に組み込み、目的に応じて使い分けることが容易になった。SELinuxも、このLSMに対応した拡張モジュールとして、カーネル2.6に標準的に取り込まれている。


    Linuxカーネル本体にLSMが追加されたのは、それだけセキュリティ拡張機能の必要性が高まっていることの現れと考えることもできる。Linuxがセキュアだと言っても、それはあくまでも適切に管理され、きちんとアップデートが行われていればの話しだ。例えば、あるアプリケーションにセキュリティホールが発見されてからパッチが提供され、それが適用されるまでの間は、サービスを停止するか、攻撃を受けないことに期待しながら脆弱な状態で運用を継続するかしかない。どちらにしても、一刻も早くパッチを適用することが最優先の課題となる。しかし、パッチの適用には、それが稼働中の他のアプリケーション、サービスに及ぼす影響も綿密に検証しなければならないだろう。管理者は、検証のために十分な時間をとろうとすればパッチの適用は遅れ、パッチの適用を急げば検証が疎かになるというジレンマに陥ってしまう。もとをただせば、これは全てLinuxが「root」という絶対的な管理アカウントに依存していることによる問題である。rootに全権を与えているがために、クラッカーの侵入を許しroot権限を奪われてしまった場合に被る被害が大きくなってしまうのだ。

    しかし、SELinuxを導入することで、この問題はある程度解決できる。SELinuxでは、従来のrootに依存した管理や、単純なファイルオーナーによる権限制御を、より厳格な3種類のアクセス制御機構によって補完する。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン