13.3. ブール値
SELinux は、サービスの実行に必要な最小アクセスレベルに基づいています。サービスはさまざまな方法で実行できます。そのため、サービスの実行方法を指定する必要があります。これは、SELinux ポリシーの記述に関する知識がなくても、ランタイム時に SELinux ポリシーの一部を変更できるようにするブール値を使用して実現できます。これにより、SELinux ポリシーの再読み込みや再コンパイルを行わずに、サービスが NFS ボリュームにアクセスするのを許可するなどの変更が可能になります。
ブール値の状態を変更するには、setsebool コマンドを使用します。たとえば、
httpd_anon_write ブール値を有効にするには、root で以下のコマンドを入力します。
setsebool -P httpd_anon_write on
~]# setsebool -P httpd_anon_write on
同じ例を使用してブール値を無効にするには、以下のように、コマンドで on を off に変更します。
setsebool -P httpd_anon_write 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_relayhttpdを正引きまたはリバースプロキシーとして使用する場合は、このブール値を有効にします。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 ポリシーは継続的に開発されているため、上記のリストには、サービスに関連するすべてのブール値が常に含まれているとは限りません。これらをリスト表示するには、以下のコマンドを入力します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
特定のブール値の説明を表示するには、以下のコマンドを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
このコマンドが機能するには、
getsebool -a | grep service_name
~]$ getsebool -a | grep service_name
sepolicy booleans -b boolean_name
~]$ sepolicy booleans -b boolean_name
sepolicy ユーティリティーを提供する追加の policycoreutils-devel パッケージが必要であることに注意してください。