セキュリティヘッダ診断
登録不要で、自分が管理するサイトのトップページのCSP・HSTSなどを点検します。言語別トップページとindex.htmlにも対応します。個別ページ・機密ファイルの場所・クエリ付きURLは取得しません。参考評価はサイト全体の安全性を保証しません。
修正から再確認までの見本を見る(通信なし)
不足するヘッダを設定し、公開応答を再確認する
Next.js 16のサーバー実行・CaddyのCaddyfile・Nginxの条件を確認した静的配信を対象に、X-Content-Type-OptionsとReferrer-Policyの修正候補を案内します。これは架空の応答を使った見本です。サイトへの通信は行いません。
1. この応答で見直す項目
X-Content-Type-Options
この応答では未検出
ブラウザによるMIME型の推測を抑える設定です。スクリプトやCSSのContent-Typeが正しくないと読み込みに影響します。
HDR-NOSNIFF-001
Referrer-Policy
この応答では未検出
別オリジンへ送る参照元情報をオリジンまでに制限する候補です。参照元情報に依存する連携の動作も確認します。
HDR-REFERRER-001
4. 設定後の応答と動作を確認する
- nosniffを受信し、JavaScript・CSSが正しいContent-Typeで読み込めることを確認します。
- 設定した値を受信し、外部連携・計測など必要な動作が維持されることを確認します。
- 公開トップページを再診断し、今回変更した項目が「点検条件に一致」に変わるか確認します。その他の警告や、個別ページ・404応答・ブラウザでの動作も管理者側で確認してください。
- 2項目の改善だけで、CSPの問題、侵入の有無、サイト全体の安全性が確認できるわけではありません。
修正例の作成・環境選択はブラウザ内で処理します。実際の再診断は上のURL入力欄から実行してください。
CSPは、影響確認から遮断へ進める
最初の例は、object/embedの読み込みを制限するobject-srcと、base要素の参照先を同一オリジンへ制限するbase-uriの2項目です。スクリプト・通信先・フォーム・埋め込まれ方の制限は含みません。これだけでXSS対策やCSP全体が完成するわけではありません。
上でヘッダを設定する環境を選んでください。
- 既存のnext.config.*とheaders()を保全し、検証環境の設定へ統合します。ファイル全体を置き換えず、同名ヘッダの重複・後勝ち・CDNの上書きを確かめます。
- 段階1ではContent-Security-Policy-Report-Onlyを使います。新しい文書としてページを再読み込みし、ブラウザ開発者ツールのコンソールで対象のCSP違反を確認してください。Chromium系ではInfoも表示対象にします。報告のみは遮断しません。警告がないだけでは検証完了にしません。
- この例には報告の送信先を付けません。違反レポートの送信・収集・保存はしません。ブラウザの表示・対応差と、操作していない経路は別に確認します。
- 確認後、管理者がこの案内で追加したReport-Only設定だけを保全して段階2の例へ置き換え、同じ2項目を遮断します。元々あった別のポリシーを削除せず、実際の応答と画面操作を再確認します。不具合が出たら元の設定へ戻します。
報告のみを追加しても、既存の遮断CSPは解除されません。既存ポリシーへunsafe-inline等を足して警告を消さないでください。nonce/hashによるスクリプト制限は、描画・キャッシュ方式も調べて別途設計します。
CSP-ROLLOUT-20261016-1 /対象:Next.js 16.4.1・Node.js 22。資料・実動作確認日:2026-10-16。
根拠と検証対象
対象:Next.js 16.4.1 / Node.js 22、Caddy 2.11.7(Caddyfile)。確認日:2026-10-16。CaddyはHTTP/1.1の固定した検証用応答で確認しています。TLS/ACME・HTTP/2・HTTP/3・既存CDN・他の版や追加モジュール、Caddy応答でのブラウザの制限動作は未確認です。
Nginx 1.30.6は2026-10-18確認。静的ファイルの末端locationで、HTTP/1.1の通常・CSS・404応答、親ヘッダの保持と復帰を検証しています。リバースプロキシ・内部転送・TLS・HTTP/2・HTTP/3・ブラウザのMIME制限動作は対象外です。Nginx向けCSP生成は未対応です。
結果を見た後の確認・修正
必要なヘッダと適用条件を確認してから修正してください。変更後はサイトの動作と公開応答を同じ条件で再確認します。
使い方
- 1
自分が管理するサイトのトップページURLを入力します。個別パスやクエリは受け付けません。
- 2
主要なセキュリティヘッダの有無と強さを採点します。
- 3
検出しなかった項目と要確認の設定を原典・構成と照合し、検証環境で補強します。未確認の構文を不備と断定して変更しないでください。
なぜ重要か
よくある質問
Q他人のサイトを診断してもいい?
自分が管理するサイトの点検に使ってください。公開トップページ等のHTTP応答を、転送を含め最大4回の取得で確認します。登録不要でも通信は発生します。任意の個別ページや機密ファイルは取得せず、診断回数・時間・応答量も制限しています。
Q満点(A)でないと危険ですか?
いいえ。点数はこの応答を限られた条件で点検した参考値です。不要なヘッダーや構成依存の設定もあり、Aや満点でもサイトの安全性は保証しません。実装・認証・公開範囲とブラウザ動作を別に確認してください。