Apache 2.4のセキュリティを考慮した初期設定

Apaceh2.4 の初期設定

CentOS7から、Apacheのバージョンは2.4となり、Apache2.2と設定箇所が違う箇所が多くなっています。初期設定でもApacheは稼働しますが、セキュリティを考慮して少し設定変更をして稼働したほうがいいのでその方法を説明します

Apache 2.4でのhttpd.conf の設定変更

ServerAdminServerName等の情報の変更とDirectoryIndex で指定したファイルがない場合、ディレクトリ内の一覧を表示される設定になっているので無効にします。

「Options Indexes FollowSymLinks」を「Options -Indexes FollowSymLinks」のように「Indexes」の前に「−」をつければ無効になるとネットの記事に有りましたが私の環境では「Options -Indexes +FollowSymLinks」と「-Indexes」・「+FollowSymLinks」と明示的に表記すれば大丈夫でした

XST(Cross Site Tracing)対策として、TRACEメソッドを無効します。

$ sudo vi /etc/httpd/conf/httpd.conf
# 問い合わせ先メールアドレスに設定する
ServerAdmin webmaster@example.jp

# ドメインを設定する
ServerName www.example.com:80

<Directory "/var/www/html">
# Indexesを-Indexesに変更してトップページにディレクトリ一覧が表示する事を防ぐ
#  Options Indexes FollowSymLinks
  Options -Indexes +FollowSymLinks

TraceEnable Off

トップページ(テストページ)を無効にする

welcome.confの設定を変更して、Apacheのテストページを無効にします

$ sudo vi /etc/httpd/conf.d/welcome.conf
# コメントアウト テストページを非表示にする
#<LocationMatch "^/+$">
#    Options -Indexes
#    ErrorDocument 403 /error/noindex.html
#</LocationMatch>

 

セキュリティ関連(security.conf)の設定をする

「/etc/httpd/conf.d/security.conf」を作製して、そのファイル内にセキュリティ関係の設定をいれていきます。主な設定内容は以下です。
ServerSignatureの項目ですが、Apache2.4ではデフォルトで Offとなっているので設定していません

  • レスポンスヘッダ サーバ情報を表示されない
  • レスポンスヘッダ X-Powered-Byを表示させない
  • SSLプロトコルでsslv3を無効にする。

$ sudo vi /etc/httpd/conf.d/security.conf
# Hide Apache Version
ServerTokens Prod

# Hide Header X-Powered-By
Header always unset X-Powered-By

# Anti POODLE
SSLProtocol All -SSLv3

最後にApacheを再起動して、設定内容を反映します
# systemctl restart httpd

 

スポンサーリンク