21.2. SELinux 関連のファイル

以下のセクションでは SELinux の設定ファイル及び関連ファイルシステムを説明します。

21.2.1. /selinux/ 疑似ファイルシステム

/selinux/ 疑似ファイルシステムには、カーネルサブシステムで一般に使用されているコマンドが含まれています。このタイプのファイルシステムは/proc/ 疑似ファイルシステムに似ています。

ほとんどの場合、管理者とユーザーは他の SELinux ファイルやディレクトリに比較すれば、このコンポーネントを操作する必要がありません。

次ぎの例では、/selinux/ ディレクトリのサンプル内容を示しています:

-rw-rw-rw-  1 root root 0 Sep 22 13:14 access
dr-xr-xr-x  1 root root 0 Sep 22 13:14 booleans
--w-------  1 root root 0 Sep 22 13:14 commit_pending_bools
-rw-rw-rw-  1 root root 0 Sep 22 13:14 context
-rw-rw-rw-  1 root root 0 Sep 22 13:14 create
--w-------  1 root root 0 Sep 22 13:14 disable
-rw-r--r--  1 root root 0 Sep 22 13:14 enforce
-rw-------  1 root root 0 Sep 22 13:14 load
-r--r--r--  1 root root 0 Sep 22 13:14 mls
-r--r--r--  1 root root 0 Sep 22 13:14 policyvers
-rw-rw-rw-  1 root root 0 Sep 22 13:14 relabel
-rw-rw-rw-  1 root root 0 Sep 22 13:14 user

例えば、enforceファイル上でcatコマンドを実行すると執行モードの 1 又は容認モードの 0を提示します。

21.2.2. SELinux 設定ファイル

以下のセクションでは、SELinux の設定とポリシーファイル、及び/etc/ディレクトリ内にある関連ファイルシステムの説明をしています。

21.2.2.1. /etc/sysconfig/selinux設定ファイル

Red Hat Enterprise Linux で SELinux を設定するには、2つの方法があります: セキュリティレベル 設定ツール (system-config-securitylevel) の使用か、あるいは設定ファイル(/etc/sysconfig/selinux)の手動編集です。

/etc/sysconfig/selinuxファイルは SELinux を有効/無効にする主要ファイルであり、またシステム上のどのポリシーを執行するか、及びどの様に執行するかの設定もできます。

注記注記
 

/etc/sysconfig/selinuxには、実際の設定ファイル/etc/selinux/configへのシンボリックリンクが含まれています。

以下に、設定に利用できるオプションの完全なサブセットを説明しています:

  • SELINUX=<enforcing|permissive|disabled> — システム上の SELinux のトップレベルの状態を定義します。

    • enforcing — SELinux セキュリティポリシーを執行中です。

    • permissive — SELinux システムは警告を表示しますが、ポリシーは執行しません。これは、デバッグとトラブルシューティングの時に役に立ちます。この容認モードでは、執行モードで拒否されるようなアクションでもサブジェクトが継続出来るため、より多くの拒否がログされます。例えば、ディレクトリトリーを見て回ると、全ての読み込んだディレクトリレベルで複数のavc: deniedメッセージが発生しますが、執行モードのカーネルは最初の読み取りで停止し、次ぎの拒否メッセージを発生させません。

    • disabled — SELinux は完全に無効です。SELinux の接点はカーネルから切断されており、疑似ファイルシステムは未登録です。

      ヒントヒント
       

      SELinux が無効な時に実行されたアクションは、ファイルシステムがポリシーに定義されているような正式なセキュリティ条項を持たなくなる原因となります。SELinux を有効にする前にfixfiles relabelを実行することで、ファイルシステムのラベルを変え、SELinux が有効になった時に正常に機能するように出来ます。この詳細については、fixfiles(8)のman ページを参照して下さい。

    注記注記
     

    設定行末尾への余分な空白、又はファイルの最後の余分な行は予期できない動作の原因になります。安全の為、無用な空白は削除して下さい。

  • SELINUXTYPE=<targeted|strict> — SELinux で現在執行されているポリシーを指定します。

    • targeted — 目標されたネットワークデーモンのみが保護されます。

      重要重要
       

      以下のデーモンがデフォルトの目標ポリシーで保護されています:dhcpdhttpd (apache.te)namednscdntpdportmapsnmpdsquid、 及び syslogd。システムの他の部分はunconfined_tドメインで動作します。

      これらのデーモンの為に使用されるポリシーファイルは/etc/selinux/targeted/src/policy/domains/programで見ることが可能となっています。これは Red Hat Enterprise Linux の新しいバージョンがリリースされる時に変更の可能性があります。

      これらのデーモンに対するポリシー執行はセキュリティレベル 設定ツール (system-config-securitylevel)によって制御されるブール値を使用してオン/オフの切替えが出来ます。ブール値を目標デーモン用に切替えるとそのデーモンへのポリシー処理を無効にします。そして、例えば、initunconfined_tドメインからdhcpd.teに指定されたドメインへのdhcpdの移動を防止します。unconfined_tドメインはサブジェクトとオブジェクトが標準のLinux セキュリティの基でセキュリティ条項を実行できるようにします。

    • strict — 全てのデーモン用の完全な SELinux 保護です。セキュリティ条項は全てのサブジェクトとオブジェクトに定義されており、全ての単独アクションはポリシー執行サーバーでプロセスされます。

21.2.2.2. /etc/selinux/ディレクトリ

/etc/selinux/ディレクトリは全てのポリシーファイルと主要設定ファイル用の主体となる場所です。

以下のサンプルでは/etc/selinux/ディレクトリの内容を示しています:

-rw-r--r--  1 root root  448 Sep 22 17:34 config
drwxr-xr-x  5 root root 4096 Sep 22 17:27 strict
drwxr-xr-x  5 root root 4096 Sep 22 17:28 targeted

strict/targeted/の2つのサブディレクトリは同名(strict=厳格、及びtargeted=目標)のポリシーファイルが含まれている特定のディレクトリです。

SELinux ポリシー及びポリシー設定に関する詳細は Red Hat SELinux ポリシーライティングガイド を参照して下さい。

21.2.3. SELinux ユーティリティ

以下に一般的によく使用される SELinux ユーティリティを示します:

詳しい内容はこれらのユーティリティに関連した manページを参照して下さい。

利用できるバイナリユーティリティの詳細情報はrpm -ql <package-name>を実行して、setools又はpolicycoreutilsパッケージの内容を参照して下さい。<package-name>には、それぞれ必要なパッケージ名をいれます。