ブラウザ内ツール

HTTPヘッダ解析器

HTTPレスポンスヘッダを貼り付けると、各ヘッダの意味を1行ずつ解説し、HSTS・CSP・nosniff などのセキュリティヘッダの過不足を診断します。 キャッシュ・CORS・Cookie属性の要注意点も指摘します。

取得は curl -sI https://example.com が手軽。ブラウザからは他オリジンのヘッダをJSで読めない(CORS)ため貼り付け式。解析はすべてブラウザ内(送信なし)。

セキュリティヘッダ診断

HSTS(HTTPS強制) CSP(XSS緩和) nosniff(MIME推測禁止) クリックジャッキング対策 Referrer-Policy

主要なセキュリティヘッダはすべて揃っている。

content-typeコンテンツ

text/html; charset=utf-8

本体のメディアタイプと文字コード。text/html; charset=utf-8 のように指定する。誤りは文字化けや誤実行の原因。

cache-controlキャッシュ

public, max-age=0, must-revalidate

キャッシュの可否と鮮度を制御する。no-store(保存禁止)/ no-cache(毎回再検証)/ max-age(秒)/ private・public / immutable など。

strict-transport-securityセキュリティ

max-age=63072000; includeSubDomains; preload

HSTS。以後このサイトへは必ずHTTPSで接続するようブラウザに指示する。中間者による平文へのダウングレードを防ぐ。

十分な max-age。良好。

content-security-policyセキュリティ

default-src 'self'; script-src 'self' 'unsafe-inline'

CSP。読み込み可能なスクリプト・スタイル等の出所を制限し、XSSの被害を大幅に減らす最重要ヘッダの1つ。

'unsafe-inline' / 'unsafe-eval' があるとXSS防御が大きく弱まる。nonce/hashへの移行を。

x-content-type-optionsセキュリティ

nosniff

MIMEスニッフィングを禁止する。ブラウザがContent-Typeを勝手に推測して実行するのを防ぐ。値は nosniff 一択。

nosniff。良好。

x-frame-optionsセキュリティ

DENY

クリックジャッキング対策。他サイトのiframeでの埋め込みを制限する(DENY / SAMEORIGIN)。新しくは CSP の frame-ancestors が上位互換。

referrer-policyセキュリティ

strict-origin-when-cross-origin

遷移先へ送るRefererの量を制御する。strict-origin-when-cross-origin などでURLパスや機密情報の漏洩を抑える。

set-cookieセキュリティ

session=abc123; Path=/; HttpOnly; SameSite=Lax

クッキーを発行する。属性でセキュリティが大きく変わる。

属性 Secure が無い。セッションCookieなら付与を推奨。

serverその他

cloudflare

サーバーソフトの名称。詳細なバージョンまで出すと攻撃者に手がかりを与えるため、絞るのが無難。

x-powered-byその他

Express

使用フレームワーク等を明かすヘッダ。

実装スタックを露出させる。攻撃の手がかりになるため削除を推奨。

access-control-allow-originCORS

*

CORS。このリソースへアクセスを許すオリジンを示す。

ワイルドカード * は誰でも読める。認証付きリソース(credentials)では * を使えない点にも注意。

varyキャッシュ

Accept-Encoding

どのリクエストヘッダによってレスポンスが変わるかを示す。Accept-Encoding や Cookie の指定はキャッシュ設計に影響する。

まず入れたい5つのセキュリティヘッダ

  • Strict-Transport-Security:HTTPSを強制し、平文へのダウングレードを防ぐ。
  • Content-Security-Policy:スクリプトの出所を絞り、XSSの被害を大幅に減らす。
  • X-Content-Type-Options: nosniff:MIMEの推測実行を止める。
  • X-Frame-Options / frame-ancestors:クリックジャッキングを防ぐ。
  • Referrer-Policy:遷移先へURLや機密情報が漏れる量を抑える。