13.3. ブール値
SELinux は、サービスの実行に必要な最小アクセスレベルに基づいています。サービスはさまざまな方法で実行できます。そのため、サービスの実行方法を指定する必要があります。これは、SELinux ポリシーの記述に関する知識がなくても、ランタイム時に SELinux ポリシーの一部を変更できるようにするブール値を使用して実現できます。これにより、SELinux ポリシーの再読み込みや再コンパイルを行わずに、サービスが NFS ボリュームにアクセスするのを許可するなどの変更が可能になります。
ブール値の状態を変更するには、setsebool コマンドを使用します。たとえば、
httpd_anon_write
ブール値を有効にするには、root で以下のコマンドを入力します。
~]# setsebool -P httpd_anon_write on
同じ例を使用してブール値を無効にするには、以下のように、コマンドで on を off に変更します。
~]# setsebool -P httpd_anon_write off
注記
再起動後も、setsebool の変更を保持したくない場合は、
-P
オプションを使用しないでください。
以下は、以下は、
httpd
の実行方法に対応するために使用可能な一般的なブール値の説明です。
httpd_anon_write
- このブール値を無効にすると、
httpd
は、public_content_rw_t
タイプでラベル付けされたファイルへの読み取りアクセスのみを許可します。このブール値を有効にすると、httpd
は、public_content_rw_t
タイプでラベル付けされたファイル (公開ファイル転送サービスのファイルを含む公開ディレクトリーなど) に書き込むことができます。 httpd_mod_auth_ntlm_winbind
- このブール値を有効にすると、
httpd
のmod_auth_ntlm_winbind
モジュールを使用した NTLM および Winbind の認証メカニズムにアクセスできるようになります。 httpd_mod_auth_pam
- このブール値を有効にすると、
httpd
のmod_auth_pam
モジュールを使用した PAM 認証メカニズムにアクセスできるようになります。 httpd_sys_script_anon_write
- このブール値は、公開ファイル転送サービスで使用される
public_content_rw_t
タイプでラベル付けされたファイルに、HTTP スクリプトによる書き込みアクセスを許可するかどうかを定義します。 httpd_builtin_scripting
- このブール値は、
httpd
スクリプトへのアクセスを定義します。PHP コンテンツでは、このブール値を有効にする必要があることがよくあります。 httpd_can_network_connect
- このブール値を無効にすると、HTTP スクリプトおよびモジュールは、ネットワークまたはリモートポートへの接続を開始できなくなります。このアクセスを許可するには、このブール値を有効にします。
httpd_can_network_connect_db
- このブール値を無効にすると、HTTP スクリプトおよびモジュールは、データベースサーバーへの接続を開始できなくなります。このアクセスを許可するには、このブール値を有効にします。
httpd_can_network_relay
httpd
を正引きまたはリバースプロキシーとして使用する場合は、このブール値を有効にします。httpd_can_sendmail
- このブール値を無効にすると、HTTP モジュールがメールを送信できなくなります。これにより、
httpd
でスパム攻撃による脆弱性の発生を防ぐことができます。このブール値を有効にして、HTTP モジュールがメールを送信できるようにします。 httpd_dbus_avahi
- 無効にすると、このブール値は
D-Bus
を介したavahi
サービスへのhttpd
アクセスを拒否します。このアクセスを許可するには、このブール値を有効にします。 httpd_enable_cgi
- 無効にすると、このブール値は
httpd
が CGI スクリプトを実行できないようにします。httpd
が CGI スクリプトを実行できるようにするには、このブール値を有効にします (CGI スクリプトには、httpd_sys_script_exec_t
タイプのラベルが必要です)。 httpd_enable_ftp_server
- このブール値を有効にすると、
httpd
は FTP ポートをリッスンし、FTP サーバーとして機能します。 httpd_enable_homedirs
- このブール値を無効にすると、
httpd
はユーザーホームディレクトリーにアクセスできなくなります。このブール値を有効にすると、ユーザーホームディレクトリー (/home/*/
のコンテンツなど) へのhttpd
アクセスを許可します。 httpd_execmem
- このブール値を有効にすると、
httpd
は、実行可能ファイルと書き込み可能なメモリーアドレスを必要とするプログラムを実行できます。バッファーオーバーフローに対する保護が低減するため、セキュリティー上の理由から、このブール値を有効にすることは推奨できません。ただし、特定のモジュールおよびアプリケーション (Java アプリケーションや Mono アプリケーションなど) では、この権限が必要になります。 httpd_ssi_exec
- このブール値は、Web ページのサーバー側のインクルード (SSI) 要素を実行できるかどうかを定義します。
httpd_tty_comm
- このブール値は、
httpd
が制御端末へのアクセスを許可するかどうかを定義します。通常はこのアクセスは必要ありませんが、SSL 証明書ファイルの設定などの場合は、パスワードプロンプトを表示して処理するために端末アクセスが必要になります。 httpd_unified
- このブール値を有効にすると、
httpd_t
はすべてのhttpd
タイプ (sys_content_t の実行、読み取り、または書き込み) に完全にアクセスできるようになります。無効にすると、読み取り専用、書き込み可能、または実行可能な Web コンテンツが切り離されます。このブール値を無効にすると、セキュリティーレベルが向上しますが、スクリプトやその他の Web コンテンツに、それぞれが持つ必要のあるファイルアクセス権に基づいて、個別にラベルを付ける必要があるという管理オーバーヘッドが追加されます。 httpd_use_cifs
- このブール値を有効にすると、Samba を使用してマウントしたファイルシステムなど、
cifs_t
タイプでラベル付けされた CIFS ボリュームのファイルに、httpd
がアクセスできるようになります。 httpd_use_nfs
- このブール値を有効にすると、NFS を使用してマウントしたファイルシステムなど、
nfs_t
タイプでラベル付けされた NFS ボリュームのファイルに、httpd
がアクセスできるようになります。
注記
SELinux ポリシーは継続的に開発されているため、上記のリストには、サービスに関連するすべてのブール値が常に含まれているとは限りません。これらを一覧表示するには、以下のコマンドを入力します。
~]$ getsebool -a | grep service_name
特定のブール値の説明を表示するには、以下のコマンドを実行します。
~]$ sepolicy booleans -b boolean_name
このコマンドが機能するには、sepolicy
ユーティリティーを提供する追加の policycoreutils-devel パッケージが必要であることに注意してください。