Security(セキュリティ)

PHP脆弱性対応:クリックジャッキング攻撃への対応

脆弱性対策には多くの対応が必要ですが、

その対策の一つにクリックジャッキング攻撃への対応があります。

 

実は、

以前組んだサイトでクリックジャッキング攻撃への不備が見つかったので、

今回はその不備に対する対応方法についての紹介です。

 

まず、

「クリックジャッキング攻撃」とは何か?

についてですが、

仕組み自体は難しくないのでどなたでも直ぐに理解できる内容だと思います。

 

が、

説明するとなるとデモ用のHTMLを用意したりと結構面倒なので、

今回は止めておきます。

以下のサイトで説明されているので、

そちらを確認してみて下さい。
https://noumenon-th.net/programming/2016/02/20/clickjacking/

 

こちらのブログでは、

対応方法についてのみ説明してみます。

と言っても、

HTTPレスポンスヘッダに「X-FRAME-OPTIONS」を追加して、

外部サイトからフレームでのページの読み込みを制限してやれば対応はOKです。

 

今回不備が見つかったサイトはPHPで組んでいるので、

header()関数を使って設定します。

該当のスクリプトりに以下のようなコードを1行追加するだけです。

<?php header("X-FRAME-OPTIONS: DENY"); ?>

 

スクリプト毎に設定するのが面倒という場合には、

.htaccessに以下のような記述を追加する方法もあります。

Header set X-FRAME-OPTIONS "DENY"

または、httpd.confで設定してもOKです。

 

因みに、

以下のようなmetaタグを追加する方法もあるみたいです。

<meta http-equiv="X-FRAME-OPTIONS" content="DENY">

 

それと、

指定できるのは「DENY」だけではなく、

「SAMEORIGIN」「ALLOW-FROM」も用意されています。

■DENY => フレームでのページの読み込みの一切を禁止
■SAMEORIGIN => フレーム内のページと同一サイトであれば、ページの読み込みが可
■ALLOW-FROM [URLを指定] => 指定したURL内でのみページの読み込みが可

という違いがあるようです。

 

原則「DENY」を指定

どうしてもフレームで読み込む必要があるページのみ、
「SAMEORIGIN」や「ALLOW-FROM」を設定する!

といった仕様にしておいた方が、

個人的には無難な対応になると思います。

 

設定が完了したら、

一応HTTPのレスポンスヘッダを確認しておきましょう。
Response Header

X-FRAME-OPTIONSが出力されていればOKです!!

 

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. ドメインについて
  2. WP:WordPress(ワードプレス)
  3. URL設計(URLデザイン)
  4. URL「ディレクトリ名」と文字アンダースコア(_)とハイフン(-)
  5. SEO対策(外部ファイルの読み込み)
  6. URL リダイレクト
  7. インデックスされない
  8. 内部対策は必要?
  9. CMS(シーエムエス)
  10. SEO業者は必要?

Twitter

アーカイブ

PAGE TOP