HTTP Strict Transport Security (HSTS)
HSTSはHTTPSウェブサーバーをダウングレード攻撃から保護します。これらの攻撃は、ウェブブラウザをHTTPSウェブサーバーから攻撃者が制御するサーバーにリダイレクトし、悪意のある行為者がユーザーデータやクッキーを侵害することを可能にします。
HSTSは、準拠したウェブブラウザに次のように指示するHTTPヘッダーを追加します:
- HTTPリンクをHTTPSリンクに変換する
- ユーザーがSSLブラウザ警告を回避するのを防ぐ
HSTSを有効にする前に、要件を確認してください。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
Availability | Yes | Yes | Yes | Yes |
HSTSが期待通りに機能するためには、次のことが必要です:
- HSTSの前にHTTPSを有効にして、ブラウザがHSTS設定を受け入れられるようにする
- 訪問者がサイトにアクセスできるようにHTTPSを有効に保つ
HSTSを有効にした後は、訪問者がサイトにアクセスできるようにするために、次の行動を避けてください:
- DNSレコードをプロキシからDNSのみに変更する
- サイトでCloudflareを一時停止する
- ネームサーバーをCloudflareから外す
- HTTPSをHTTPにリダイレクトする
- SSLを無効にする(無効または期限切れの証明書やホスト名が一致しない証明書)
ダッシュボードを使用してHSTSを有効にするには:
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- ウェブサイトを選択します。
- SSL/TLS > Edge Certificatesに移動します。
- **HTTP Strict Transport Security (HSTS)**の項目で、Enable HSTSを選択します。
- ダイアログを読み、I understandを選択します。
- Nextを選択します。
- HSTS設定を構成します。
- Saveを選択します。
APIを使用してHSTSを有効にするには、URIパスで設定名としてsecurity_headerを指定し、HSTS設定を含むvalueオブジェクトを指定してPATCHリクエストを送信します。
ウェブサイトでHSTSを無効にするには:
- Cloudflareダッシュボードにログインし、アカウントを選択します。
- ウェブサイトを選択します。
- SSL/TLS > Edge Certificatesに移動します。
- **HTTP Strict Transport Security (HSTS)**の項目で、Enable HSTSを選択します。
- Max Age Headerを**0 (Disable)**に設定します。
- 以前にNo-Sniffヘッダーを有効にしていて、それを削除したい場合は、Offに設定します。
- Saveを選択します。
| 名前 | 必須 | 説明 | オプション |
|---|---|---|---|
| HSTSを有効にする (Strict-Transport-Security) | はい | すべてのHTTPSリクエストに対してブラウザにHSTSヘッダーを提供します。HTTP (非安全)リクエストにはヘッダーは含まれません。 | オフ / オン |
| Max Age Header (max-age) | はい | ブラウザのHSTSポリシーの期間を指定し、ウェブサイトでHTTPSを要求します。 | 無効、または1ヶ月から12ヶ月の範囲 |
| サブドメインにHSTSポリシーを適用する (includeSubDomains) | いいえ | 親ドメインからサブドメインにHSTSポリシーを適用します。サブドメインはHTTPSをサポートしていない場合、アクセスできません。 | オフ / オン |
| Preload | いいえ | ブラウザがHSTS設定を自動的にプリロードすることを許可します。攻撃者が最初のリクエストをHTTPSからHTTPにダウングレードするのを防ぎます。PreloadはHTTPSなしのウェブサイトを完全にアクセス不能にする可能性があります。 | オフ / オン |
| No-Sniffヘッダー | いいえ |
| オフ / オン |