HTTP Strict Transport Security とは
- ウェブサイトがブラウザにHTTP の代わりに HTTPS を用いて通信を行うよう指示するためのレスポンスヘッダー
HSTSを設定する理由
-
中間者攻撃の防止
- 暗号化されていないHTTPによるアクセスを誘い、暗号化しない状態で通信させることで、Cookieや、フォーム送信した情報を傍受・改竄される危険がある。
-
HSTSを設定することで...
- 一度正規サイトにアクセスした場合、同一ドメインにアクセスする際にはHTTPでのアクセスを試みることはなく、HTTPSでアクセスを行うようになる。
ディレクティブ
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
-
max-age
※必須- 対象サイトに HTTPS だけで接続することをブラウザーが記憶する有効期間
- 秒数指定。31536000=1年間
- 有効期限が経過すると、自動的にHTTPS を使用するのではなく、通常通りに HTTPでサイトアクセスを試みる。
- Strict-Transport-Security ヘッダーがブラウザへ送信されるたびに、そのウェブサイトに対する有効期限が更新される。
- HSTSを無効にしたい場合は0を指定する。
-
includeSubDomains
※任意- すべてのサブドメインに適用される。
-
preload
※任意- pre-loaded list(Googleが管理)に事前追加(登録申請必要)することで、初回リクエストからHSTSを動作させる。
- ペイレベルドメインのみ設定可能※サブドメイン単位では登録不可。
- 申請要件