ssecutils

🛡️ Security Headers Analyzer

HTTP レスポンスヘッダーを貼り付けると、CSP・HSTS・X-Frame-Options などのセキュリティヘッダーを採点し、各項目の意味と修正例を表示します。 URL ではなく「すでに取得済みのヘッダー」を解析するので、入力はすべてブラウザ内で処理され、サーバーには送信されません。

ヘッダーの取得方法

curl -sI https://example.com

または、ブラウザの開発者ツール → Network → 対象リクエスト → Response Headers をコピー

B
コアなセキュリティヘッダー 5 / 6 項目を設定

A+ は 6 項目すべてが過不足なく設定された状態(警告ゼロ)。下の各項目で「✗ 未設定」「⚠ 要改善」を潰すとグレードが上がります。

コアなセキュリティヘッダー

Strict-Transport-Security (HSTS)
max-age=63072000; includeSubDomains; preload

十分な期間で設定されています(max-age=63072000 / includeSubDomains あり / preload あり)。

Content-Security-Policy (CSP)
default-src 'self'; script-src 'self' 'unsafe-inline'

設定済みですが弱点があります: 'unsafe-inline'(インラインスクリプトを許可=XSS耐性が大きく下がる)。

→ 推奨: 'unsafe-inline' を外し、nonce か hash 方式に移行するのが理想。最低限 default-src を定義してください。

Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-{random}'
X-Frame-Options
DENY

DENY が設定され、クリックジャッキングを防げます。

X-Content-Type-Options
nosniff

nosniff が設定され、MIMEスニッフィングを抑止できます。

Referrer-Policy
strict-origin-when-cross-origin

Referer の送信範囲が制御されています。

Permissions-Policy

未設定です。カメラ・マイク・位置情報などの強力なブラウザ機能を、ページや埋め込み先がどこまで使えるかを制限できていません。

→ 推奨: 使わない機能は明示的に無効化(空の許可リスト)しておくと安全です。

Permissions-Policy: geolocation=(), camera=(), microphone=()

追加・情報

Cross-Origin-Opener-Policy

未設定(任意)。高い分離が必要なアプリでは same-origin を検討してください。

Cross-Origin-Opener-Policy: same-origin
Server(情報露出)
nginx/1.24.0

ソフトウェア名やバージョンが露出しています。攻撃者に既知脆弱性の狙いどころを与えます。

→ 推奨: 不要な実装情報はヘッダーから削除(またはバージョンを隠す)のが望ましいです。

X-Powered-By(情報露出)
PHP/8.2.1

ソフトウェア名やバージョンが露出しています。攻撃者に既知脆弱性の狙いどころを与えます。

→ 推奨: 不要な実装情報はヘッダーから削除(またはバージョンを隠す)のが望ましいです。

Set-Cookie が含まれています。Cookie の Secure / HttpOnly / SameSite 属性は HTTP Cookie Parser で詳しく確認できます。

💡 セキュリティヘッダーの考え方

  • HSTS: 常に HTTPS を強制。max-age は長く、可能なら preload まで
  • CSP: XSS 被害を最小化する最重要ヘッダー。'unsafe-inline' は避け、nonce / hash 方式へ
  • X-Frame-Options / frame-ancestors: クリックジャッキング対策
  • X-Content-Type-Options: nosniff: MIMEスニッフィング抑止
  • Referrer-Policy / Permissions-Policy: URL 漏れ・強力なブラウザ機能の制御

各ヘッダーの詳しい解説は HTTPセキュリティヘッダー詳解 を参照してください。

使い方と解説

HTTPセキュリティヘッダーを採点する

Security Headers Analyzer は、curl やブラウザの開発者ツールで取得した HTTP レスポンスヘッダーを貼り付けて、CSP、HSTS、X-Frame-Options などのセキュリティヘッダーの過不足を採点するツールです。A〜F のグレードと、各ヘッダーの意味・修正例を確認できます。

入力データの扱い

貼り付けたヘッダーはブラウザ内でのみ解析され、サーバーへ送信されません。

自分のサイトの守りを点検する

リリース前やセキュリティ診断の事前確認として、レスポンスヘッダーを貼り付けるだけで、設定漏れや緩い指定(unsafe-inline など)を一覧で把握できます。修正例もそのまま設定ファイルに反映できます。

URLではなくヘッダーを解析する理由

外部サービスはURLを送信してサーバー側で取得・解析するものが多いですが、本ツールは「すでに取得済みのヘッダー」をブラウザ内だけで解析します。社内・認証付きの環境や、第三者に送信したくないヘッダーでも安全に点検できます。

作りながら一番苦労したこと

このツールで自サイトのヘッダーを採点する中で、一番苦労したのはCSPでした。他のヘッダーは「設定すればこの項目が改善する」と分かりやすい一方、CSPはサイトが何を読み込んでいるかで最適解が変わります。最初は「とりあえず厳しく設定すれば高評価になる」と考えていましたが、実際に厳しめのCSPを試したところ、それまで普通に動いていた外部スクリプトの読み込みがブロックされ、ブラウザのコンソールに違反エラーが並びました。「セキュリティを強くしただけなのにサイトが壊れるのか」と実感し、default-srcだけでなくscript-src・style-src・connect-srcなど、それぞれ何を許可しているかを理解する必要があると学びました。セキュリティヘッダーは「チェックを全部緑にする設定」ではなく、実際のサイト構成を理解した上で設定するものだと、手を動かして初めて実感しました。

Security Headers Analyzer でできること

  • CSP / HSTS / X-Frame-Options など主要ヘッダーをA〜Fで採点
  • 未設定・要改善の項目に修正例を表示
  • 情報露出ヘッダー(Server / X-Powered-By)も検出
関連ツール

次に使うツール

作業の流れに近いツールへすぐ移動できます。

解説記事

このツールに関連する解説記事

すべての記事 →
Network17
プロキシとリバースプロキシの違い - 「誰の代理か」で理解する置く人も守る対象も逆になる2つのプロキシを、RFCの定義で整理します。CONNECTでHTTPSが中継される仕組み、実際のサイトのヘッダーに残るリバースプロキシの痕跡、手元で検証したX-Forwarded-Forの偽装、502/504の切り分けやリダイレクトループなど実務でハマる点まで扱います。
Security15
CompTIA Security+ 完全ガイド - 難易度・出題範囲・日本語受験SY0-701 の試験形式と5つの出題ドメイン、2024年から始まった日本語受験、支援士・CISSPとの難易度比較、3年ごとの更新の仕組み、平日30分から回せる学習ロードマップを整理します。各ドメインで問われる内容は、本サイトのどの解説記事で補えるかも対応づけました。
Security18
情報セキュリティ10大脅威 2026 - IPAの順位を自社の優先順位に翻訳するIPAの「情報セキュリティ10大脅威 2026」を、順位の丸写しではなく実務の優先順位に落とし込むために読み解きます。前年からの変動、初選出された3位「AIの利用をめぐるサイバーリスク」の中身、各脅威に対応する国内事例、着手順の決め方まで整理します。
Security9
HTTPセキュリティヘッダー詳解CSP、HSTS、X-Frame-Options、Permissions-Policy など、ブラウザ防御に効くヘッダーを整理します。