INTEGRITY Dokumentace

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

Můžete vytvořit vlastní pravidlo sekvence prostřednictvím Cloudflare dashboardu nebo pomocí API.


Dostupnost

Tato pole sekvence jsou k dispozici v:

Název polePopisUkázková hodnota

cf.sequence.current_op
String

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.

c821cc00

cf.sequence.previous_ops
Array<String>

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í.

Pokud se operace opakuje, objeví se v sekvenci vícekrát.

["f54dac32", "c821cc00", "a37dc89b"]

cf.sequence.msec_since_op
Map<Number>

Toto pole obsahuje mapu, kde klíči jsou ID operací a hodnotami počet milisekund od posledního výskytu dané operace.

Nezahrnuje aktuální požadavek ani operaci, protože bere v úvahu jen předchozí operace v sekvenci.

{"f54dac32": 1000, "c821cc00": 2000}


Vytvořte vlastní pravidlo typu sekvence v dashboardu Cloudflare

  1. V dashboardu Cloudflare přejděte na Bezpečnostní pravidla stránce.

    Přejděte na Bezpečnostní pravidla ↗
  2. Chcete-li vytvořit nové prázdné pravidlo, vyberte Vytvořit pravidlo > Custom rules.

  3. Zadejte popisný název pravidla do Název pravidla.

  4. 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
  5. V části Hodnota, klikněte na ikonu úprav pro použití Builderu a sestavte sekvenci v postranním panelu.

  6. 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.

  7. Z Metody rozbalovacím seznamu vyberte všechny metody nebo konkrétní metodu požadavku.

  8. Zaškrtněte políčko u každého koncového bodu v pořadí, v jakém se mají v sekvenci zobrazit.

  9. Nastavte čas pro dokončení.

  10. Vyberte Save.

  11. 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.

  12. (Volitelné) Pokud jste vybrali Block akce si můžete nastavit vlastní odpověď.

  13. V části Umístit na, vyberte pořadí, kdy se pravidlo spustí.

  14. 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

  1. 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.
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}'
  1. 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:

  1. 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 enabled na false v následujícím volání API.
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.

Platná sekvence
cf.sequence.current_op eq "bbbbbbbb" and
any(cf.sequence.previous_ops[*] == "aaaaaaaa")
Neplatná posloupnost
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.

Platná sekvence
cf.sequence.current_op eq "bbbbbbbb" and
cf.sequence.msec_since_op["aaaaaaaa"] ge 1000
Neplatná posloupnost
cf.sequence.current_op eq "bbbbbbbb" and
not cf.sequence.msec_since_op["aaaaaaaa"] ge 1000

Omezení

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.