対象プラン
本記事は、自動診断機能の発見課題「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サイトが該当いたします。
各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 デジタルフットプリントの精査 ]ご確認いただき、デジタルフットプリントの精緻化を推奨いたします。