コンテンツに移動
Silktideヘルプ

Strict Transport Security

Silktide は、暗号化されたページがブラウザーに対して、常にウェブサイトの安全なバージョンを使用するよう指示しているかをチェックします。この指示は Strict Transport Security と呼ばれ、訪問者が通常のアドレスを入力した場合や古いリンクをたどった場合でも、ブラウザーが暗号化されていない接続で接続することを防ぎます。

この指示は、各ページとともに 経由で送信される です。

Strict-Transport-Security: max-age=31536000

重要な理由

完全に HTTPS で提供されているウェブサイトであっても、通常は最初に暗号化されていないリクエストを 1 回受け付けます。訪問者が example.com と入力すると、ブラウザーは http:// を試し、サーバーが https:// にリダイレクトします。この暗号化されていない 1 回の通信だけで、同じネットワーク上の攻撃者が接続を傍受し、訪問者を偽サイトや改ざんされたバージョンのサイトに留まらせることができます。これは中間者攻撃です。

Strict Transport Security(HSTS)は、この隙間をなくします。ブラウザーがこのヘッダーを一度受信すると、max-age で指定された期間、以降のすべてのリクエストを自動的に HTTPS にアップグレードするため、脆弱な最初のリクエストが再び発生することはありません。

修正方法

  1. まず、ウェブサイト全体が HTTPS で動作することを確認します。HSTS が有効になると、ブラウザーは暗号化されていないバージョンを完全に拒否します。
  2. ウェブサーバー、ホスティングプラットフォーム、または を設定し、すべての HTTPS レスポンスで Strict-Transport-Security ヘッダーを送信するようにします。多くのプラットフォームには、ワンクリックで設定できる HSTS 設定があります。
  3. 意味のある max-age を秒単位で設定します。試用期間を設けたい場合は、86400(1 日)のように短く始め、その設定で問題ないと確信できたら 1 年(max-age=31536000)に延ばします。
  4. すべてのサブドメインが HTTPS に対応している場合に限り、任意で includeSubDomains を追加してすべてのサブドメインを対象にします。

Silktide によるテスト方法

  1. HTTPS で提供される各ページを調べ、空でない Strict-Transport-Security ヘッダーがあるかを確認します。
  2. ヘッダーがない場合、そのページを報告します。
  3. 暗号化されていない接続で提供されるページは、ブラウザーがそこでこのヘッダーを無視するため対象外となります。これらのページの保護については、SSL 暗号化 チェックで扱います。

トラブルシューティング

ヘッダーを設定したのにチェックが失敗する

ホームページだけでなく、スキャン対象となる各ページそのものからヘッダーが送信されていることを確認してください。ページのレスポンスヘッダーは、ブラウザーの開発者ツールの Network タブで確認できます。

HSTS によって訪問者が締め出されることはありますか?

HSTS を有効にした後で HTTPS の設定に問題が発生すると(証明書の有効期限切れなど)、ヘッダーを記憶しているブラウザーは、max-age の期限が切れるまで暗号化されていないサイトへのフォールバックを拒否します。これは仕様どおりの動作です。証明書の更新は自動化してください。

詳細情報

最終更新

このページは役に立ちましたか?