Next: 4 GUIの概要
Up: SELinux Policy Editor(seedit)管理ガイド(マニュアル) 2.0
Previous: 2 SELinux Policy Editor(seedit)とは?
Contents
seeditを使う前に,SELinuxに関する最低限の知識を押さえておく必要があります。
- TE(Type-Enforcement)
SELinuxのアクセス制御メカニズムはTE(Type Enforcement)と呼ばれてい
ます。TEでは、プロセスには、ドメインと呼ばれる権限が割り当てられ
ます。例えば、Apache Webサーバー(/usr/sbin/httpd)には、httpd_tと
いうドメインが割り当てられます。
ポリシーと呼ばれる設定ファイルに、ドメインがどんなリソース
(ファイルなど)にアクセスができるかのルールが記述されています。
リソースを識別するために、タイプと呼ばれるラベルを使います(seedit
では隠蔽されます)。
全てのプロセスは、ポリシーに記述された通りのドメインを
与えられ,その権限の範囲内だけで動作します。
SELinuxの鍵となるのは、どんなドメインを割り当てるか、ドメインにど
んなアクセスを許可するか、というポリシーの設定となります。
なお、ドメインの割り当てられるタイミングは、実行ファイルの実行時になります。ポ
リシーファイルに、「実行ファイルを実行した場合、特定のドメインを
割り当てる」と書いてある場合のみ、ドメインが割り当てられます。
あるアプリケーションに割り当てるドメイン名を変更した場合は、アプ
リケーションの再起動が必要になるのに注意が必要です。
ドメイン名を変えず、ドメインの持つ権限のみを変えた場合はアプリケー
ションの再起動は
不要です。
- Enforcing/permissive モード
SELinuxには、enforcingモード、permissiveモードと呼ばれる2つのモー
ドが用意されています。
Enforcingモードは通常のモードです。ポリシーに書かれたアクセス制御
設定が有効な状態です。
Permissiveモードは、テストモードとも言えるモードです。SELinuxによっ
て拒否されるアクセスがあったとしても,それは拒否されず,ログにア
クセス拒否の事実が記述されるだけ、というモードです。 Permissiveモー
ドでは、アプリケーションは通常のLinuxと同様に動きます。が、アプリ
ケーションがどんなアクセスをするのか挙動を調べ、ポリシーを書くの
に役立ちます。
現在のモードを確認するには、getenforceコマンドを使います。
enforcing/permissiveモードの切り替えには、 setenforce コマンドを使います。使い方は、後で紹介します。
- SELinuxのアクセス拒否ログ
SELinuxによってアクセスが拒否された場合、auditdサービスが動作して
いる場合は、 /var/log/audit/audit.logにログアクセス拒否ログが出
力されます。一方、auditdサービスが動作していない場合は、
/var/log/messagesにアクセス拒否ログが出ます。dmesgコマンドでも閲
覧可能です。
Yuichi Nakamura
2006-10-27