HSTS は、HTTPS ウェブサーバーをダウングレード攻撃から守ります。この攻撃は、ブラウザーを HTTPS ウェブサーバーから攻撃者の管理下にあるサーバーへ誘導し、ユーザーデータや Cookie を侵害できるようにします。
HSTS は、対応ブラウザー に次を指示する HTTP ヘッダーを追加します。
- HTTP リンクを HTTPS リンクへ変換する
- ユーザーが SSL のブラウザー警告を回避できないようにする
HSTS を有効にする前に、要件 を確認してください。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| 提供状況 | あり | あり | あり | あり |
HSTS を期待どおりに動作させるには、次が必要です。
- ブラウザーが HSTS 設定を受け入れられるよう、HSTS より先に HTTPS を有効にしていること
- 訪問者がサイトへアクセスできるよう、HTTPS を有効のままにしていること
HSTS を有効にしたあとは、訪問者がサイトへアクセスし続けられるよう、次の操作を避けてください。
- DNS レコードを Proxied から DNS only へ変更する
- サイトで Cloudflare を一時停止する
- ネームサーバーを Cloudflare 以外へ向ける
- HTTPS を HTTP へリダイレクトする
- SSL を無効にする(無効または期限切れの証明書、ホスト名が一致しない証明書)
ダッシュボードで HSTS を有効にする手順は次のとおりです。
-
Cloudflare ダッシュボードで Edge Certificates ページを開きます。
Edge Certificates を開く ↗ -
HTTP Strict Transport Security (HSTS) で Enable HSTS を選びます。
-
ダイアログを読み、I understand を選びます。
-
Next を選びます。
-
HSTS の設定 を構成します。
-
Save を選びます。
API で HSTS を有効にするには、URI パスの設定名を security_header にした PATCH リクエストを送り、HSTS 設定を含む value オブジェクトを指定します。
ウェブサイトで HSTS を無効にする手順は次のとおりです。
-
Cloudflare ダッシュボードで Edge Certificates ページを開きます。
Edge Certificates を開く ↗ -
HTTP Strict Transport Security (HSTS) で Enable HSTS を選びます。
-
Max Age Header を 0 (Disable) に設定します。
-
以前 No-Sniff ヘッダーを有効にしていて削除したい場合は、Off に設定します。
-
Save を選びます。
| 名前 | 必須 | 説明 | 選択肢 |
|---|---|---|---|
| Enable HSTS (Strict-Transport-Security) | はい | すべての HTTPS リクエストに対して、ブラウザーへ HSTS ヘッダーを送ります。HTTP (非セキュア)リクエストにはヘッダーは含まれません。 | Off / On |
| Max Age Header (max-age) | はい | ブラウザーの HSTS ポリシーの期間を指定し、ウェブサイトで HTTPS を必須にします。 | Disable、または 1〜12 か月 |
| Apply HSTS policy to subdomains (includeSubDomains) | いいえ | 親ドメインの HSTS ポリシーをサブドメインへ適用します。HTTPS に対応していないサブドメインにはアクセスできなくなります。 | Off / On |
| Preload | いいえ | ブラウザーが HSTS 設定を自動でプリロードできるようにします。攻撃者が最初のリクエストを HTTPS から HTTP へダウングレードするのを防ぎます。Preload を使うと、HTTPS のないウェブサイトは完全にアクセス不能になることがあります。 | Off / On |
| No-Sniff Header | いいえ |
| Off / On |