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

中村雄一

tag: 組み込み

技術解説 2008年9月 8日

3 最小限のポリシの準備

 まず,システムが動作するための必要最小限のポリシを準備します.前編で紹介したように,ポリシの準備にはSELinux Policy Editor(SEEdit)を使います.

● 作成するファイル

 ポリシに関係するファイルとして,ボード上に作成する必要があるのは,表5の三つのファイルです.

 これらのうち,policy.21,file_contextsはポリシの設定ファイルです.以降でSEEditを使って用意します./etc/selinux/configについては,次のような内容でボード上に作成します.

  SELINUXTYPE=seedit


 これは,「ポリシ関連のファイルを/etc/selinux/seeditに格納する」と設定しています.

● SELinux Policy Editorの開発機への導入

 さて,ポリシ設定ファイルを作成するために,SEEditを開発機に導入しましょう.最新版のソースをhttp://sourceforge.net/projects/seedit/からダウンロードします.最新版のファイル名はseedit-2.2.0.1.tar.gzです.ダウンロードしたらファイルを展開し,次のコマンドでコンパイル・インストールします.インストール先は~/seedit-crossです注1

  $ cd core
  $ make
  $ make cross-install DESTDIR=~/seedit-
  cross
  $ cd ..
  $ cd policy
  $ make cross-install DESTDIR=~/seedit-
  cross

注1;インストール前に,開発機側に「checkpolicy」パッケージを入れておく必要がある.CentOS 5では,yum install checkpolicyで導入できる.

● 最小限のポリシを作成

 これで,ポリシの開発環境が~/seedit-crossディレクトリに作成されました.seedit-crossディレクトリには,主に表6のようなファイルとディレクトリが配備されています.

 このディレクトリに移動し,最小限のポリシを作成します.

  $ cd ~/seedit-cross
  $ ./seedit-load -d

 seedit-loadコマンドは,SEEditの設定書式SPDLで書かれたポリシを通常の形式に変換するものです.通常は,-dオプションを付けて実行します.これで,simplified_policyディレクトリ以下に格納されたSPDL記述の設定が,通常のSELinuxの設定書式に変換され,policy_root以下に出力されます.出力された設定は必要最小限のものです.プログラムには,kernel_t,init_t,もしくはunconfined_tというドメインが付与されます.これらのドメインは,「すべての操作を許可」と設定されており,セキュリティ上の効果はありません.実際にSELinuxの機能を活用するには,自分で設定を追加する必要があります.

 policy_rootディレクトリ以下のファイルを,ボードの/etc/selinux/seeditディレクトリに転送します.転送後,ボード側には/etc/selinux/seedit/policy/policy.21,/etc/selinux/seedit/contexts/files/file_contextsというファイルができていることを確認します.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日