第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記事一覧 |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|