nginx でクリックジャッキング対策

Pocket

IPAから「クリックジャッキング」に関するレポート出ました | 徳丸浩の日記』を読んだのだけど、そういえば何も対策をしてなかったことを思い出した。

というわけで、nginx.conf を修正することにした。参考にしたのは『X-Frame-Options レスポンスヘッダ | MDN』というコンテンツ。

上記に由れば記述する箇所は http / server / location のどこでも良いらしいのだけど、私は server の箇所へ記述することにした。8080 ポートの箇所に書いたのは、リバースプロキシの設定をしているから。

nginx.conf を書き換えたら保存して構文チェック、そして nginx の再起動。

実際にブログにアクセスしてレスポンスヘッダが返ってくるかどうか調べるに際しては、Firefox に入れた Live HTTP headers というアドオンを利用した1 。レスポンスヘッダが返ってくることを確認できたら、クリックジャッキング対策は終了。

ちなみに最初、nginx.conf の http な箇所に記述してチェックしてみたのだけど、リバースプロキシの設定が関わっているのか、レスポンスヘッダが “X-Frame-Options: SAMEORIGIN, SAMEORIGIN” という感じで値が重複する事態になっていた。

現在ではこれでも問題ないようだけど、古いバージョンの Firefox ではレスポンスヘッダそのものを無視するということだったので、server な箇所に記述したという感じになった次第であります2

  1. Live HTTP Headers :: Add-ons for Firefox』 []
  2. MFSA 2012-51: 重複した X-Frame-Options ヘッダが無視される』を参照のこと。 []