next up previous contents
Next: 4 GUIの概要 Up: SELinux Policy Editor(seedit)管理ガイド(マニュアル) 2.1 Previous: 2 SELinux Policy Editor(seedit)とは?   Contents

3 SELinuxの背景知識

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



Yuichi Nakamura 2007-02-13