第1回 SELinuxの出自とキソのキソ

古田 真己
サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
2005/11/25

 SELinuxのアーキテクチャは、もともとアメリカの国家安全保障局(NSA:National Security Agency)とSCC(Secure Computing Corporation)において、強制アクセス制御MAC:Mandatory Access Control)の研究のためにFlukeというOS上で開発されました。1992年に始まったこの研究を経て2000年にGPLで一般公開されたSELinuxは、いまセキュアOSとして非常に注目を集めています。

 この連載ではSELinuxの最新動向を追っていく予定です。1回目となる今回はSELinuxの出自と基礎の確認からしていきます。

 SELinuxが生まれるまで

 NSAとSCCの研究目的は、実装が困難で扱いづらいMAC機能を、メインストリームのOSによりよい形で実装できないかを試行するものでした。MAC機能を持ったセキュアなOSは、軍組織や政府で機密を扱う場合にはとても有効なものです。また、一般企業においても自社の企業機密を守るために非常に有用となりますが、次に述べるような欠点を抱えていました。

 伝統的なMACは、MLS(Multi-Level Security)と組み合わされていました。MLSとは、サブジェクト(実行主体)に対するクリアランス(権限)と、機密レベルごとに分けられたオブジェクト(目的リソース)によってアクセスが決定される仕組みで、この2つが不可分になっていることで、使いづらく複雑なシステムとなっていました。

 さらに、システムを強制アクセスコントロール下に置くために、アクセスコントロール外の特別に信頼されたサブジェクトを必要としていたため、そこで実行されるコードに対して綿密なコントロールができないという不完全さが問題となっていました。

 SELinuxは、この問題点を解決するために以下のような特徴を備えています。

  • Flaskというベースアーキテクチャを開発。Flask上でセキュリティポリシー言語を記述することにより、さまざまなセキュリティモデルに柔軟に対応できる
  • セキュリティポリシー言語とセキュリティチェックの仕組みをそれぞれ独立させ、ポリシーがアーキテクチャに制約されない

 これにより、SELinuxではさまざまなセキュリティポリシーをサポートできる柔軟性と、強力なアクセスコントロール機能を持つことができました。

 SELinuxの現在

 NSAとSCCの研究から始まったSELinuxは、いまでもそれを起源としたセキュリティポリシーを「Strictポリシー」として引き継いでいますが、現在、SELinuxのコアテクノロジーは実用に耐え得るものとなり、次のようなLinuxディストリビューションで採用されています。

●Red Hat Enterprise Linux 4

 Red Hatが中心となって開発した「Targetedポリシー」をサポートし、標準で有効になっています。Targetedポリシーはアクセスを厳しく制限された一部のサービス(dhcpd、httpd、mysqld、named、nscd、ntpd、portmap、postgres、snmpd、squid、syslogd)と、制限なし(unconfined)の残りの部分で構成されており、RBAC(後述)の機能がありません。

 しかし、従来のLinuxの使い勝手を極力損なわないような配慮がされているほか、保護されるサービスもアップデートのたびにどんどん拡充されています【注1】。ディストリビューションのベース部分とともに、SELinuxに関しても商用のサポートが存在します。

【注1】
2005年11月現在、sendmail.te、pegasus.teが追加され、合計13のサービスが保護されています

●Fedore Core(2〜)

 旧Red Hat Linuxの開発がオープンなFedora Foundationに引き渡されたもので、事実上SELinuxのメインターゲットとなっている非商用ディストリビューションです。また、Red Hat Enterprise Linuxの開発のベースになっており、ここで得られたものは商用のRed Hat Enterprise Linuxにフィードバックされています。

 セキュリティポリシーでは、Red Hatが開発したTargetedポリシーとNSA起源のStrictポリシーをサポートし、標準で有効になっています。Strictポリシーを使うことでシステム全体に対して非常に強固なセキュリティが実現できます。

●Turbo Linux

 デフォルトでは無効となっていますが、TargetedポリシーとStrictポリシーの両方を備えています。SELinuxに関しても商用のサポートが存在します。

●Hardened Gentoo

 Hardened Gentooではパッケージ管理の仕組みであるportageにより独特のポリシー(/usr/portage/sec-policy/...)を構成しているようです。サポートはコミュニティが行っています。

1/3

Index
SELinuxの出自とキソのキソ
Page1
SELinuxが生まれるまで
SELinuxの現在
  Page2
SELinuxのアクセス制御の基礎
Type Enforcement(TE)とは
  Page3
ドメインとアクセス制御
Role Based Access Control(RBAC)とは
SELinuxを使用するメリット

Security&Trust記事一覧


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間