Strict-Transport-Security Inspect

セキュリティヘッダー/ポリシーをブラウザ内で診断します。入力はサーバーへ送信しません。段階導入前の一次確認に使えます。

状態

ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。

使い方

Strict-Transport-Security を貼り付けて「解析」。ディレクティブを一覧表示します。

注意(このツール)

  • Strict-Transport-Security: のヘッダー行でも解析できます。

このページについて

何をするツール?

Strict-Transport-Security(HSTS)を解析し、max-age などのディレクティブを一覧表示します。

HTTPS強制の設定確認や、preload要件の確認に向きます。

HTTP Header Parser と併用すると、実際のレスポンスヘッダー確認がスムーズです。

HSTSの基本

  • HSTSは「以後はHTTPSでのみアクセスする」ことをブラウザに指示します。
  • max-age は有効期間(秒)です。
  • includeSubDomains を付けるとサブドメインにも適用されます。

使いどころ

  • HTTPSの強制が意図通り効いているか確認したい
  • サブドメインも含めた強制にしたい(includeSubDomains)
  • HSTS Preload 申請前の要件確認

よく使うディレクティブ

  • max-age=31536000(1年)など
  • includeSubDomains
  • preload(preload一覧への申請用)

構文(読み方)

HSTSは「Strict-Transport-Security: max-age=...; includeSubDomains; preload」のようにセミコロン区切りで指定します。

  • max-age は必須で、秒数(整数)を指定します。
  • includeSubDomains/preload はフラグです(値は持ちません)。

セキュリティ観点(何が守られる?)

HSTSは、HTTPへのダウングレードや、初回アクセス後のSSLストリップ(HTTPへ誘導)を防ぐための仕組みです。

ただし「初回アクセス前」はHSTSがまだ学習されていないため、preload を使わない限り完全ではありません。

preload の考え方

preload はブラウザ内蔵のHSTSリストに載せるための申請用フラグです。載ると初回アクセス前からHTTPSが強制されます。

  • 運用上は「ほぼ戻せない」前提で検討(全サブドメインHTTPS必須)
  • 要件未達で入れると、古いサブドメイン/検証環境が壊れます

安全な導入ステップ(例)

  • 1) まずmax-ageを短めで導入(例:1日)
  • 2) 問題がなければ段階的に延長(1週→1月→1年)
  • 3) 全サブドメインのHTTPSが確認できたら includeSubDomains を検討
  • 4) preload は最後(申請要件を満たす場合のみ)

よくある落とし穴

  • max-ageが短く、意図した強制期間になっていない
  • includeSubDomains を付けて未対応のサブドメインが壊れる
  • preload を付けたが要件(https/redirects)を満たさない
  • 開発/検証用サブドメインがHTTPのまま残っている

HSTSはHTTPSを前提にするため、他のセキュリティヘッダーと組み合わせると効果が高まります。

  • CSP(Content-Security-Policy):XSSや読み込み元制御
  • Referrer-Policy:参照元情報の漏えい抑制
  • Permissions-Policy:強いブラウザ機能の利用制御

このツールでできること

  • HSTSディレクティブの分解
  • max-age値の確認
  • includeSubDomains/preload の有無確認

切り分け手順(おすすめ)

  • 対象ヘッダーを貼り付ける
  • 不足・過剰なポリシーを確認する
  • Report-Onlyや段階反映で検証する

注意(運用)

  • 推奨値は環境依存です。機能要件と衝突しないか検証してから適用してください。
  • 本番では段階導入とレポート監視を併用してください。

参照仕様

  • RFC 6797(HTTP Strict Transport Security)
  • MDN: Strict-Transport-Security

FAQ

HSTSを付けるとHTTPは完全に使えない?

対象ホストはブラウザがHTTPSに強制します。サブドメインも含める場合は includeSubDomains に注意が必要です。

preload は必ず付けるべき?

preloadは不可逆に近い運用になるため、全ドメインでHTTPSが確実に運用できる場合のみ推奨です。

max-age はどれくらいが多い?

本番運用では「数か月〜1年」相当をよく見ますが、最初は短く入れて段階的に延長するのが安全です。

参考リンク

  1. RFC 6797
  2. MDN: Strict-Transport-Security
  3. HSTS Preload

site_map ルールに基づいて、次に確認すべきページを表示しています。

  1. X-Frame-Options Inspect — X-Frame-Options を解析してクリックジャッキング対策を確認
  2. Referrer-Policy Inspect — Referrer-Policy を解析して送信範囲を確認
  3. X-Content-Type-Options Inspect — X-Content-Type-Options を解析して nosniff を確認
  4. Permissions-Policy Inspect — Permissions-Policy を解析して機能制限を確認
  5. Security Headers Audit — 主要セキュリティヘッダーの有無を一括監査
  6. Security Headers Recommendation — 不足ヘッダーに対する推奨値を提案
  7. Security Headers Fix Plan — 優先度付きの修正ステップを作成
  8. CSP Nonce/Hash Helper — CSP用 nonce/hash を生成して照合

セキュリティヘッダー

不足ヘッダーの検出から修正計画まで一気に進める

Example

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload