cf_clearance Cookie は、訪問者が本人確認済みの人間であり、Cloudflare のクライアントサイド検証に合格したことを Cloudflare に示します。
Cookie には、連動する 2 種類のクリアランス が含まれます。
- Challenge クリアランス: 訪問者が Challenge を解いたときに付与されます(例: Interstitial Challenge Page や、Pre-clearance を有効にした Turnstile)。
- Precursor クリアランス: セッションの挙動に基づいて継続的に更新されます。
Cookie は発行先の訪問者とデバイスに安全に紐付けられ、別のマシンでの再利用を防ぎます。
追加のセキュリティ対策として、cf_clearance Cookie の値に基づく レート制限ルール の追加を推奨します。1 台のマシンが有効な Cookie 1 つを使い、過剰なリクエストを送ることを防げます。
Challenge クリアランスは、訪問者が Challenge に成功したときに付与されます。
各 Challenge の種類にはクリアランスレベルがあります。上位レベルのクリアランスは、そのレベル以下の Challenge をすべてバイパスします。下位レベルのクリアランスは、同じレベルの Challenge だけをバイパスします。
| クリアランスレベル | バイパス対象 |
|---|---|
| Interactive(高) | Interactive、Managed、Non-Interactive Challenge |
| Managed(中) | Managed および Non-Interactive Challenge |
| Non-Interactive(低) | Non-Interactive Challenge のみ |
訪問者が Interactive Challenge(最上位のセキュリティレベル)に合格すると、クリアランスが有効なあいだ、ほかの Challenge をすべてバイパスできます。
訪問者が下位レベル(Managed または Non-Interactive)のクリアランスを受けたあと、上位レベルの Challenge に遭遇した場合は、その上位 Challenge を再度解く必要があります。
あとから上位レベルの Challenge を解くと、元のクリアランスは置き換わります。
Challenge クリアランスは、お客様が設定した期間(Challenge Passage)のあいだ有効です。ただし、Precursor がセッションを疑わしいと判断した場合は除きます。
Precursor クリアランスは、訪問者のセッション中に継続して再評価されます。単一の Challenge イベントに紐づくのではなく、一定間隔で挙動を再評価するクライアントサイドの継続プロセスとして動作します。新しいシグナルを観測するたびに、セッションの信頼度を反映するようクリアランスが動的に更新されます。
Precursor がセッションを疑わしいと判断した場合:
- 訪問者の実効 Challenge クリアランスが 引き下げられる、または無効化される ことがあります。
- Cookie の有効期限が切れていなくても、訪問者に 再 Challenge が出ることがあります。
これにより、クリアランスは 時間制約(Interstitial) と 挙動制約(Precursor) の両方で決まります。
Turnstile の Pre-clearance を使うと、cf_clearance Cookie でユーザー体験を簡潔にできます。cf_clearance Cookie により、お客様が設定したセキュリティクリアランスレベルに基づき、ゾーン上の以降のリクエスト(API リクエストを含む)で WAF Challenge をバイパスできます。信頼できる訪問者に特に有効で、使いやすさを高めつつセキュリティを維持できます。
デフォルトでは、Turnstile はウィジェットで Challenge を解いた訪問者に、1 回限りのトークンを発行します。Siteverify API へのサーバーサイド呼び出しで トークンを検証 する必要があります。
| Challenge の種類 | 発行されるクリアランス |
|---|---|
| Challenge Page | cf_clearance Cookie(デフォルト) |
| Turnstile ウィジェット | トークン(デフォルト) cf_clearance Cookie(任意の追加) |
Turnstile で Pre-clearance を有効にすると、デフォルトの Turnstile トークンに加えて cf_clearance Cookie が発行されます。
Turnstile に cf_clearance Cookie を Pre-clearance として発行させることで、Cloudflare Challenge を統合できます。Pre-clearance レベルは、ウィジェットの作成時または変更時に、Turnstile API の clearance_level で設定します。設定可能な値は次のとおりです。
interactivemanagedjschallengeno_clearance
すべてのウィジェットは、Pre-clearance モードが false、セキュリティクリアランスが no_clearance に設定されています。
ホスト名を事前設定せずにウィジェットを有効にできる Enterprise のお客様には、ホスト名を 1 つ以上指定し、Turnstile と統合するゾーンと同じホスト名のウィジェットで Pre-clearance Cookie を発行することを推奨します。
Pre-clearance と WAF の連携について詳しくは、ブログ記事 ↗ を参照してください。
Interactive(高) interactive
クリアランス Cookie を持つユーザーは、Non-Interactive Challenge、Managed Challenge、Interactive Challenge の Firewall Rules で Challenge されません。
Managed(中) managed
クリアランス Cookie を持つユーザーは、Non-Interactive Challenge または Managed Challenge の Firewall Rules で Challenge されません。
Non-interactive(低) jschallenge
クリアランス Cookie を持つユーザーは、Non-Interactive Challenge の Firewall Rules で Challenge されません。
Turnstile ウィジェットが生成するクリアランス Cookie の有効期間は、ゾーンレベルの Challenge Passage 値で決まります。Challenge Passage の設定については、Challenge Passage を参照してください。
Pre-clearance を有効にするには、Turnstile ウィジェットのホスト名が、WAF ルールのあるゾーンと一致している必要があります。Cloudflare ダッシュボードの Turnstile 設定では、登録済みゾーンの一覧を利用できます。この一覧から適切なホスト名を選びます。
この前提条件は、Pre-clearance が正しく動作するために重要です。正しく設定すると、Turnstile に成功した訪問者は、お客様が設定したセキュリティクリアランスレベルの Cookie を受け取ります。同じゾーンで WAF Challenge に遭遇しても、設定したクリアランスレベル以下の追加 Challenge をバイパスします。
ホスト名の管理について詳しくは、Hostname Management のドキュメント を参照してください。
-
Cloudflare ダッシュボードで Turnstile を開きます。
Turnstile を開く ↗ -
Add widget を選びます。
-
Would you like to opt for pre-clearance for this site? で Yes を選びます。
-
pre-clearance level を選びます。
-
Create を選びます。
-
Cloudflare ダッシュボードで Turnstile を開きます。
Turnstile を開く ↗ -
既存のウィジェットを選び、Settings を開きます。
-
Would you like to opt for pre-clearance for this site? で Yes を選びます。
-
pre-clearance level を選びます。
-
Update を選びます。