← Řešení Cloudflare pro boty / bots / additional-configurations
Sequence rules
Sequence rules používá cookies ke sledování pořadí požadavků uživatele a času mezi požadavky a zpřístupňuje je pomocí Cloudflare Rules. To vám umožňuje psát pravidla, která odpovídají platným nebo neplatným sekvencím. Konkrétní soubory cookie použité k ověření sekvencí se nazývají sequence cookies.
Předpoklady
- Váš účet musí mít předplatné Fraud Detection.
- Každá zóna musí nakonfigurovat sledované koncové body pomocí Endpoint Management.
Můžete vytvořit vlastní pravidlo sekvence prostřednictvím Cloudflare dashboardu nebo pomocí API.
Dostupnost
Tato pole sekvence jsou k dispozici v:
- Custom rules (
http_request_firewall_customfáze) - Rate limiting rules (
http_request_ratelimit) - Bulk Redirects (
http_request_redirect) - Request Header Transform Rules (
http_request_late_transform)
| Název pole | Popis | Ukázková hodnota |
|---|---|---|
| Toto pole obsahuje ID operace, která odpovídá aktuálnímu požadavku. Pokud aktuální požadavek neodpovídá žádné z operací definovaných v Endpoint Management, bude prázdným řetězcem. |
|
| Toto pole obsahuje pole předchozích ID operací v sekvenci, seřazených od nejnovější po nejstarší. Aktuální požadavek v něm zahrnut není. |
|
| Toto pole obsahuje mapu, kde klíči jsou ID operací a hodnotami počet milisekund od posledního výskytu dané operace. |
|
Vytvořte vlastní pravidlo typu sekvence v dashboardu Cloudflare
-
V dashboardu Cloudflare přejděte na Bezpečnostní pravidla stránce.
Přejděte na Bezpečnostní pravidla ↗ -
Chcete-li vytvořit nové prázdné pravidlo, vyberte Vytvořit pravidlo > Custom rules.
-
Zadejte popisný název pravidla do Název pravidla.
-
V části Když příchozí požadavky odpovídají, použijte Pole rozbalovacím seznamu filtrujte podle Sequences a vyberte z:
- Current Operation
- Předchozí operace
- Uplynulý čas
-
V části Hodnota, klikněte na ikonu úprav pro použití Builderu a sestavte sekvenci v postranním panelu.
-
V části Vyberte název hostitele pro tuto sekvenci, z rozbalovacího seznamu vyberte všechny hostitele nebo konkrétní hostname. Volitelně můžete pomocí vyhledávacího pole vyhledat konkrétní hostname.
-
Z Metody rozbalovacím seznamu vyberte všechny metody nebo konkrétní metodu požadavku.
-
Zaškrtněte políčko u každého koncového bodu v pořadí, v jakém se mají v sekvenci zobrazit.
-
Nastavte čas pro dokončení.
-
Vyberte Save.
-
V části Poté proveďte akci, vyberte akci pravidla v Vyberte akci rozbalovací nabídce. Pokud například vyberete Block říká Cloudflare, aby odmítal požadavky, které odpovídají vámi zadaným podmínkám.
-
(Volitelné) Pokud jste vybrali Block akce si můžete nastavit vlastní odpověď.
-
V části Umístit na, vyberte pořadí, kdy se pravidlo spustí.
-
Chcete-li pravidlo uložit a nasadit, vyberte Nasadit. Pokud ještě nejste připraveni pravidlo nasadit, vyberte Save as Draft.
Spravujte pravidla sekvencí prostřednictvím API
Zapnutí sekvenčních pravidel
- Vytvořte token API pokud ještě žádný nemáte. API token musí obsahovat Zóna > Fraud Detection > Úprava oprávnění. 2. Získání ID zóny pro zónu(y), kde chcete povolit sekvenční pravidla. 3. Přidejte tyto endpointy který chcete sledovat ve svých sekvenčních pravidlech pomocí funkce Endpoint Management v API Shield a poznamenejte si krátké ID. 4. Aktivujte sequence cookie přidáním svého API tokenu a ID zóny do následujícího volání API.
curl --request PUT \
https://api.cloudflare.com/client/v4/zones/{zone_id}/fraud_detection/sequence_cookies \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{"enabled": true}'- Pomocí editoru výrazů napište pravidla založená na sekvencích nebo časování prostřednictvím vlastní pravidla, pravidla rate limitingu, nebo transform rules. Tato pravidla můžete kvůli sledování nastavit do režimu Log only.
Jakmile aktivujete pravidla sekvencí, pole pravidel se vyplní a nová pole pak můžete použít ve svých pravidlech.
Vypnutí sekvenčních pravidel
Vypnutím sekvenčních pravidel přestanou být pole pravidel vyplňována. Pokud máte nasazená pravidla, která na těchto polích závisí, nemusí taková pravidla fungovat podle očekávání. Než sekvenční pravidla vypnete, odstraňte nebo vypněte veškerá pravidla, která se opírají o sekvenční pole.
Deaktivace sekvenčních pravidel:
- Vytvořte token API pokud ještě
žádný nemáte. API token musí obsahovat Zóna > Fraud
Detection > Úprava oprávnění. 2. Získání ID
zóny pro zónu(y), kde
chcete povolit sekvenční pravidla. 3. Přidejte tyto
endpointy který chcete sledovat ve
svých sekvenčních pravidlech pomocí funkce Endpoint Management v API Shield a poznamenejte si
krátké ID. 4. Deaktivujte sequence cookie pomocí svého API tokenu, ID zóny
a nastavením
enablednafalsev následujícím volání API.
curl --request PUT https://api.cloudflare.com/client/v4/zones/{zone_id}/fraud_detection/sequence_cookies \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"enabled": false}'Pole pravidel
Sequence rules zavádí do Cloudflare Rules tři nová pole. Všechna tato pole odkazují na operace prostřednictvím jejich krátkého ID. Účty s předplatným Fraud Detection mohou krátké ID zjistit v podrobnostech koncového bodu přes API Shield > Endpoint Management na Cloudflare dashboardu. Účty bez Fraud Detection nemají k tomuto poli přístup.
Cloudflare v rámci sekvence ukládá maximálně 10 nejnovějších operací, a to po dobu nejvýše jedné hodiny. Pokud sekvence obsahuje více než 10 operací, starší operace se zahodí a v následujících polích se již neobjeví. Stejně tak se v následujících polích neobjeví ani operace, ke které došlo před více než hodinou.
Příklady pravidel
Zákazník musí odeslat požadavek na koncový bod A dříve než na koncový bod B.
cf.sequence.current_op eq "bbbbbbbb" and
any(cf.sequence.previous_ops[*] == "aaaaaaaa")cf.sequence.current_op eq "bbbbbbbb" and
not any(cf.sequence.previous_ops[*] == "aaaaaaaa")Zákazník musí odeslat požadavek na endpoint A alespoň jednu sekundu před endpointem B.
cf.sequence.current_op eq "bbbbbbbb" and
cf.sequence.msec_since_op["aaaaaaaa"] ge 1000cf.sequence.current_op eq "bbbbbbbb" and
not cf.sequence.msec_since_op["aaaaaaaa"] ge 1000Omezení
Cloudflare podporuje pouze požadavky HTTPS, protože naše soubory cookie nastavují Secure atribut.
Dostupnost
Sequence rules je aktuálně v neveřejné beta verzi. Pokud se do ní chcete zapojit, obraťte se na svůj tým účtu.