Pravidla rate limitingu
Pravidla rate limitingu umožňují definovat rate limity pro požadavky odpovídající výrazu a akci, která se má provést při dosažení těchto limitů. Pravidla rate limitingu použijte k prevenci zneužívání vašich webů a API — například k ochraně přihlašovacího endpointu před brute-force útoky nebo k omezení počtu API volání, která smí jediný klient provést v daném časovém okně.
V nový bezpečnostní dashboard, pravidla rate limitingu jsou jedním z dostupných typů bezpečnostní pravidla. Bezpečnostní pravidla provádějí bezpečnostní akce na příchozích požadavcích, které odpovídají zadaným filtrům.
Někteří zákazníci Enterprise mohou vytvářet sady pravidel rate limitingu na úrovni účtu, které mohou nasadit do více zón Enterprise.
Parametry pravidla
Stejně jako ostatní pravidla vyhodnocovaná pomocí Ruleset Engine, pravidla rate limitingu mají následující základní parametry:
- výraz který určuje kritéria, podle nichž porovnáváte provoz, pomocí Jazyk Rules.
- akce která určuje, co se má provést při shodě s pravidlem a splnění dalších podmínek. V případě pravidel rate limitingu se akce provede, jakmile frekvence dosáhne stanoveného limitu.
Kromě těchto dvou parametrů vyžadují pravidla rate limitingu následující další parametry:
- Charakteristiky: Sada parametrů, které definují, jak Cloudflare sleduje frekvenci pro toto pravidlo.
- Období: Časové období (v sekundách), které se zohledňuje při vyhodnocování frekvence.
- Počet požadavků za období: Počet požadavků za dané období, který spustí pravidlo rate limitingu.
- Doba trvání (neboli mitigation timeout): Jakmile je dosaženo limitu, pravidlo rate limitingu blokuje další požadavky po dobu definovanou v tomto poli.
- Chování akcí: Ve výchozím nastavení Cloudflare uplatňuje akci pravidla po nakonfigurovanou dobu (neboli mitigation timeout) bez ohledu na frekvenci požadavků během tohoto období. Někteří zákazníci Enterprise mohou pravidlo nakonfigurovat tak, aby omezovat (throttle) požadavky nad maximální frekvencí a povoluje příchozí požadavky, když je frekvence nižší než nakonfigurovaný limit.
Viz Parametry rate limitingu pro více informací o povinných a volitelných parametrech.
Viz Jak Cloudflare určuje frekvenci požadavků kde se dozvíte, jak Cloudflare používá výše uvedené parametry při určování frekvence příchozích požadavků.
Interakce s dalšími funkcemi aplikační bezpečnosti
Pokud používáte několik bezpečnostních funkcí aplikace, jako jsou vlastní pravidla, Managed Rules a Super Bot Fight Mode, je důležité rozumět tomu, jak tyto funkce interagují a v jakém pořadí se provádějí. Viz Interoperabilita bezpečnostních funkcí pro více informací.
Důležité poznámky
-
Pravidla rate limitingu se vyhodnocují v pořadí a některé akce jako Block zastaví vyhodnocování dalších pravidel. Podrobnosti o akcích a jejich chování najdete v Akce.
-
Pravidla rate limitingu nejsou navržena tak, aby k origin serveru propustila přesný počet požadavků. Mezi detekcí požadavku a aktualizací čítačů frekvence může být zpoždění až několik sekund. Kvůli tomuto zpoždění mohou nadlimitní požadavky stále dorazit na origin, než Cloudflare vynutí mitigační akci, jako je blokování nebo challenge. Více informací o fungování čítačů, včetně jejich rozsahu po jednotlivých datových centrech, najdete v Výpočet frekvence požadavků.
-
Aplikace pravidel rate limitingu na ověřené boty může ovlivnit optimalizaci pro vyhledávače (SEO). Více informací najdete v Zlepšení SEO.
Dostupnost
| Funkce | Free | Pro | Business | Enterprise s app security | Enterprise s Advanced Rate Limiting |
|---|---|---|---|---|---|
| Dostupná pole ve výrazu pravidla |
Cesta, Verified Bot | Host, URI, Path, Full URI, Query, Verified Bot | Host, URI, Path, Full URI, Query, Method, Source IP, User Agent, Verified Bot | Obecná pole požadavku, pole hlaviček požadavku, Verified Bot, pole Bot Managementu1 | Obecná pole požadavku, pole hlaviček požadavku, Verified Bot, pole Bot Managementu1, pole těla požadavku2 |
| Vyloučení z cache | Ne | Ne | Ano | Ano | Ano |
| Charakteristiky počítání | IP | IP | IP, IP s podporou NAT | IP, IP s podporou NAT | IP, IP s podporou NAT, Query, Host, Headers, Cookie, ASN, Country, Path, JA3/JA4 Fingerprint1, hodnota JSON pole2, Body2, Form input value2, Custom |
| Vlastní počítací výraz | Ne | Ne | Ano | Ano | Ano |
| Dostupná pole v počítacím výrazu |
N/A | N/A | Všechna pole výrazu pravidla, Response code, Response headers | Všechna pole výrazu pravidla, Response code, Response headers | Všechna pole výrazu pravidla, Response code, Response headers |
| Model počítání | Počet požadavků | Počet požadavků | Počet požadavků | Počet požadavků | Počet požadavků, skóre komplexity |
| Rate limiting chování akce |
Perform action during mitigation period | Perform action during mitigation period | Perform action during mitigation period | Perform action during mitigation period, Throttle requests above rate with block action | Perform action during mitigation period, Throttle requests above rate with block action |
| Počítací období | 10 s | Všechny podporované hodnoty do 1 min3 | Všechny podporované hodnoty do 10 min3 | Všechny podporované hodnoty do 65 535 s3 | Všechny podporované hodnoty do 65 535 s3 |
| Období mitigačního timeoutu | 10 s | Všechny podporované hodnoty do 1 h3 | Všechny podporované hodnoty do 1 dne3 | Všechny podporované hodnoty do 1 dne3 4 | Všechny podporované hodnoty do 1 dne3 4 |
| Počet pravidel | 1 | 2 | 5 | 1005 | 100 |
Poznámky pod čarou
1: Dostupné pouze zákazníkům Enterprise, kteří si zakoupili Bot Management.
2: Dostupnost závisí na vašem WAF plánu.
3: Seznam podporovaných hodnot období počítání/mitigace v sekundách:
10, 15, 20, 30, 40, 45, 60 (1 min), 90, 120 (2 min), 180 (3 min), 240 (4 min), 300 (5 min), 480, 600 (10 min), 900, 1200 (20 min), 1800, 2400, 3600 (1 h), 65535, 86400 (1 den).
Ne všechny hodnoty jsou dostupné ve všech plánech.
4: Zákazníci Enterprise mohou přes API zadat vlastní dobu mitigation timeoutu.
5: Zákazníci Enterprise musí mít ve smlouvě application security, aby získali přístup k pravidlům rate limitingu. Počet pravidel závisí na konkrétních podmínkách smlouvy.
Poznámky pod čarou
-
Dostupné pouze zákazníkům Enterprise, kteří si zakoupili Bot Management. ↩ ↩2 ↩3
-
Podporované hodnoty období v sekundách:
10, 15, 20, 30, 40, 45, 60 (1 min), 90, 120 (2 min), 180 (3 min), 240 (4 min), 300 (5 min), 480, 600 (10 min), 900, 1200 (20 min), 1800, 2400, 3600 (1 h), 65535, 86400 (1 den). ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 -
Zákazníci Enterprise mohou přes API zadat vlastní dobu mitigation timeoutu. ↩ ↩2
-
Zákazníci Enterprise musí mít ve smlouvě application security, aby získali přístup k pravidlům rate limitingu. Počet pravidel závisí na konkrétních podmínkách smlouvy. ↩
Další kroky
Viz následující zdroje:
- Vytvoření pravidla rate limitingu v dashboardu pro zónu
- Vytvoření pravidla rate limitingu přes API pro zónu
Příklady pro Terraform viz Konfigurace pravidel rate limitingu pomocí Terraformu.
Související zdroje
-
Cloudflare Rate Limiting (předchozí verze, již není k dispozici): Dokumentace k předchozí verzi pravidel rate limitingu (účtované podle využití).