私たち全員が耐えなければならないセキュリティ侵入テスト(残念ながら正当な理由がある)で頻繁に出てくるのは、ウェブ・サーバのレスポンスにX-Content-Type-Options HTTPヘッダがなかったり、一貫性がなかったりすることだ。これは苛立たしいことかもしれないが、私たちのサイトとその訪問者がより安全であればあるほど良い。
このヘッダーは何の役に立つのか?ChromeとInternet Explorerには、デフォルトで有効になっているいわゆる「MIME-Sniffing」機能があり、ウェブサーバーのレスポンスに含まれるコンテンツのタイプを検出します。これは、ウェブサーバーが何か間違っていたり、ページの書き方が悪くて間違ったコンテンツタイプが指定されていたりしても、ウェブページをより適切に表示するために使用されます。
例えば、あるサイトが、Content-Typeヘッダーとtext/plainという値を介して、含まれるコンテンツがテキストであるという応答を送るかもしれません。ブラウザは、それが実際にはPDFであることを検出し、そのPDFを正しく表示します。そうでない場合は、テキストとしてレンダリングしようとするかもしれません。ブラウザの開発者によっては、そのきれいなページの方が標準に準拠するよりも良いという人もいます。
悪くないと思う?しかし、この機能によって、特定の種類のコンテンツのダウンロードや表示、実行を防ぐためにブラウザに採用されているあらゆるソフトウェアがバイパスされる可能性があるのだ。実行ファイル、ZIPファイル、Wordファイルなどをブロックしたい理由はいくらでもある。Windowsでは、GIF画像だけでPCを「所有」することができる。
このようなコンテンツをブロックして脅威から保護するために使用するソフトウェアは、Content-Typeヘッダーの値を検査し、その値に基づいて適切に動作することしかできません。ブラウザが期待されるものと全く異なることをすることは、役に立たず、リスクをもたらす。
ロードバランサーを使う利点は、全サーバーにデプロイするために、一カ所でこれを行うだけでいいということだ。開発者やApacheの再設定に頼る必要がありません。edgeNEXUSロードバランサーでは、jetPACK設定テンプレートをインポートし、保護したい仮想サービスにflightPATHトラフィックルールを割り当てるだけです。
このルールはヘッダーが存在しない場合にのみ追加するので、ウェブサーバーがすでにヘッダーを挿入している場合や、特定のページにのみ挿入している場合でも機能します。このルールは標準の仮想サービス設定の一部であるべきで、どんなサイトであっても失うものは何もありません。jetPACKはedgeNEXUSのGithubサイトからダウンロードできます。
これは、私たちが開発した多くのflightPATHルールの1つで、あなたのサイトとそのユーザーのセキュリティを向上させるために導入することができます。セキュリティ関連のHTTPヘッダーについては、以下の記事をご覧ください:
- クリックジャッキング」に対抗するHTTPセキュリティヘッダー – Xフレームオプションヘッダーでサイトのセキュリティを向上させる方法
- HTTP Strict Transport Security HeaderでHTTPトラフィックを保護し、ユーザーを保護する方法
ロードバランサーを使う利点は、全サーバーにデプロイするために、一カ所でこれを行うだけでいいということだ。開発者やApacheの再設定に頼る必要がないのだ。