Show Table of Contents
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タイプのラベルが付いたファイルへのアクセスが読み取り専用に限定されます。有効にすると、パブリックファイル転送サービス用のファイルを含むパブリックディレクトリーなど、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_scriptinghttpdスクリプト機能へのアクセスを定義するブール値です。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- このブール値を無効にすると、
httpdによるD-Busを使ったavahiサービスへのアクセスが拒否されます。このアクセスを許可する場合は、このブール値を有効にします。 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_execmem- このブール値を有効にすると、
httpdが実行可能かつ書き込み可能なメモリーアドレスを必要とするプログラムを実行できるようになります。バッファのオーバーフローに対する保護が低下するため、安全面からはこのブール値の有効化は推奨されません。ただし、特定のモジュールやアプリケーションではこの権限を必要とするものもあります (Java や Mono アプリケーションなど)。 httpd_ssi_exec- このブール値は、Web ページ内の SSI (server side include) 要素を実行可能にするかどうかを定義します。
httpd_tty_comm- このブール値は、
httpdが制御ターミナルへアクセスできるかどうかを定義します。通常、このアクセスは必要とされませんが、SSL 証明書ファイルを設定する場合などに、パスワードのプロンプトを表示させ処理するため、ターミナルへのアクセスが必要になります。 httpd_unified- このブール値を有効にすると、
httpd_tによるhttpdの全タイプへの完全アクセスが許可されます (つまり、sys_content_t の実行、読み込み、書き込み)。これを無効にすると、読み取り専用 web コンテンツ、書き込み可能 web コンテンツ、実行可能 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 パッケージが追加で必要になることに留意してください。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.