apacheやっつけ設定
CentOS 7.2, Apache2.4.6
【httpd.conf】
- ServerAdmin にメールアドレスを書いておく
- /var/www/html以外で「Require all granted」 となっているところがあったら一旦全部コメントアウト
- /で 「Require all denied」 が設定されていることを確認
- ディレクトリリスティング機能を無効化するために Options の Indexes を全削除
- 「AllowOverride None」 を確認
- トレースメソッドの無効化 「TraceEnable off」を書き込む
- クリックジャッキング対策 以下2行を書き込む
1行目はロード済みなら不要(/conf.modules.d/00-base.confを確認)
LoadModule headers_module modules/mod_headers.so Header append X-FRAME-OPTIONS "SAMEORIGIN"
- サーバー情報表示の無効化 以下2行を書き込む
ServerTokens ProductOnly ServerSignature off
- 403の偽装 以下2行を書き込む
(wiresharkとかのパケットキャプチャからはバレるので気休め程度)
ErrorDocument 403 "Mot Found" ErrorDocument 404 "Not Found"
- 403の偽装 phpが使えるならヘッダも偽装
端末で
sudo mkdir /var/www/html/error echo '<?php header("HTTP", true, 404);print("Not Found");' | sudo tee /var/www/html/error/error.php
実行後以下を書き込む
<Directory "/var/www/html/error"> AllowOverride None Require all granted </Directory> ErrorDocument 403 /error/error.php ErrorDocument 404 /error/error.php
【php.ini】
【conf.d以下について】
autoindex.conf
ディレクトリリスティングの見栄えを良くするコンフィグ
使わないなら削除か拡張子のリネーム推奨userdir.conf
Linuxユーザーのディレクトリをwebに公開できる
UserDir disabled を確認する
使わないなら削除か拡張子のリネーム推奨welcome.conf
インストール直後にルートディレクトリを表示させると出てくるあれの設定
コメントアウトするとあれが表示されなくなる
使わないなら削除か拡張子のリネーム推奨php.conf
特に変更不要?phpMyAdmin.conf zabbix.conf などのwebインターフェースの.conf
それぞれのwebインターフェースに関わる.conf
必ずRequireで信頼するホストのみの設定ができているか確認すること