セキュリティヘッダーチェッカー
公開WebサイトのHTTPセキュリティヘッダーをオンラインで確認します。ドメインを入力すると、主要な8つのセキュリティヘッダーが最終レスポンスでどう判定されたかと、表示できる場合は観測された値がわかります。
公開対象を検証中…
—
HTTPセキュリティヘッダーのチェックを最初に開いて表示します。同じ実行のほかの7つのパッシブチェックは、その下に閉じた状態で並びます。
値は短縮・無害化されています。IPアドレス、Cookieの値、トークン、メールアドレスのユーザー名は削除され、URLはスキームとホストだけに縮められます。
コーディングエージェントで修正し、再テスト。
この対象をSitelemetryへ引き継ぎ、CodexまたはClaudeを接続して範囲を限定した修正プロンプトを作成し、同じチェックを再実行します。
各ヘッダーの役割と判定方法
チェッカーはこれらのヘッダーを1つのレスポンスで読みます。ほとんどの行は有無の確認です。送信されているヘッダーが評価され、値は取得できる場合に表示されるので、サイトに合っているかはご自身で判断できます。
| ヘッダー | 役割 | 望ましい設定 | このチェッカーの判定 |
|---|---|---|---|
Strict-Transport-Security | 再訪したブラウザが、平文のHTTPでリクエストを送る前に自動でHTTPSへ切り替えるようにします。 | 段階的な導入が終わったら長いmax-age(180日以上)。段階はガイドで説明しています。 | HTTPSの対象で未設定:中。http://のアドレスを入力した場合は判定しません。 |
Content-Security-Policy | ページのコードとコンテンツに使ってよい読み込み元の許可リストをブラウザに渡します。 | ページが実際に使うリソースから作成し、スクリプトの広い例外を含まないポリシー。 | 未設定:中。値は表示しますが、内容は評価しません。 |
X-Frame-Options · frame-ancestors | ほかのサイトがあなたのページを自分のフレーム内に表示するのを防ぎます。 | CSPのframe-ancestorsを使い、古いブラウザ向けの予備としてX-Frame-Optionsも送る設定。 | どちらもない場合:中。 |
X-Content-Type-Options | 各レスポンスで宣言されたコンテンツタイプをブラウザがそのまま扱うようにします。 | 値はnosniffのみ。 | 未設定またはほかの値:低。 |
Referrer-Policy | 訪問者がリンクをたどったとき、ほかのサイトに伝わるページアドレスの範囲を制限します。 | 現在のブラウザの既定値と同じか、それより厳しいポリシー。 | 未設定:低。 |
Access-Control-Allow-Origin | どのほかのサイトのスクリプトがレスポンスを読めるかを決めます。 | 通常のページでは送らないか、信頼できる1つのオリジンだけを指定。 | ワイルドカード(*):中。 |
Server · X-Powered-By | レスポンスの背後にあるソフトウェアを知らせます。 | 削除するか、汎用的な値にする。 | ServerまたはX-Powered-Byヘッダーがあれば、バージョン番号がなくても低。表示するのは識別できた技術名だけです。 |
Set-Cookie | Cookieを設定します。属性によって、どのスクリプトが読めるか、いつ送信されるかが決まります。 | セッションCookieはスクリプトから隠し、HTTPSでのみ送信。 | このレスポンスのCookieにHttpOnlyがない、またはHTTPSでSecureがない場合:中。SameSiteは確認せず、Cookieの値は表示しません。 |
Permissions-PolicyとCross-Origin-Opener-Policyはこのページでは判定しません。公開準備スナップショットでは、別の堅牢化の評価でのみ数えます。
各ステータスの読み方。
- 01合格ヘッダーが見つかり、有無の確認を満たしています。
- 02低 · 中 · 高何かが欠けているか、このチェックが指摘する設定になっています。レベルは完全なスナップショットと同じです。
- 03観測値は記録されましたが、合格にも指摘にもなりませんでした。
- 04観測なしチェックは実行されましたが、記録するものがありませんでした。たとえばレスポンスにCookieがない場合です。
- 05対象外チェックの対象外です。たとえばhttp://のアドレスを入力したときのHSTSです。
- 06未計測使えるレスポンスを受け取れなかったため、合格には数えません。
このチェッカーがしないこと。
- 01入力したオリジンのトップページだけをリクエストします。パスとクエリ文字列は破棄し、ほかのページはリクエストしません。
- 02主にヘッダーの有無を確認し、値がサイトに合っているかは判断しません。
- 03HTTPからHTTPSへのリダイレクトは、http://のアドレスを入力したときだけテストします。その実行ではTLSを省略し、HSTSの未設定も報告しません。
- 04脆弱性スキャンやペネトレーションテストではなく、攻撃トラフィックも送りません。
- 05結果は1つのレスポンスのある時点の状態です。CDNのルールや別のページでは、異なるヘッダーが送られることがあります。
ヘッダーチェックについての質問。
バージョンがないのに、なぜServer: nginxが指摘されるのですか?
ServerやX-Powered-Byヘッダーは、名前だけでもサイトで動くソフトウェアを訪問者に伝えるため、すべて低と判定します。プラットフォームが許すなら、ヘッダーを削除するか汎用的な値にしてください。
結果がサーバー設定と違うのはなぜですか?
チェッカーは最大5回のリダイレクト後に受け取ったレスポンスを読みます。CDN、プロキシ、ホスティング基盤が追加または削除したヘッダーが評価の対象になり、CDN、プロキシ、ボット対策のルールはブラウザとチェッカーに異なる応答を返すことがあります。
自分のものではないサイトも確認できますか?
はい。ヘッダーチェックは、サイトがすべての訪問者にすでに送っている通常のレスポンスを1つ読むだけです。実行全体では、ほかのチェックのために通常のリクエストをいくつか追加で送ります。保護モジュールと完全な監査には、検証済みの対象または明示的な承認が必要です。
これは脆弱性スキャンですか?
いいえ。レスポンスヘッダーのパッシブな確認であり、脆弱性スキャンやペネトレーションテストではありません。サイトが安全であることを証明するものでもありません。