14.3. ブール値

SELinux は、実行するサービスに最低限必要なレベルのアクセスに基づいています。サービスの実行手段は複数あるため、サービスの実行方法を指定する必要があります。これには、ブール値を使用します。ブール値を使用すると、SELinux ポリシーの記述方法の知識がなくてもランタイム時に SELinux ポリシーの一部変更ができます。これにより、SELinux ポリシーの再読み込みや再コンパイルを行うことなく、サービスの NFS ボリュームへのアクセスを許可するなどの変更が可能になります。
ブール値の状態を変更するには、setsebool コマンドを使用します。たとえば、httpd_anon_write ブール値をオンにするには、以下のコマンドを root ユーザーで実行します。
~]# setsebool -P httpd_anon_write on
同じ例でブール値を無効にするには、下記の様にコマンドの onoff にします。
~]# setsebool -P httpd_anon_write off

注記

再起動後に setsebool による変更を維持したくない場合は、-P オプションを使用しないでください。
以下では、httpd の動作を指定する一般的なブール値について説明します。
httpd_anon_write
このブール値を無効にすると、httpdpublic_content_rw_t タイプのラベルが付いたファイルへのアクセスが読み取り専用に限定されます。有効にすると、パブリックファイル転送サービス用のファイルを含むパブリックディレクトリーなど、public_content_rw_t タイプのラベルが付いたファイルへの書き込みが可能になります。
httpd_mod_auth_ntlm_winbind
このブール値を有効にすると、httpdmod_auth_ntlm_winbind モジュールを使用した NTLM および Winbind 認証メカニズムへのアクセスが許可されます。
httpd_mod_auth_pam
このブール値を有効にすると、httpdmod_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
このブール値を無効にすると、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 パッケージが追加で必要になることに留意してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。