← Dokumentace WAF / custom-rules / use-cases
Challenge pro škodlivé boty
Funkce Bot Management od Cloudflare hodnotí pravděpodobnost, že požadavek pochází od bota.
Nastavení botů
Před vytvářením vlastních pravidel pro ochranu proti botům zkontrolujte nastavení na svém Security Settings stránce v části Provoz botů. Vestavěné funkce se automaticky aktualizují novými signaturami botů, nezapočítávají se do limitů vlastních pravidel a jejich správa je jednodušší.
| Případ použití | Nastavení botů |
|---|---|
| Blokování AI crawlerů (GPTBot, ClaudeBot atd.) | Blokování AI botů |
| Blokování jednoznačně automatizovaného provozu (bot skóre 1) | Definitely automated |
| Challenge pro pravděpodobně automatizovaný provoz (bot skóre 2-29) | Pravděpodobně automatizovaný |
| Povolení ověřených botů (Googlebot, Bingbot atd.) | Ověření boti |
| Rozšíření ochrany proti botům na statické zdroje | Ochrana statických zdrojů |
| Povolení loopback požadavků WordPressu | Optimalizace pro WordPress |
Vlastní pravidla jsou stále cenná, když potřebujete ochranu specifickou pro cesty (odlišné zacházení pro /api/ vs. /login/), vlastní prahy skóre (například skóre pod 20 místo 30), podmíněnou logiku kombinující bot skóre s dalšími poli nebo vlastní akce nedostupné ve vestavěném nastavení.
Bot score se pohybuje od 1 do 99. Nízké skóre znamená, že požadavek pochází ze skriptu, API služby nebo automatizovaného agenta. Vysoké skóre znamená, že požadavek odeslal člověk ze standardního desktopového nebo mobilního webového prohlížeče.
Tyto příklady používají:
cf.bot_management.scorek cílení na požadavky od botůcf.bot_management.verified_botk identifikaci požadavků od známí dobří boti ↗cf.bot_management.ja3_hashk cílení na konkrétní JA3 fingerprinty
Navrhovaná pravidla
Pro nejlepší výsledky:
- Použijte Bot Analytics abyste poznali svůj provoz před nasazením pravidel.
- Začněte s malým prahem pro boty a postupně jej zvyšujte.
Vaše pravidla se také mohou lišit podle povaha vašeho webu a vaší toleranci k falešně pozitivním detekcím.
Obecná ochrana
Následující tři vlastní pravidla poskytují základní ochranu proti škodlivým botům:
Pravidlo 1: Přeskočení ověřených botů
- Expression:
(cf.bot_management.verified_bot) - Akce: Skip:
- Všechna zbývající vlastní pravidla
- Známí dobří boti (Googlebot, Bingbot, monitorovací služby) obcházejí všechna vlastní pravidla. Viz seznam ověřených botů a Adresář botů Radar ↗.
Pravidlo 2: Blokovat jednoznačně automatizovaný provoz
- Expression:
(cf.bot_management.score eq 1) - Akce: Block
- Provoz se skóre 1 je jednoznačně automatizovaný. Jeho blokování nese minimální riziko falešně pozitivních detekcí.
Pravidlo 3: Challenge pro pravděpodobně automatizovaný provoz
- Expression:
(cf.bot_management.score gt 1 and cf.bot_management.score lt 30) - Akce: Managed Challenge
- Skóre 2–29 označuje pravděpodobně automatizované chování. Challenge propustí legitimní uživatele a zastaví boty.
Specifická ochrana pro prohlížečový, API a mobilní provoz
Ochrana endpointů prohlížeče
Když je požadavek jednoznačně automatizovaný (skóre 1) nebo pravděpodobně automatizovaný (skóre 2 až 29) a je not na seznamu známých dobrých botů, Cloudflare požadavek zablokuje.
- Expression:
(cf.bot_management.score lt 30 and not cf.bot_management.verified_bot) - Akce: Block
Vynětí API provozu
Protože Bot Management detekuje automatizované uživatele, musíte explicitně povolit své good automatizovaný provoz — to zahrnuje i vaše API ↗ a partnerská API.
Tento příklad nabízí stejnou ochranu jako pravidlo pouze pro prohlížeče, ale povoluje automatizovaný provoz na vaše API.
- Expression:
(cf.bot_management.score lt 30 and not cf.bot_management.verified_bot and not starts_with(http.request.uri.path, "/api")) - Akce: Block
Zohledněte mobilní provoz
Protože Bot Management může být citlivější na mobilní provoz, možná budete chtít přidat další logiku, abyste neblokovali legitimní požadavky.
Pokud zpracováváte požadavky z vlastní mobilní aplikace, můžete ji případně povolit na základě jejího specifického JA3 fingerprint.
- Expression:
(cf.bot_management.ja3_hash eq "df669e7ea913f1ac0c0cce9a201a2ec1") - Akce: Skip:
- Všechna zbývající vlastní pravidla
Jinak byste mohli pro mobilní provoz nastavit nižší prahy. Následující pravidla by blokovala jednoznačně automatizovaný mobilní provoz a vystavovala challenge pravděpodobně automatizovanému provozu.
Pravidlo 1:
- Expression:
(cf.bot_management.score lt 2 and http.user_agent contains "App_Name 2.0") - Akce: Block
Pravidlo 2:
- Expression:
(cf.bot_management.score lt 30 and http.user_agent contains "App_Name 2.0") - Akce: Managed Challenge
Kombinace různých pravidel
Pokud vaše doména obsluhuje mobilní, prohlížečový a API provoz, měli byste tato ukázková pravidla uspořádat v následujícím pořadí:
- Pravidlo pro API provoz
- Pravidla pro mobilní provoz
- Pravidlo pro provoz prohlížečů
Ochrana statických zdrojů
Statické zdroje jsou chráněny ve výchozím stavu, když vytváříte vlastní pravidla pomocí cf.bot_management.score pole.
Chcete-li vyloučit statické zdroje, zahrňte not (cf.bot_management.static_resource) ve výrazu svého pravidla. Podrobnosti najdete v Ochrana statických zdrojů.
Další úvahy
Odtud můžete svá vlastní pravidla přizpůsobit podle konkrétních cest požadavků (/login nebo /signup), běžných vzorců provozu nebo mnoha dalších charakteristik.
Nezapomeňte zkontrolovat Bot Analytics a Security Events ke kontrole, zda vaše pravidla nepotřebují další doladění.