セキュリティヘッダ診断
登録不要で、自分が管理するサイトのトップページのCSP・HSTSなどを点検します。言語別トップページとindex.htmlにも対応します。個別ページ・機密ファイルの場所・クエリ付きURLは取得しません。参考評価はサイト全体の安全性を保証しません。
未確認の項目があります。未確認を不備と確定せず、その項目の自動修正プロンプトは作っていません。
- Content-Security-Policy要確認・補強現在の値: default-src 'self'; img-src 'self' data: blob: https://www.googletagmanager.com https://www.google-analytics.com https://*.google-analytics.com https://*.analyt…XSSの被害を大きく減らす多層防御の要。unsafe-inline は避ける。
default-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none' - Strict-Transport-Security (HSTS)点検条件に一致現在の値: max-age=63072000; includeSubDomains; preload
- X-Frame-Options点検条件に一致現在の値: CSP: frame-ancestors 'none'
- X-Content-Type-Options点検条件に一致現在の値: nosniff
- Referrer-Policy点検条件に一致現在の値: strict-origin-when-cross-origin
- Permissions-Policy未確認(詳細な構文・動作の検証が必要)現在の値: camera=(), microphone=(), geolocation=(), browsing-topics=()
- Cross-Origin-Opener-Policy要確認・補強現在の値: same-origin-allow-popups別オリジンとの繋がりを断ち、タブナビング等を防ぐ。
same-origin - 情報漏えい (Server / X-Powered-By)点検条件に一致
不足するヘッダを設定し、公開応答を再確認する
Next.js 16のサーバー実行・CaddyのCaddyfile・Nginxの条件を確認した静的配信を対象に、X-Content-Type-OptionsとReferrer-Policyの修正候補を案内します。この応答で条件に一致している項目は、追加する例に含めません。
1. この応答で見直す項目
対象2項目はこの応答の点検条件に一致しています。ここで追加する修正例はありません。サイト全体の安全性は別に確認してください。
4. 設定後の応答と動作を確認する
- 公開トップページを再診断し、今回変更した項目が「点検条件に一致」に変わるか確認します。その他の警告や、個別ページ・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や満点でもサイトの安全性は保証しません。実装・認証・公開範囲とブラウザ動作を別に確認してください。