おそらく、セキュリティ侵入テストの後、あるいは、あなたのサイトをハイジャックしたり、広告でオーバーレイしたりするのを防ごうとしているために、このようなヘッダーに気づいたのでしょう。いずれにせよ、X-Frame-Optionsヘッダーは、サイトのセキュリティを向上させ、訪問者に安全性を提供するために、ウェブサイトのレスポンスに常に含めるとよいものです。
このヘッダーは、あなたのサイトをフレーム(またはiFrame)内に表示する方法をブラウザに指定します。フレームは、あるウェブページが他のサイトのコンテンツをその中に表示することを可能にします(多くの場合、閲覧者にはわからない方法で)。公共のウェブページなのだから問題ないと思うかもしれませんが、決してそう単純ではありません。もし誰かがあなたのドメイン名をよくあるスペルミスで登録し、iFrameを使ってあなたのサイトを表示していたとしたらどうでしょう?広告を重ねることも、偽のログインページを表示することもできますが、それはすべて、あなたのサイトのコンテンツであり、どこか別の場所から提供されているだけなので、まったく本物であるように見えるでしょう。悪意ある行為者がこの機能を悪用することほど、顧客の信頼を失う早道はない。Framesには本物の使い道がありますが、おそらくあなたが信頼するような使い道はないでしょう。
すべてのレスポンスにX-Frame-Optionsヘッダーを設定することは、この種の問題を防ぐ簡単な方法です。DENY、SAMEORIGIN、ALLOWFROMの3つの値があります;
-DENYは、あなたのサイトの他のページであっても、あなたのサイトのコンテンツがフレーム内に表示されるのを防ぎます。これは多くの場合問題ありませんが、Javaベースのアプリケーションを壊す癖があります。
-SAMEORIGINは、最も一般的に使用される設定であり、あなたのウェブサイト上のページをフレームに含めることができますが、同じウェブサイト内の他のページにのみ含めることができることを意味します。
-ALLOWFROMはどちらかというと細目で、めったに使われることはない。もし必要なものであれば、おそらく何をすべきかわかっているはずだ。
いつも言っているように、ロードバランサーを使う強力な利点は、このヘッダーを全サーバーに配備するために、一箇所で変更を加えるだけでいいということだ。開発者やApacheの再設定に頼る必要はありません。jetPACK設定テンプレートをインポートし、保護したい仮想サービスにflightPATHトラフィックルールを割り当てるだけです。
flightPATHはedgeNEXUSが開発した動的なイベントベースのルールエンジンで、負荷分散されたIP、HTTP、HTTPSトラフィックをインテリジェントに操作し、ルーティングします。高度に設定可能で強力でありながら、非常に使いやすい。
このルールはヘッダーが存在しない場合にのみ追加するので、ウェブサーバーがすでにヘッダーを挿入している場合や、特定のページにのみ挿入している場合でも機能します。このルールは標準の仮想サービス設定の一部であるべきで、どんなサイトであっても失うものは何もありません。jetPACKはedgeNEXUSのGithubサイトからダウンロードできます。
これは、私たちが開発した多くのflightPATHルールの1つで、あなたのサイトとそのユーザーのセキュリティを向上させるために導入することができます。セキュリティ関連のHTTPヘッダーについては、以下の記事をご覧ください:
- edgeNEXUSトラフィックマネジメントでセキュリティHTTPヘッダーを簡素化:X-Content-Type-Options
- HTTP Strict Transport Security HeaderでHTTPトラフィックを保護し、ユーザーを保護する方法