next up previous contents
Next: 3 SELinuxの背景知識 Up: SELinux Policy Editor(seedit)管理ガイド(マニュアル) 2.1 Previous: 1 背景:SELinuxの難しさ   Contents

Subsections

2 SELinux Policy Editor(seedit)とは?

2.1 概略

SELinux Policy Editor(略称seedit)は、SELinuxを簡単にするツールです。 seeditは、Simplified Policy(単純化ポリシー)と、GUIなどSimplified Policy周辺ツー ルから成り立つツールです。
最も重要な要素はSimplified Policyです。 Simplified Policyとは、Simplified Policy Description Language(単純化ポリ シ記述言語、以下SPDL)で記述されたSELinuxのポリシのことです。SPDLは、 SELinuxの設定を大幅に簡略化します。SPDLは、セキュリティ上影響の少ないパー ミッションを省略・統合することによってパーミッションの数を減らします。ま た、ラベルを隠蔽し、ファイル名、ポート番号を直接使って設定できるようにし ています。同時に、マクロ地獄からも解放 されます。
SPDLで記述されたポリシーが,SELinuxの設定に変換され,設定が反映されます。
以下が、SPDLによって書かれたSimplified Policyの例です。Apache Webサーバーに「httpd_t」 というドメイン(権限のこと)を割り当てて設定しています。
{
domain httpd_t;
program /usr/sbin/httpd;
...
allow /var/www/** r,s;
allownet -protocol tcp -port 80 server;
...
}
SPDLを使ったポリシーの意味は明快です。カスタマイズ、新規ポリシーの記述も簡単です。 SPDLを生成するためのツールやGUIが用意されているからです。

2.2 seeditの歴史

SELinux Policy Editorの元となるバージョンは、日立ソフトウェアエンジニア リング(http://www.selinux.hitachi-sk.co.jp/)により開発され、2003年2月にGPLにて公開さ れました。このバージョンをアップデートしたものが、バージョン1.0として2005年7月に公 開されました。
現バージョン(2.0)は、中村がThe George Washington Universityにて再設計し、 日立ソフトの実装を一部使いながら,再実装、新規開発したものです。

2.3 seeditの限界

seeditは、到達できるセキュリティレベルに限界があります。 Simplified Policyの、情報フロー分析可能性が証明されていません。 「ポリシーは、形式的(数学的) に分析可能であるべきである」と考える人は、seeditを使ってはいけません。 SELinuxのstrictポリシーを頑張って使ってください。
Simplified Policyから生成されるSELinuxのポリシーを分析すれば、情報フロー 分析を可能かもしれません。ラベル付けのルールも、情報フロー分析に気をつかっ てはいます。しかし、情報科学的に証明された物ではありません。



Yuichi Nakamura 2007-02-13