最近Apacheのセキュリティの設定について調べたので忘れないうちまとめてみた。設定をするだけである程度セキュリティのレベルが上がるので設定をしたほうが良いと思う。
■ CenOS7での設定例
下記の設定例は、CentOS7の標準のレポジトリでApacheを設定した場合の例です。CentOS6の場合も似たような設定をすればいい。
まず、セキュリティの設定をかいた設定ファイルを作成する。
# vi /etc/httpd/conf.d/security.conf
##
# Configuration for security
##
TraceEnable Off##
# HTTP Headers for security
##
Header set X-Frame-Options: Deny
Header set X-XSS-Protection: “1; mode=block”
Header set X-Content-Type-Option: nosniff
作成したファイルを読み込ませる設定があるかを確認する(初めから設定されているはず)
# vi /etc/httpd/httpd.conf
IncludeOptional conf.d/*.conf
作成した設定ファイルを、Apacheをリロードして読み込ませる。
# systemctl reload httpd
■ 設定パラメータの説明
[ TraceEnable ]
この設定が有効になっているとクロスサイトトレーシングという攻撃手法でBasic認証のIDやパスワードなどを盗むことができるらしいので必ずOFFにしたほうが良いらしい。
設定例
TraceEnable Off
[ X-Frame-Options ]
このヘッダーを送ることで、ブラウザにフレームの中にコンテンツを表示するかしないかの制御をさせることができる。それにより自分の管理しているサイトでないWEBサイトのフレーム中に自分のWEBサイトを表示するのを禁止することなどができる。それによりクリックジャッキングと呼ばれる攻撃を防ぐことができる。
設定例
X-Frame-Option: DENY
フレーム内にコンテンツを表示することを禁止する。同一サイト内でも禁止される。X-Frame-Option: SAMEORIGIN
同一サイト内にあるコンテンツの表示だけをフレーム内に許可する。他のサイトに自サイトのコンテンツを禁止する場合に使用する。X-Frame-Option: ALLOW-FROM uri
特定のURIのコンテンツだけをフレームの中に表示することを許可する。