第1回 SELinuxの概要SELinuxで強化するソリューション(1/2 ページ)

オープンソースのセキュアOSで管理者の手間とコストを軽減し、セキュアな環境を構築。さまざまな攻撃に根本から対処する技術として注目を集めているSELinuxの導入について解説する。第1回は、SELinuxの必要性など概要について説明しよう。

» 2005年01月31日 17時00分 公開
[佐々木 生弥(サイボウズ),ITmedia]

SELinuxとは?

 外部からのさまざまな攻撃に対し、根本から対応できるソリューションとして注目を集めているセキュリティ技術がSELinux(Security Enhanced Linux)だ。SELinuxは、米国NSA(National Security Agency:国家安全保障局)を中心に開発されたLinuxベースのセキュアOSである。ちなみにSELinuxはディストリビューションの名称ではなく、LSM(Linux Security Modules:さまざまなセキュリティ機能をカーネルモジュールとして組み込むための仕組み)を利用したセキュリティ強化モジュールなので注意してほしい。

SELinuxの必要性

 SELinuxの仕組みや機能を解説する前に、なぜSELinuxが必要なのか、現在のLinuxで提供されているセキュリティ機構の問題と併せて解説しておこう。

不正アクセスとLinuxの脆弱性

 従来のLinux環境では、その脆弱性を突いた攻撃に管理者は日々頭を悩ませ、セキュリティ対策にその労力の多くを費やしている。不正アクセスは、DoS攻撃、スパムメールの送信、システムへの侵入、などが代表的なもので、これらの攻撃に対する従来のセキュリティ対策は図1のようなものだ。しかし、これらのセキュリティ対策だけではいくつかの問題が残ることになる。

図1 図1 従来のシステム構成例(クリックで拡大します)

 図1の例は、IDS(侵入検知システム)を用いた一般的なシステム構成の例だ。IDSは、侵入行為を検知するとそのアクセスを遮断したり、管理者にメールで通知したりできるものだが、IDSで検知できるのは登録済み、つまり既知の攻撃パターンに対してであって、未知の攻撃に対しては効果がない。最近では、IDSをより強化したものとして、ネットワーク上を流れるパケットの内容をチェックし、不正と思われるパケットに関してはアクセスを遮断するIPS(侵入防止システム)が注目されている。確かにIPSの場合、未知の攻撃に対してもある程度の防御が期待できるが、対応が不十分な攻撃がある上、誤検知や検知漏れも少なくない。実運用で問題がない程度に検知精度が向上するには、まだまだ各ベンダーの努力が必要だろう。

 また、OSへのセキュリティパッチの適用にも問題がある。DoS攻撃やスパムメールであればハードウェアやソフトウェアで対応できるが、侵入攻撃に対しては対策が後手になりやすい。次々と発見されるセキュリティホールすべてにパッチを適用することは不可能だし、そもそも未知のセキュリティホールに対してはパッチを適用できないからだ。その上、管理者がセキュリティパッチを適用する人的コストも膨大だ。日々の業務を抱えながら、新たに発見されたセキュリティホールに対しては、迅速な対応が求められる。パッチの適用が遅れたり、パッチが公開される前に未知のセキュリティホールから侵入を許した場合、被害は深刻なものとなる。

不正侵入の手口

 不正侵入の手口としては、直接root権限を奪取する方法と、一般ユーザー権限からroot権限に昇格する2つの方法がある。

 前者の方法は、SSHなどroot権限で動作するデーモンのセキュリティホールを突いて直接root権限を奪取する。後者の方法は、いったん一般ユーザー権限で動作しているデーモンのセキュリティホールを突いて侵入し、passwdコマンドなどroot権限で動作しているプログラム(SUID:セットユーザーIDビットがrootのコマンド)を利用してroot権限に昇格する。Linuxではroot権限を奪われるとシステムを守る術がないため、データの盗難、改ざん、破壊といった破壊活動を許してしまう。

 こうしたLinuxの脆弱性は、rootが全権を掌握しているために起こるものだが、SELinuxではこの点において抜本的な対応が行われており、未知のセキュリティホールに対する耐性も備えている(図2)。

図2 図2 SELinuxを使用したシステム構成例(クリックで拡大します)

 では、SELinuxの核となるアクセス制御の仕組みについて説明していこう。

このページで出てきた専門用語

  • セキュアOS

セキュリティ機能を強化したOS。SELinux以外にもLIDS(Linux Intrusion Detection System)など、無償/有償さまざまなセキュアOSが存在する。なお、セキュアOSという用語の定義について、セキュアOS研究会が策定中の定義では、「強制アクセス制御(Mandatory Access Control:MAC)機能、最小特権機能を備えるOS」とされている。ちなみに、LIDS(Linux Intrusion Detection System)やDTE(Domain Type Enforcement)もセキュアOSに含まれる


       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ