HSTSベストプラクティスが未実装のウェブサイト

対象プラン PREMIUMプラン GROUPSプラン

 

本記事は、自動診断機能の発見課題「HSTSベストプラクティスが未実装のウェブサイト/Website Does Not Implement HSTS Best Practices」について、SecurityScorecard社が公開している解説記事の日本語訳です。

本課題の解決にご活用ください。

「HSTSベストプラクティスが未実装のウェブサイト」について │ 検出方法 │ 修正方法 │ 解決申請の流れ


1. 「HSTSベストプラクティスが未実装のウェブサイト」について


HTTP Strict Transport Security(HSTS)は、Webブラウザなどのクライアントが暗号化されたHTTP接続でのみWebサイトへアクセスできるように指示するHTTPヘッダです。HSTSに対応しているクライアントは、すべての接続試行をHTTPからHTTPSに自動的に切り替えます。

クライアントが最初のWebサイトへの訪問時にHSTSヘッダを受信すると、そのウェブサイトへの以降の接続は、接続が暗号化されていないHTTPにダウングレードしようと試みる中間者攻撃から保護されます。

ブラウザでは、max-age属性で設定された秒数の間、HSTSヘッダが有効化されます。

2. 検出方法


自動診断の発見課題における「詳細」> "evidence"=> "final_url" に出力されたWebサイトが本課題の対象サイトです。

下記の例における、赤枠内のURLのWebサイトが該当いたします。
hstsベストプラクティスが未実装のウェブサイト_001

各Webサイトに対しHSTSヘッダが設定状況は、https://domsignal.com/hsts-testよりご確認いただけます。

またGoogle Chromeの開発者ツールを用いて、ヘッダの"Strict-Transport-Security"を調べることでも確認いただけます。

Tips

2023年11月時点では、以下のシナリオに該当する場合、課題が検知なされます。

  • max-ageがベストプラクティスより短い(31536000、つまり1年より短い)
  • max-ageが正しくパースされない
  • ヘッダのmax-ageディレクティブが不足している
  • ヘッダにincludeSubDomainsディレクティブがない
  • 複数のヘッダが見つかった
  • 複数のmax-age値が見つかった
  • サブドメインの値が複数含まれている
  • 有効なmax-ageの値ではない
  • HSTSヘッダが見つからない


さらに、HSTSプリロードリストにドメインが登録されている場合は、https://hstspreload.org/でドメインを入力して検証することも可能です。

※ HSTSプリロードリストの詳細については、こちらのサイトをご参照ください。


3. 修正方法


HSTSヘッダに適切なディレクティブを追加してください。
設定方法については、OWASP's Cheat Sheet for HTTP Strict Transport Securityを参照してください。 

4. 解決申請の流れ


解決申請する際、解決方法を以下の2つより選択して申請をしてください。

解決申請の提出方法は、こちらをご参照ください。

  • 発生している課題に対処済み(I have fixed this)

    • 必要な修正を施し、外部からの検証が可能な状態にある場合

  • 誤検知であった(I cannot reproduce this issue and I think it's incorrect)
    • 対象資産は自組織の所有ではあるが、検出が不正確であることを示す証拠がある場合

Tips

検出された発見課題に紐づいたドメイン/IPアドレスが自社保有の資産ではない場合、登録されているデジタルフットプリントに自社が保有していない(自社管理外の)資産が登録されている可能性があります。

以下資料の[ Step.2 デジタルフットプリントの精査 ]ご確認いただき、デジタルフットプリントの精緻化を推奨いたします。

自動診断(SecurityScorecard)利用マニュアル~効果的な運用に向けたステップ~