『IPAから「クリックジャッキング」に関するレポート出ました | 徳丸浩の日記』を読んだのだけど、そういえば何も対策をしてなかったことを思い出した。
というわけで、nginx.conf を修正することにした。参考にしたのは『X-Frame-Options レスポンスヘッダ | MDN』というコンテンツ。
上記に由れば記述する箇所は http / server / location のどこでも良いらしいのだけど、私は server の箇所へ記述することにした。8080 ポートの箇所に書いたのは、リバースプロキシの設定をしているから。
server { listen 8080; server_name donabeneko.jp; add_header X-Frame-Options SAMEORIGIN; location / { ......
nginx.conf を書き換えたら保存して構文チェック、そして nginx の再起動。
# sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # sudo /etc/init.d/nginx restart nginx を停止中 [ OK ] nginx を起動中 [ OK ]
実際にブログにアクセスしてレスポンスヘッダが返ってくるかどうか調べるに際しては、Firefox に入れた Live HTTP headers というアドオンを利用した [01] 。レスポンスヘッダが返ってくることを確認できたら、クリックジャッキング対策は終了。
ちなみに最初、nginx.conf の http な箇所に記述してチェックしてみたのだけど、リバースプロキシの設定が関わっているのか、レスポンスヘッダが “X-Frame-Options: SAMEORIGIN, SAMEORIGIN” という感じで値が重複する事態になっていた。
現在ではこれでも問題ないようだけど、古いバージョンの Firefox ではレスポンスヘッダそのものを無視するということだったので、server な箇所に記述したという感じになった次第であります [02] 。
References
↩01 | 『Live HTTP Headers :: Add-ons for Firefox』 |
---|---|
↩02 | 『MFSA 2012-51: 重複した X-Frame-Options ヘッダが無視される』を参照のこと。 |