SELinuxで組み込み機器のセキュリティを高める(後編) ―― 組み込み機器にSELinuxを適用する

中村雄一

tag: 組み込み

技術解説 2008年9月 8日

5 ポリシを設定する

 いよいよポリシを設定していきます.どのような方針で作ればいいのでしょうか? 一番理想的なポリシは,「すべてのアプリケーションが必要最小限の権限で動作する」ことです.これを実現するためには,すべてのアプリケーションに対してドメインを定義し,権限を設定する必要があります.セキュリティが高く,非常に手間がかかる上,ポリシのサイズも大きくなりがちです.これに対し,今回は,「ネットワークにつながるアプリケーションだけに必要最小限の権限を割り当てる」方針を採用します.攻撃者にとっての攻撃の入り口となるのは,ネットワークにつながるアプリケーションです.これを必要最小限の権限で動作させるだけでも,攻撃者にとって攻略困難になります.この方針を採用すれば,ポリシの設定の手間も,ポリシのサイズも小さくなります.以下,この方針に基づき,SELinux Policy Editorを使ってポリシを作成していきます.

 今回は,CAT760に搭載されたWebサーバである「lighttpd」にドメインを付与し,最小限の権限で動作させる例を元に設定例を見ていきます.

● 設定書式「SPDL」

 SEEditの設定書式「SPDL」を駆使して設定を行うので,SPDLの理解が必要です.SPDLで書いた設定の構造をリスト1に示します.これはhttpd_tドメインに関する設定例です.ファイル名は,simplified_policy/httpd_t.spとなっています.2,3行目がドメイン付与設定です.「/usr/sbin/lighttpdが実行されるとhttpd_tドメインが付与される」と設定しています.4,5行目は,設定のインポートです.共通して使う設定が,simplified_policy/include以下に格納されており,それをインポートしています.今回は,通常のアプリケーションに必要な設定(common_relaxed.sp),デーモン・プログラムに必要な設定(daemon.sp)をインポートしています.6,7行目は,アクセス許可設定です.httpd_tドメインに,ファイル/etc/lighttpdへのアクセスとTCP80番ポートへのアクセスを許可していきます.最も設定行が多くなるのがアクセス許可設定なので,もう少し詳しく見てみます.

● アクセス許可設定

 アクセス許可設定で最低限覚えておくべきものとして,「ファイル・アクセス許可」,「ネットワーク・アクセス許可」のほかに「特権許可」があります.「特権」とは,ファイルやネットワーク・アクセス以外の重要な権限を指しています.それぞれの書式を,図1図3に示します.このほかにも,さまざまな細かい設定が行えます.詳しくは,SPDLのリファレンス・マニュアル(http://seedit.sourceforge.net/doc/2.1/spdl_spec_jp/)を参考にしてください.ただし,設定書式をすべて覚える必要はなく,後述するaudit2spdlで生成できます.

zu01_01.gif
図1 ファイル・アクセス許可設定の書式

zu02_01.gif
図2 ネットワーク・アクセス許可設定の書式

zu03_01.gif
図3 特権許可設定の書式

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日