HTTP のレスポンスヘッダに X-XSS-Protection を付ける覚書 (Apache)

2018-02-28

X-XSS-Protection

web サイトは、XSS 攻撃を防ぐために、HTTP のレスポンスに X-XSS-Protection ヘッダを付けるべきなのだという。

Apache では、httpd.conf に、以下のような行を挿入する。

〜
# avoid XSS atacks (for some browsers)
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
Header always set X-XSS-Protection "1; mode=block"
〜

適切な状態であれば、HTTP のレスポンスヘッダに「X-XSS-Protection: 1; mode=block」が現れるだろう。

一例
% telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
GET / HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 28 Feb 2018 12:50:16 GMT
Server: Apache/2.4.29 (FreeBSD) OpenSSL/1.0.2k-freebsd
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
〜

なお、Header と set の間に always が無いと、試した限りでは、HTTP の応答が 301 や 403 や 404 になるときに、X-XSS-Protection が現れないことがあった。
always を付けると常に出るようになった。

以下の情報源では、X-XSS-Protection に always を付けている (ことがある)。

以上


index