Apache のカスタマイズとSELinux

Apache and SELinux」がよくまとまっています。

プロセスがSELinuxで守られていることを確認

# ps -ZC httpd
# ps -eZ

ファイルがSELinuxで守られていることを確認

# ls -Z /var/www/html

SELinuxのtypeにどんなものがあるか確認

# getsebool -a | grep httpd

cgiの有効化

# setsebool -P httpd_enable_cgi 1
# chcon -t httpd_sys_script_exec_t sample.cgi

ユーザのhomeを有効化

# setsebool -P httpd_enable_homedirs 1
# chcon -R -t httpd_sys_content_t ~user/public_html

ターミナルへのアクセスを有効化(certificate fileへのパスワード入力時などに必要)

# setsebool -P httpd_tty_comm 1

ファイルコントロールコンテキストは無効

# setsebool -P httpd_unified 0

PHP対策

# setsebool -P httpd_builtin_scripting 1

DB対策

# setsebool -P httpd_can_network_connect_db on

httpdからのネットワーク接続を有効化。
httpd経由で他のマシンへのアタックをさせないためには無効化が必要(?)

# setsebool -P httpd_can_network_connect 1

suexec Transitionの無効化

# setsebool -P httpd_suexec_disable_trans 1

httpd Daemon Transitionの無効化

# setsebool -P httpd_disable_trans 1

最後に再起動

# service httpd restart

httpポートを81へ変更する場合

# semanage port -l | grep http
# semanage port -a -t http_port_t -p tcp 81
同じタグの記事: Apache
同じタグの記事: SELinux
同じカテゴリの記事: Linux
関連書籍: Apache