SourceForge.JP: Open Source Software

LoginCreate AccountAdd BookmarkHelp

OpenSource Downloads

(7,661) Cabos
(2,622) 7-Zip
(1,956) HandBrake Japanese Language Version
(1,671) CrystalDiskInfo
(1,621) Tera Term
(1,111) CrystalDiskMark
(827) ffdshow
(589) Tween
(586) ギコナビ
10  (542) Amateras
11  (495) VirtualDubMod-jp
12  (460) NNDD - ニコニコ動画DL&再生ソフト
13  (456) MergeDoc
14  (437) SMPlayer
15  (401) えこでこツール
More >>

最近ブックマークされた記事

SELinux:使いやすさを犠牲にセキュリティを強化

2006年12月13日 10:51 1 2
  • スラッシュドットにタレコむ
  • あとで読む
オペレーティングシステムのセキュリティは、アクセス制御を中心に回っている。Linuxディストリビューションで使われるDAC(Discretionary Access Control)メカニズムでは、リソースへのアクセスをだれに許可し、どのようなアクセス方法を認めるかをリソースの所有者が決定できる。しかし、DACが理想的なアクセス制御方式ではないことは、すぐに判明した。アプリケーションを実行するユーザに与えられた権限が、そのままアプリケーションが持つ権限になるからである。1つのアプリケーションが侵入を許し、rootで実行されるだけで、システム全体が侵入を許してしまう。こういった事情から、セキュリティの専門家が考案したアクセス制御方式がMAC(Mandatory Access Control)である。MACでは、リソースへのアクセスは、アプリケーションを実行するユーザがだれであれ、それとは関係なしにセキュリティポリシーに従って許可される。Security Enhanced Linux(SELinux)プロジェクトは、最初の本格的なMAC実装である。

SELinuxの利点は2つだ。まず、ユーザベースモデルがポリシー中心モデルに置き換えられる。アプリケーションの実行やデータの読み取り、変更など、あらゆる操作がセキュリティポリシーに従って制御される。ポリシーに違反する操作は拒否される。第二に、SELinuxを使うと、システムで動作中のさまざまなアプリケーションとプロセスが区画に分けられる。その結果、侵入を1つの区画で阻止できるばかりか、サービスの乗っ取りによる損害も限定できる。

SELinuxは、LSM(Linux Security Module)を通じてLinuxディストリビューションにプラグインとして組み込まれる。LSMは、カーネル2.6.xでサポートされる機能だ。セキュリティモデルを、パッチとしてカーネルに適用するのではなく、カーネルに統合し、連携して機能させることができる。

SELinuxの歩み

SELinuxの中心にはセキュリティポリシーがある。NSA(National Security Agency)からオープンソース・コミュニティに渡された時点で、SELinuxにはstrictポリシーというポリシーしかなかった。これは、ホワイトリストの概念に基づくポリシーだ。ホワイトリストとは、デフォルトポリシーでアプリケーションアクセスがすべて禁止され、アクセスを認めるアプリケーションについては個別に許可を指定することを指す。

strictポリシーは、Fedora Core 2で初めて使用された。Fedora Core 2では、SELinuxがすべてのものをロックする。strictポリシーは許可(Allow)宣言のコレクションである。しかし、このようなポリシーは常にメンテナンスの必要があり、システム設定を変更するたびに見直しが避けられない。おかげで、新しいアプリケーションをインストールしたり、既存のアプリケーションをポリシー作成者の予想しなかった方法で使用したりすると、strictポリシーから苦情が来る。strictポリシーは、制御が徹底され、規則で縛られた環境には最適であっても、通常のデスクトップでは使いにくい。

Managing SELinux in Fedora Core 6
Fedora Core 6でSELinuxを管理する - クリックで拡大表示

strictポリシーの問題点を解消するため、Fedora Core 3でtargetedポリシーがサポートされた。strictポリシーとは違って、targetedポリシーは禁止(Deny)宣言のリストである。デフォルトですべての操作が許可されるので、デスクトップ・ユーザはSELinuxが有効になっていないかのごとく自由にシステムを使える。そして、特定のアプリケーションだけを指定してアクセスを制限することで、重要なネットワーク・デーモンが保護される。このポリシーは、Red Hat Enterprise Linux(RHEL)4でも採用された。

それは、Red HatのSELinuxエンジニアがパフォーマンスのチューニングに注意を向けさせたときでもある。SELinux Fedora Core 5 FAQによると、最新のベンチマークテストで7%のパフォーマンス低下が測定されたパフォーマンスの強化が図られたFedora Core 6を筆者は試したが、このリリースではSELinuxのオン/オフでパフォーマンスに目立った差は感じなかった。

Mayank-Sharma(2006年12月11日(月))
2007年07月01日 19:05 更新