SELinux新機能解説
Red Hat Enterprise Linux 5で始めるSELinux
面 和毅
サイオステクノロジー株式会社
OSSソリューションセンター
グローバルサービスグループ
グループマネージャー
2007/3/14
まもなくリリースされるRed Hat Enterprise Linux 5では、SELinuxを使いやすくする新機能が搭載されている。今回は「セキュアOS「LIDS」入門」を執筆する面氏が、Red Hat Enterprise Linux 5のSELinuxで新しくなったポイントを詳しく紹介する(編集部)
Red Hat Enterprise Linux 5(以下RHEL5)が近日中にリリースされます。このRHEL5では、仮想化やクラスタリングなどさまざまな新機能が盛り込まれていますが、採用されているSELinuxもバージョンが上がり、新機能が盛り込まれ、扱いが大きく変わっています。この記事では、SELinuxに関しての前バージョンとRHEL5との相違点を説明します。
最新のSELinuxに関しての詳しい説明は、「SELinuxの最新動向」やITmediaエンタープライズの記事「SELinuxは今すぐ使えるのか?」などの連載を参照してください。
【編集部注】 2007年3月14日、Red HatはRed Hat Enterprise Linux 5のリリースを発表しました。以下の記事も併せてご参照ください。 Red Hat、「Red Hat Enterprise Linux 5」をリリース http://www.itmedia.co.jp/enterprise/articles/0703/15/news020.html |
Referenceポリシーの採用
RHEL5で採用されているバージョンのSELinuxからは、新しいポリシーの記述言語として「Referenceポリシー」が採用されています。SELinuxでは機能やアプリケーションごとに異なる「ドメイン」を設定してコンパートメント化を行うことにより、セキュリティ侵害が起きたときに被害を最小限化することができます。このドメインやアクセス制御の設定ファイルに当たるものが「ポリシー」になります。
旧バージョンのSELinuxでは、ディストリビューションで提供されているアプリケーション以外の独自のアプリケーションを使用したり、ポリシーをカスタマイズするには、設定ファイルのソースを入手してカスタマイズする必要がありました。また、そのソースファイルはドメインごとのディレクトリ構成になっていましたが、完全に各ドメインでソースファイルが分離できているわけではありませんでした(例えばrsyncのポリシー内にはftpのポリシーで定義されているパラメータなどが出てきます)。従って、あるドメインのポリシーを修正した際に、ほかのドメインのポリシーも修正しなくてはならないような状態でした。
図1 従来のポリシー構造 |
これに対し、Referenceポリシーでは「モジュール」とレイヤ構造を定義して、このようなポリシーの依存関係を整理することになりました。このモジュールの概念を実現するためにReferenceポリシーではいままでのポリシーを再作成し、またマクロを多用して各ドメイン間の依存関係を整理しています。
図2 モジュール化されたReferenceポリシーのレイヤ構造 |
これによりユーザーが新しくドメインを追加する際には、そのドメイン用のポリシーを作成するだけで作業が済み、ほかのドメインのポリシーの修正や削除などが不要になるため、簡単にドメインの追加が行えるようになりました。
図2 Referenceポリシーでの構造 |
図4は、httpdのドメインで定義されているインターフェイス(右ターミナル、“apache_read_log”)と、それを利用しているwebalizerのポリシー(左ターミナル、“apache_read_log(webalizer_t)”)になります。
図4 ポリシーの設定(画像をクリックすると拡大します) |
RHEL5ではこのReferenceポリシーの機能のおかげで、ポリシーのソースファイルを入手することなく、自分の追加したいアプリケーションのソースファイルだけを定義してロードすることが可能になっています(Referenceポリシーの完全なソースファイルを入手するには、src.rpmから抜き出して適用するという、いささか面倒な方法しかなくなっています)。
【参考】 Referenceポリシーについての詳細な説明は、「SELinuxの最新動向」第2回〜第5回を参照してください。 第2回 構成が大きく変わったセキュリティポリシー 2.x系 第3回 Referenceポリシーを設定してみよう 第4回 ReferenceポリシーをEnforcingモードで動かそう 第5回 Referenceポリシーの作成と動作テスト |
MLS/MCSの実装
RHEL5で採用されている、SELinuxの新機能のもう1つの特徴としてMLS(Multi Level Security)の実装があります。
RHEL5で“ps axZ”や“ls -alZ”などを実行してセキュリティコンテキストを確認すると、図5のようにいままでのセキュリティ識別子の末尾に“c0”などが付いた形で結果が表示されます。これは、従来のSELinuxのセキュリティコンテキストを構成していたユーザー識別子、ロール識別子、タイプ識別子に加えて新たにMLS識別子が加わったためです。
[root@rhel5b2 ~]# ps axZ system_u:system_r:udev_t:s0-s0:c0.c1023 391 ? S<s 0:01 /sbin/udevd -d system_u:system_r:auditd_t 1627 ? S<sl 0:00 auditd system_u:system_r:setrans_t:s0-s0:c0.c1023 1667 ? Ss 0:00 mcstransd system_u:system_r:crond_t:s0-s0:c0.c1023 1967 ? Ss 0:00 crond [root@rhel5b2 ~]# ls -laZ dr-xr-xr-x root root root:sysadm_r:sysadm_ssh_agent_t:s0-s0:c0.c1023 2456 dr-xr-xr-x root root root:sysadm_r:sysadm_t:s0-s0:c0.c1023 2459 dr-xr-xr-x root root root:sysadm_r:sysadm_dbusd_t:s0-s0:c0.c1023 2460 dr-xr-xr-x root root root:sysadm_r:sysadm_t:s0-s0:c0.c1023 2467 |
図5 RHEL5でのセキュリティコンテキスト表示 |
図6 新たに加えられたMLS識別子 |
MLSでは、リソースに付いているカテゴリ(c0などで表示される)とレベル(s0などで表示される)を比較して、アクセスの許可/拒否を判定します。また、通常のMLSではユーザーにとってかなり複雑なアクセス制御ルールとなってしまうため、RHEL5ではさらに、MLSの簡易版(より正確には、すべてのリソースが単一のレベルにいるとしてレベルによる制御をなくし、カテゴリによる制御のみに絞ったもの)となるMCS(Multi Category Security)を実装しています。
このMCSといままでのTargetedポリシーが組み合わさった形(targeted-mcs)がRHEL5のデフォルトとなっています。
【参考】 MLS/MCSでのアクセス制御についての詳細な説明は、「SELinuxの最新動向」第6回〜第8回を参照してください。 第6回 新しく追加されたMulti Category Security 第7回 Multi Level Securityでより厳密なポリシーを 第8回 Multi Level Securityで機密ファイルを管理する |
1/2 |
Index | |
Red Hat Enterprise Linux 5で始めるSELinux | |
Page1 Referenceポリシーの採用 MLS/MCSの実装 |
|
Page2 ツール類の充実 SELinuxを使ってみるチャンス |
関連記事 | |
連載:SELinuxの最新動向 | |
連載:セキュアOS「LIDS」入門 | |
SELinux Policy EditorでSELinuxを簡単に | |
想像以上?! お隣韓国のセキュアOS事情(前) | |
想像以上?! お隣韓国のセキュアOS事情(後) | |
ITmedia エンタープライズ:SELinuxの現状:使いやすさの改善が進む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)対策の観点から考える。
|
|