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

もふもふあげさん セキュリティ
この記事は約3分で読めます。
スポンサーリンク

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]

タイトルとURLをコピーしました