Secure HTTP Strict Transport Security (HSTS) Implementation
安全な HTTP Strict Transport Security (HSTS) の実装
説明
HTTP Strict Transport Security (HSTS) は、"Strict-Transport-Security" HTTP 応答ヘッダーを介してポリシーを伝達することにより、ユーザーとウェブサーバー間の安全な (HTTPS) 接続を強制するウェブセキュリティポリシーです。アプリケーションは、中間者(man-in-the-middle)攻撃から保護し、すべての通信を暗号化して全体的なセキュリティを強化する安全な HSTS ポリシーを実装しています。
HSTS 実装の主な特徴:
-
HTTPSの強制 (Enforced HTTPS): HSTS ポリシーは、安全でない HTTP リンクを自動的に安全な HTTPS リンクに変換し、すべてのやり取りが確実に暗号化されるようにします。
-
安全でないアクセスの防止: 安全な接続を確立できない場合(例:無効な TLS 証明書のため)、ユーザーエージェントはアクセスをブロックし、潜在的なセキュリティリスクを防ぎます。
-
設定可能な期間: HSTS ポリシーは、ユーザーが長期間にわたって安全にアプリケーションにアクセスし続けることを保証するために、十分に長い期間を指定します。
-
サブドメインのサポート: 該当する場合、HSTS ポリシーには "includeSubDomains" ディレクティブが含まれており、セキュリティをすべてのサブドメインに拡張します。
-
プレロードリスト (Preload List): ウェブサイトはブラウザに組み込まれたプレロードリストにドメインを登録することができ、初回訪問時から HSTS が強制され、初期接続に対する攻撃から保護します。
-
Max-Age 設定: max-age ディレクティブを使用すると、ブラウザが HTTPS を強制する期間を指定でき、数年などの長期に設定するオプションがあります。
-
混在コンテンツの防止 (No Mixed Content): HSTS は画像やスクリプトを含むすべてのリソースが HTTPS 経由でロードされることを保証し、安全なページでの安全でないコンテンツを防ぎます。
-
エラー処理: 無効な証明書などの HSTS エラーが発生した場合、ブラウザは警告を迂回することをユーザーに許可せずにアクセスをブロックし、セキュリティを向上させます。
-
ヘッダーのみの実装: HSTS はシンプルな HTTP ヘッダーを介して実装されるため、サイトのコンテンツを変更せずに簡単に構成できます。
-
HTTPS への自動書き換え: 一部のブラウザでは、ユーザーがアドレスバーに HTTP と入力した場合でも、リクエストを行う前に自動的に URL を HTTPS に書き換えます。
-
保護不可能なポートのブロック: HSTS は、指定されたドメインについてポート 80 などの安全でないポートへの接続を防ぎます。
この安全な HSTS の実装により、ユーザーは安全にアプリケーションと対話し、機密データを傍受や悪用から保護することができます。
推奨事項
実装は安全です。適用される推奨事項はありません。