Security-Enhanced Linux

Security-Enhanced Linux (SELinux)



Security-Enhanced Linux(SELinux)は、アメリカ国家安全保障局(NSA)によって開発された、Linuxカーネルに強制アクセス制御(Mandatory Access Control、MAC)機能を追加するためのモジュールです。しばしばLinuxディストリビューションの一つと誤解されることがありますが、実際にはそれとは異なります。

概要



SELinux1992年に、NSAがFlukeというオペレーティングシステム上でMAC機能の研究を行う過程で開発されました。この技術は、特にMulti Level Security(MLS)を用いて、セキュリティが高いオペレーティングシステムを実現することを目的としています。MLSでは、すべてのアクセス対象(サブジェクト)に対して階層化された権限を設定し、アクセスされる対象(オブジェクト)には重要度に応じたラベルを付与することでアクセス制御を行います。ただし、柔軟な実装が求められる分、設定が複雑になってしまうというデメリットもあります。

SELinuxはこの課題に対処するために、Flaskというアーキテクチャを基盤に開発され、特定のセキュリティモデルに依存しない柔軟なセキュリティポリシー言語を採用しています。これにより、セキュリティポリシーと言語、そしてセキュリティチェックのメカニズムが独立して動作し、様々なニーズに適応することができるのです。SELinux2000年12月22日に一般公開され、2003年8月13日にはLinuxカーネル2.6のLinux Security Modules(LSM)として統合されました。

内容



従来のLinuxおよびUNIX系システムにおいて、ファイルやディレクトリへのアクセス制限は、それぞれのパーミッションによって管理されていました。これらのパーミッションは、「オーナー」・「グループ」・「その他ユーザ」に対し、「読み込み」・「書き込み」・「実行」の権限を設定するものでした。しかし、これに加え、root(スーパーユーザー)はすべての権限を持つため、一度rootのパスワードが漏れれば、システム全体が危険にさらされる事態が生じます。

SELinuxはこの状況を改め、各プロセスに特定のアクセス制限を適用するType Enforcement(TE)や、rootを含む全ユーザに制約を設けるロールベースアクセス制御(RBAC)によって、権限の集中を防いでいます。

Type Enforcement (TE)



TEでは、全プロセスに「ドメイン」というラベルを付与し、リソースには「タイプ」というラベルを与えます。このリソースには、行える操作の種類を示す「アクセス・ベクタ」も設定されます。これにより、各ドメインとタイプに対して許可された操作が、セキュリティポリシーとして規定可能となります。

ロールベースアクセス制御 (RBAC)



RBACは、いくつかのドメインを「ロール」として束ね、それをユーザに割り振る仕組みです。このロールに基づきユーザは限定されたドメインの権限のみでリソースにアクセスできるため、より細かな権限設定が可能になります。例えば、Web管理者にはWeb管理に必要なファイルのみにアクセスできる権限を付与するといったことが可能で、これにより仮にユーザパスワードが漏洩しても影響は最小限に留まるのです。

日本における普及状況



日本では、セキュリティへの関心は高まっているものの、SELinuxの導入実績は数少ないのが現状です。多くのシステムインテグレーターやプロバイダーは、OSインストール直後にSELinuxを無効にする傾向があり、そのため標準的な対応が欠如しています。これにより、IPv6技術と同様に、SELinuxの専門技術者の育成が急務となっています。

関連項目




外部リンク



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。