How to install SELinux Policy Editor
2005. 07.18
著: 中村 雄一 <ynakam@gwu.edu>

これは,SELinux Policy EditorおよびSimplified Policy(単純化ポリシ)のインストールドキュメントです。

目次
1. インストールの前に
2. 単純化ポリシをインストールする
2.1 .RPMからインストールする
2.2  ソースからインストールする
2.3 インストール後
2.4 アンインストール方法
3. GUIをインストールする
3.1 Webminをインストール
3.2 GUIをインストール


1. インストールの前に
(1) 何をインストールすればいいの?
 SELinux Policy Editorは, Simplified Policy(単純化ポリシ)とGUIから構成されています。
Simplified Policyのインストールは必須で,GUIはオプションです。
GUIはオプションですが,インストールすることでより簡単に使うことができます。

(2) 動作環境
Fedora Core 4と3で動作を確認しましたが,Fedora Core4が推奨です。
ただし,我々のツールは実験的なものであり,致命的バグを含む可能性があります。
本ツールを使ったことによって生じた被害に対しては無保証です。

ポリシーは工事中です。今のところ限られたサービスだけが動作します(auditd,syslog,httpd,webmin,iptables,network)。

(3) ランレベルは3に

 デフォルトで用意されているポリシーはXをサポートしません
(正確には一部だけサポートしていますが,enforcingモードではうまく動作しないと思います)
ですから,ランレベルを3に切り替える必要があります。
/etc/inittab の
「id:5:initdefault:」
という行を
「id:3:initdefault:」
のようにします。

(4)最低限のサービスを立ち上げる
先ほど書いたように,限られたサービス(auditd,syslog,httpd,webmin,iptables,network)
のポリシーしか用意されていません。
これ以外のサービスは止めておき,必要なものは自分で設定するのが良いでしょう。

2. 単純化ポリシをインストールする
 単純化ポリシを使うためには,converter(単純化ポリシのコンパイラ)と,単純化ポリシのサンプルをインストールする必要があります。
RPMもしくはtarボールからインストールすることができます。

2.1 . RPMからインストールする
(1) 以下のファイルをhttp://sourceforge.jp/projects/selpe/から入手します。
- seedit-converter-1.0.0-<distro>.rpm
- seedit-policy-easy-1.0.0.-<distro>.rpm
ディストリビューションによってファイル名が違うことに注意します。
<distro>はFedoraCore4の場合は「FC4」,Fedora Core3の場合は「FC3」です。

(2) RPMをインストールします
# rpm -ivh seedit-*.rpm
この際,/etc/selinux/configが
SELINUX=permissive
SELINUXTYPE=seedit
のように書き換えられます。

(3) リブートします。
再起動時,全ファイルのラベル付けが行われるため多少時間がかかります。

(4)  ファイルのタイプラベルを修復します
rootユーザーでログインし、(メッセージが沢山でますがここでは無視します)
# restorecon -R /dev /etc
# cd /etc/selinux/seedit/src/policy
# make diffrelabel
とします。
初回起動時は,SELinuxのタイプラベルがうまくつかないことがあるためです。

(5) 再度リブートします。

この後は,2.3節を見てください。

2.2  ソースからインストールする
(1) tarボールを http://sourceforge.jp/projects/selpe/ からダウンロードします。
- seedit-converter-1.0.0.tar.gz
- seedit-policy-1.0.0.tar.gz

(2)  converterをインストールします。
# tar xzvf *.tar.gz
# cd seedit-converter-1.0.0
# make install

(3) サンプルポリシをインストールします
# cd seedit-policy-1.0.0
Fedora Core3を使っている場合は、
Makefileを以下のように編集します。
「DISTRO=fc4」

「DISTRO=fc3」
そして,以下のコマンドをタイプします。
# make install

(4)
# touch /.autorelabel

(5)/etc/selinux/config の「SELINUX=, SELINUXTYPE=」を以下のように編集します。
SELINUX=permissive
SELINUXTYPE=seedit

 2.3に進む

2.3 インストール後の作業
(1) /etc/selinux/config に以下の2行が出ていることを確かめます
SELINUX=permissive
SELINUXTYPE=seedit

(2) sestatusコマンドの出力が以下のようになっていることを確認します
# sestatus
SELinux status: enabled
...
Policy from config file: seedit
...

(3) ソースからインストールしている場合は,以下の作業が必要です
再度リブートし,
# chcon system_u:object_r:etc_runtime   /etc/mtab /etc/fstab
# cd /etc/selinux/seedit/src/policy
# make diffrelabel

(4) ポリシーを編集します
ポリシーが用意されていないアプリケーションを動作させる場合や
うまく動作しない場合は単純化ポリシーを編集します。
単純化ポリシーを直接手で編集する場合は,"Configuring SELinux by Simplified Policy"を参照して下さい。
GUIを使う場合は,3章でGUIをインストールします。

(5) enforcingモードに切り替える
ポリシーが十分に設定できたらenforcingモードに切り替え動作確認します。
# setenforce 1
さらに,もう十分だと思ったら,ブート時からenforcingモードにします
/etc/selinux/configを以下のようにします。
SELINUX=enforcing
SELINUXTYPE=seedit

2.4 アンインストール方法
(1) RPMからインストールした場合
# rpm -e seedit-converter seedit-policy-easy
とし再起動するだけで,次回はpermissiveモード,targetedポリシで起動します。
つまり、/etc/selinux/configが
SELINUX=permissive
SELINUXTYPE=seedit
のようになります。
targetedポリシで起動したらもう一度リブートすることをお奨めします。

(2) ソースからインストールした場合
/etc/selinux/configを
SELINUX=permissive
SELINUXTYPE=targeted
のようにして,
# touch /.autorelabel
# rm /usr/local/bin/converter
# rm -rf /etc/selinux/seedit
とし,再起動します。
次回はpermissiveモード,targetedポリシで起動します。


3. GUIをインストールする(オプション)
3.1 Webminをインストールする
GUIは,webminのモジュールとして実装されているので,
webminのインストールが必要です。

(1)  perl-Net-SSLeayのインストール
# yum install perl-Net-SSLeay
perl-Net-SSLeayがfedora-extraからインストールされます。

(2) WebminのRPMパッケージをhttp://www.webmin.com/ からインストールします。

(3) Install webmin
# rpm -ivh webmin-<version>.rpm

3.2 GUIをインストールする
(1) GUIをダウンロードする
seedit-gui-1.0.0.tar.gz を http://sourceforge.jp/projects/selpe/からダウンロードします。

(2)
"Webmin設定" -> " Webminモジュール" -> "モジュールのインストール" -> "ローカルファイルから"
にて,「seedit-gui-1.0.0.tar.gz」を選択し,「ファイルからモジュールをインストール」を押します。

(3) /etc/webmin/seedit-gui-1.0.0/config を確認
単純化ポリシをソースからインストールしている場合は,「converter_path」を以下のようにする必要があります。
converter_path=/usr/local/bin/converter

(4)  
システム→SELinuxのセキュリティ設定→設定の反映
と辿り,
「設定をカーネルに読み込ませるとともに,新規ラベル付けされたファイルのみタイプを付与する」
ボタンを押します。

(5) 再起動します。
再起動したら,ps -eZにて,「miniserv.pl」のドメインが「webmin_t」であることを確認します。

(6) 詳細は,GUIのマニュアルを参照して下さい。