余計な情報を出力せず、Apacheのセキュリティを高める
Apacheは初期設定だと、テストページが出力される設定になっている。このテストページには、バージョン情報その他が含まれており、サイトを攻撃しようと企む輩に余計な情報を与えてしまう。(※バージョン情報が分かる事で、そのバージョン特有のセキュリティホールを突かれてしまう可能性もある)なので、Apacheに限らないが、余計な情報は極力しない設定にしていく。
Apacheのテストページを出力しない
/etc/httpd/conf.d/welcome.conf にて、以下のように設定する
1 2 3 4 5 6 7 |
$ (sudo) vi /etc/httpd/conf.d/welcome.conf # 下記4行をコメントアウト <LocationMatch "^/+$"> Options -Indexes ErrorDocument 403 /.noindex.html </LocationMatch> |
1 2 |
# CentOS7を再起動 $ (sudo) systemctl restart httpd |
これでApacheテストページは表示されなくなるが、今度はドキュメントルート下のディレクトリ・ファイル一覧が表示されてしまい、どういうファイルがドキュメントルート下においてあるのかがバレバレで、セキュリティ的に非常によろしくない。次はそれを表示しない設定する。
ディレクトリ・ファイル一覧を出力しない
/etc/httpd/conf/httpd.conf にて、以下のように設定する
1 2 3 4 |
$ (sudo) vi /etc/httpd/conf/httpd.conf # 下記の行をコメントアウト Options Indexes FollowSymLinks |
他サイトでは、「Options -Indexes FollowSymLinks」とIndexesの前に「-」を入れればいいという記述があったが、何故かCentOS7,Apache2.4ではhttpd再起動時にエラーになってしまい、立ち上がらない。仕方ないので色々試してみたらコメントアウトで上手く起動した。Apacheのバージョンが上がって、記述方法が変更されてしまったのかもしれない。
とりあえずCentOS6、Apache2.2で試してみたら、他サイトで書かれていたように書いても問題なくApacheは再起動出来た。
1 2 |
# Options Indexes FollowSymLinks Options -Indexes FollowSymLinks |
バージョンによって記述方法が違うというのはちょっと面倒だね。
設定が反映されたか確認
ディレクトリ・ファイル一覧が表示されていたページにアクセスし、Forbidden が表示されていればOK。