PHPの設定に関して対応に困った点やトラブルが発生した項目、PHP更新時の注意点等を備忘としてまとめています。
続きを読む
アーカイブ
PHPのバージョン情報とApacheの設定
OS、各種サービスのバージョンが分かるとどのような脆弱性があるか推測されてしまうため、セキュリティ上できるだけ非表示とすることが推奨されます。PHPのバージョン情報非表示にする方法を確認しました。
続きを読む
セキュリティを考慮した/etc/php.iniの設定
PHPの設定ファイル/etc/php.iniでセキュリティ上考慮する必要がる設定項目を確認しました。
※参考資料
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』
# セーフモードを有効にする。(注意:セーフモードはPHP 5.3.0で非推奨となり、PHP 5.4.0で削除)
safe_mode = On
# PHPがセーフモードで動作する場合、system()やその他のプログラム実行関数をこのディレクトリ以外で起動することは拒否。
safe_mode_exec_dir = php-required-executables-path
# エラーメッセージをサーバーのエラーログまたはerror_logに記録しない。
display_errors = Off
# ここに書かれたプレフィックスで始まる環境変数だけをユーザーが変更できるようにする。
safe_mode_allowed_env_vars = PHP_
# PHPのバージョン情報などを表示しない
expose_php = Off
# すべてのエラーをログ記録する。
log_errors = On
# EGPCS(Environment、GET、POST、Cookie、Server)変数をグローバル変数として登録しない。(注意:PHP 5.3.0で非推奨となり、 PHP 5.4.0 で削除)
register_globals = Off
# POSTデータに許可される最大サイズを最小限にする
post_max_size = 1K
# CGIとしてPHPを実行する際にセキュリティを確保するのに必要
cgi.force_redirect = 0
# 必要なければHTTPファイルアップロードを無効にする
file_uploads = Off
# URL対応のfopenラッパーが使用可能となり、ファイルのようにURLオブジェクトをアクセスできるようになる設定。許可しない。
allow_url_fopen = Off
# オンにすると、デフォルト値が指定されているデータベース接続関数は、引数で指定された値よりもデフォルト値を優先して使用
sql.safe_mode = On