HSTS 設定確認・セキュリティヘッダ検査

HSTSはブラウザに「このドメインには今後平文HTTPで接続するな」と指示するヘッダです。リダイレクトが起きる前、信頼できないネットワークで最初のリクエストが傍受され得る隙を塞ぎます。ドメインを入力すると実際のレスポンスヘッダを読み、HSTSと併せて実際の攻撃を防ぐ他のヘッダも報告します。

35%が HSTS ヘッダ無し

分析したウェブサイト 959 件のうち

公開データベースの全サイトを対象に集計しています。

なぜ重要か

リダイレクトとHSTSは別物です

HTTPをHTTPSへリダイレクトしても、最初のリクエストは既に平文で端末を出ています。敵対的なネットワークではそのリクエストが傍受され、サーバーのリダイレクトが届く前に応答を偽装され得ます — 典型的なSSLストリッピング攻撃です。HSTSは、ブラウザが何かを送る前に自らHTTPSへ書き換えるようにして、その隙を塞ぎます。

同時に、間違えると最も危険なヘッダでもあります

HSTSは期間付きの約束です。ブラウザが `max-age=31536000` を一度見た時点から1年間そのドメインへの平文HTTP接続を拒否し、訪問者の端末に保存されたその約束を遠隔で取り消す方法はありません。証明書が失効したりHTTPS未対応のサブドメインがあると、該当ユーザーは「無視して進む」ボタンすら無いエラー画面を見ます。max-ageを1年から始めず段階的に上げるべき理由です。

直し方

  1. 1. まずHTTPSを完全に整える

    対象とするすべてのサブドメインが有効な証明書を持ちHTTPSで正しく応答し、内部リンクやアセットも既にhttpsである必要があります。移行が半端なサイトにHSTSを載せると「警告」が「接続不能」に変わります。

  2. 2. max-ageを段階的に上げる

    `Strict-Transport-Security: max-age=300` から始めて何も壊れないことを確認し、86400(1日)→ 2592000(1か月)→ 31536000(1年)と上げます。各段階を戻せるのは、直前の期間が短かったからにすぎません。

  3. 3. includeSubDomainsは本気のときだけ

    `includeSubDomains` はまだ存在しないサブドメインや、後で誰かがhttpのみで立てる社内ツールまですべて含みます。最終的には正しい設定ですが、早すぎる追加は自社のステージング環境に入れなくなる最頻出の事故です。

  4. 4. preloadは恒久措置とみなす

    ブラウザのpreloadリストに登録すると、Chrome・Firefox・Safari・Edgeのビルド自体にドメインが焼き込まれます。削除の反映には数か月かかります。完全なヘッダ(`max-age=31536000; includeSubDomains; preload`)を十分な期間問題なく運用した後にだけ実施してください。

  5. 5. 設定を開いたついでに残りも

    `X-Content-Type-Options: nosniff`、`Referrer-Policy: strict-origin-when-cross-origin`、フレーム保護(`X-Frame-Options: SAMEORIGIN` またはCSPの `frame-ancestors`)の3行は互換性リスクがありません。本当に難しいのはCSPで、まず `Content-Security-Policy-Report-Only` で運用してレポートを読んでから適用してください。

説明ではなく、直してほしい場合は

この項目はサーバー設定の領域で、ホスティング型プラットフォームでは当方が直接触れません。だからできるとは言いません。定額作業に含まれるのは、ホスティング会社や開発者がそのまま適用できる形にまとめた設定指示書です。

定額料金を見る →

よくある質問

HSTSはSEOに影響しますか?
直接的にはしません — HSTSという順位要因は存在しません。HTTPS自体が弱い順位シグナルであり、むしろ間接効果が大きいです。混在コンテンツの警告が消え、初回訪問ごとのリダイレクト1往復が無くなり、訪問者を遠ざけるブラウザの警告画面も出なくなります。
設定を間違えた場合どう戻しますか?
`max-age=0` を返して待つしかありません。再訪問したブラウザはエントリを消しますが、保存されたmax-ageが切れる前に再訪しないユーザーはHTTPSに縛られたままです。遠隔で強制する方法はありません — 段階的に上げるべき理由そのものです。
「ヘッダを確認できません」と出ます
ページをレンダリング経由でしか読めず、生のレスポンスヘッダを観測できなかったという意味です。この場合ヘッダ検査は「失敗」ではなく「対象外」と表示され、0点ではなくスコア計算から除外されます。
HSTSだけで十分ですか?
いいえ。保証するのは伝送区間だけです。XSS、クリックジャッキング、MIMEスニッフィングはそれぞれCSP、フレーム保護、nosniffが担当します。HSTSは最初に入れるヘッダであって、最後のヘッダではありません。

この検査に通らなかった実際のサイト

データベースからリアルタイムで取得しています — 各サイトの詳細レポートへ。

ディレクトリ全体を見る →

ほかの検査ツール

HSTS 設定確認 — セキュリティヘッダ検査 · E:LAB STUDIO