2026-07-14

HTTPセキュリティヘッダー:完全リファレンス

セキュリティヘッダー:HTTPレスポンスでWebサイトを保護する

HTTPセキュリティヘッダーは、一般的な攻撃からWebサイトを保護する強力な方法です。これらはサーバーがブラウザに送信し、どのように動作すべきかを指示する命令です。適切に選択された少数のヘッダーで、アプリケーションコードを変更することなく攻撃のカテゴリ全体を防ぐことができます。

最も重要なヘッダー

Content-Security-Policy(CSP)は最も強力なセキュリティヘッダーです。スクリプト、スタイル、画像、その他のリソースの読み込みを許可するソースをブラウザに指示します。攻撃者が自分のサーバーを指すスクリプトタグを注入しても、CSPがブロックします。CSPはインラインスクリプト、eval、その他の危険なパターンも防ぐことができます。クロスサイトスクリプティング攻撃に対する最も効果的な防御策です。

Strict-Transport-Security(HSTS)は、ユーザーがhttp://と入力したり、プレーンなHTTPリンクをクリックした場合でも、サイトに接続する際に常にHTTPSを使用するようブラウザに指示します。これにより、攻撃者が最初のHTTPリクエストを傍受してユーザーを偽サイトにリダイレクトする中間者攻撃を防ぎます。

X-Frame-Optionsは、サイトが別のドメインのiframeに埋め込まれるのを防ぎます。これにより、攻撃者が透明なiframeを欺瞞的なページの上に重ねて、ユーザーが意図していないものをクリックさせるクリックジャッキング攻撃から保護されます。

追加の保護ヘッダー

X-Content-Type-Optionsは、ブラウザがファイルのMIMEタイプを推測するのを防ぎます。ファイルをtext/plainとして提供した場合、ブラウザはそれがスクリプトのように見えてもJavaScriptとして解釈しようとしません。これにより、MIMEスニッフィングと呼ばれる攻撃を防ぎます。

Referrer-Policyは、ユーザーが別のサイトへのリンクをクリックしたときに送信されるリファラー情報の量を制御します。「strict-origin-when-cross-origin」のような厳格なポリシーは、同一オリジンのリクエストには完全なURLを送信しますが、クロスオリジンのリクエストにはオリジンのみを送信し、ユーザーのプライバシーを保護します。

Permissions-Policy(旧Feature-Policy)は、サイトが使用できるブラウザ機能を制御できます。必要のないカメラ、マイク、位置情報などの機能を無効にし、攻撃対象領域を減らすことができます。

セキュリティヘッダーの実装

セキュリティヘッダーは、Webサーバーの設定(NGINX、Apache、Caddy)、アプリケーションフレームワーク、またはCloudflareなどのCDNを介して設定できます。MozillaのObservatoryのようなツールがあり、サイトをスキャンして不足しているヘッダーや誤設定を教えてくれます。

シンプルなヘッダーセットから始め、その影響を理解しながら徐々に追加していきます。最初に実装すべき最も重要なものは、HSTS、CSP、X-Frame-Options、X-Content-Type-Optionsです。各変更後にサイトをテストし、何も壊していないことを確認してください。特にCSPは正しく設定するのが難しい場合があります。

一緒に取り組みましょう

さらに詳しい情報やプロジェクトのヘルプ、またはアイデアの構築が必要ですか?

簡単な質問でもフルプロジェクトでも、お気軽にどうぞ。お問い合わせいただき、あなたのアイデアを一緒に実現しましょう。

お問い合わせ

トピックを切り替える

探索する専門トピックを選択してください: