セキュリティを強化する7つの便利なHTTPヘッダ
[15/09/02]
提供元:PRTIMES
提供元:PRTIMES
F5ネットワークスジャパン株式会社(本社:東京都港区、代表取締役社長:古舘正清、以下F5)は、F5ネットワークスが運用するエンジニア向けブログサイト「F5 DevCentral」において、Webアプリケーションのセキュリティ向上に役立つHTTPヘッダについて解説するブログを掲載しました。
「F5 DevCentral」は、191ヶ国、160,000人の技術エキスパートのコミュニティサイトであり、日々最新情報がアップデートされています。今回投稿されたブログは、DevCentralチームのメンバーであるJohnny Schmidtのブログ投稿「Snippet #7: OWASP Useful HTTP Headers」を元に、日本向けに再構成したものです。
Webアプリケーションのセキュリティ確保は、その開発・展開を行っている人々にとって、重要なテーマの1つです。OWASPはそのためのベストプラクティスやフレームワーク、ガイドラインを提供する組織であり、そのWikiサイトには様々な情報が掲載されています。それらの中でも即効性が高いのが、今回紹介する「7種類のHTTPヘッダ」です。今回のブログでは、これらの機能について簡単に解説します。またHTTPヘッダを自動的にWebアプリケーションに追加する方法もご紹介します。
ブログのハイライト
1.OWASPが薦める7つのHTTPヘッダ
2.各HTTPヘッダの機能紹介
3.HTTPヘッダを自動的に追加する方法
以下にブログの冒頭より一部をお伝え致します。全文は、Dev Centralにおいて、こちら(https://devcentral.f5.com/articles/7http)よりお読みいただけます。
Webアプリケーションの開発・展開を行っている人々にとって、セキュリティ確保は大きな関心事の1つだといえます。そのためのベストプラクティスやフレームワーク、ガイドラインを提供しているのがOWASP(Open Web Application Security Project)です。OWASPのWikiサイト(OWASP.org)には、Webアプリケーションのセキュリティ確保のための様々な情報がありますが、それらの中でも即効性の高いのが「便利なHTTPヘッダのリスト(List of useful HTTP headers)」だといえるでしょう。
このページには、アプリケーションのHTTPレスポンスに追加することで、事実上無料でセキュリティを強化できるHTTPヘッダが7種類掲載されています。
これらの中でまず活用したいのが、以下の2つのHTTPヘッダです。
X-XSS-Protection
最近のWebブラウザには、クロスサイトスクリプティング(XSS)に対するフィルタ機能が装備されています。「X-XSS-Protection」はこのフィルタ機能を強制的に有効にするというものです。通常であればXSSフィルタはデフォルトで有効に設定されているはずですが、ユーザがこの設定を無効にした場合には、このHTTPヘッダがXSSの防止に役立ちます。
X-Content-Type-Options
Webブラウザは本来、サーバから送られてきたHTTPレスポンスに記述されている「Content-Type」に基づいて、HTTPレスポンスをどのように処理するのかを決定します。例えば「Content-Type:text/plain」であれば、Webブラウザはこれをテキストとして扱い、レスポンスの中にスクリプト記述があってもスクリプトとしては実行しません。しかしWebブラウザの中には、HTTPレスポンス全体を検査(sniffing)してコンテンツ タイプを判断し、「Content-Type」を無視した動作を行うものも存在します。このような実装はWebアプリケーション開発者の意図しない動作を引き起こし、セキュリティ上の問題につながると指摘されてきました。このsniffingを防止するのが「X-Content-Type-Options」です。「X-Content-Type-Options : nosniff」とすることでsniffingをやめさせ、「Content-Type」に合致しない動作を回避できます。
また以下のヘッダもセキュリティ強化に役立ちますが、実際に利用した際に問題が発生しないかどうか、慎重に検討する必要があります。
Public-Key-Pins
Webブラウザに、特定の暗号鍵と特定のWebサーバとの紐付(pinning)を行わせます。これによって偽造証明書を検出しやすくなるため、偽造証明書による中間者攻撃の回避に役立ちます。
こちらより先はDev Central(https://devcentral.f5.com/articles/7http)において全文をご覧ください。
「F5 DevCentral」は、191ヶ国、160,000人の技術エキスパートのコミュニティサイトであり、日々最新情報がアップデートされています。今回投稿されたブログは、DevCentralチームのメンバーであるJohnny Schmidtのブログ投稿「Snippet #7: OWASP Useful HTTP Headers」を元に、日本向けに再構成したものです。
Webアプリケーションのセキュリティ確保は、その開発・展開を行っている人々にとって、重要なテーマの1つです。OWASPはそのためのベストプラクティスやフレームワーク、ガイドラインを提供する組織であり、そのWikiサイトには様々な情報が掲載されています。それらの中でも即効性が高いのが、今回紹介する「7種類のHTTPヘッダ」です。今回のブログでは、これらの機能について簡単に解説します。またHTTPヘッダを自動的にWebアプリケーションに追加する方法もご紹介します。
ブログのハイライト
1.OWASPが薦める7つのHTTPヘッダ
2.各HTTPヘッダの機能紹介
3.HTTPヘッダを自動的に追加する方法
以下にブログの冒頭より一部をお伝え致します。全文は、Dev Centralにおいて、こちら(https://devcentral.f5.com/articles/7http)よりお読みいただけます。
Webアプリケーションの開発・展開を行っている人々にとって、セキュリティ確保は大きな関心事の1つだといえます。そのためのベストプラクティスやフレームワーク、ガイドラインを提供しているのがOWASP(Open Web Application Security Project)です。OWASPのWikiサイト(OWASP.org)には、Webアプリケーションのセキュリティ確保のための様々な情報がありますが、それらの中でも即効性の高いのが「便利なHTTPヘッダのリスト(List of useful HTTP headers)」だといえるでしょう。
このページには、アプリケーションのHTTPレスポンスに追加することで、事実上無料でセキュリティを強化できるHTTPヘッダが7種類掲載されています。
これらの中でまず活用したいのが、以下の2つのHTTPヘッダです。
X-XSS-Protection
最近のWebブラウザには、クロスサイトスクリプティング(XSS)に対するフィルタ機能が装備されています。「X-XSS-Protection」はこのフィルタ機能を強制的に有効にするというものです。通常であればXSSフィルタはデフォルトで有効に設定されているはずですが、ユーザがこの設定を無効にした場合には、このHTTPヘッダがXSSの防止に役立ちます。
X-Content-Type-Options
Webブラウザは本来、サーバから送られてきたHTTPレスポンスに記述されている「Content-Type」に基づいて、HTTPレスポンスをどのように処理するのかを決定します。例えば「Content-Type:text/plain」であれば、Webブラウザはこれをテキストとして扱い、レスポンスの中にスクリプト記述があってもスクリプトとしては実行しません。しかしWebブラウザの中には、HTTPレスポンス全体を検査(sniffing)してコンテンツ タイプを判断し、「Content-Type」を無視した動作を行うものも存在します。このような実装はWebアプリケーション開発者の意図しない動作を引き起こし、セキュリティ上の問題につながると指摘されてきました。このsniffingを防止するのが「X-Content-Type-Options」です。「X-Content-Type-Options : nosniff」とすることでsniffingをやめさせ、「Content-Type」に合致しない動作を回避できます。
また以下のヘッダもセキュリティ強化に役立ちますが、実際に利用した際に問題が発生しないかどうか、慎重に検討する必要があります。
Public-Key-Pins
Webブラウザに、特定の暗号鍵と特定のWebサーバとの紐付(pinning)を行わせます。これによって偽造証明書を検出しやすくなるため、偽造証明書による中間者攻撃の回避に役立ちます。
こちらより先はDev Central(https://devcentral.f5.com/articles/7http)において全文をご覧ください。