Dokumentace Domluvit pilot

Rate Limiting (předchozí verze)

Cloudflare Rate Limiting automaticky rozpoznává a zmírňuje nadměrnou frekvenci požadavků pro konkrétní adresy URL nebo pro celou doménu.

Frekvence požadavků se počítá lokálně pro jednotlivá datacentra Cloudflare. Mezi nejběžnější způsoby použití funkce Rate Limiting patří:

Jakmile jednotlivá adresa IPv4 nebo IPv6 /64 rozsah IP adres překročí prahovou hodnotu pravidla, další požadavky na origin server se blokují s HTTP 429 stavový kód odpovědi. Odpověď obsahuje Retry-After hlavičku, která uvádí, kdy může klient obnovit odesílání požadavků.

Omezení frekvence požadavků a SEO

Prostředky uložené v mezipaměti a známí prohledávače vyhledávačů jsou vyňaty z vašich pravidel omezení frekvence požadavků (pouze v předchozí verzi). Proto neovlivňují Hodnocení SEO.


Dostupnost

Počet povolených pravidel omezení frekvence požadavků závisí na plánu domény:

Plán Pravidla Pravidla porovnávající hlavičky odpovědi Akce Doba trvání akce Request Period
Free 1 1 Block 1 minuta nebo 1 hodina 10 sekund nebo 1 minuta
Pro 10 1 Block, Non-Interactive Challenge, Managed Challenge, Interactive Challenge nebo Log 1 minuta nebo 1 hodina 10 sekund nebo 1 minuta
Business 15 10 Block, Non-Interactive Challenge, Managed Challenge, Interactive Challenge nebo Log 1 minuta, 1 hodina nebo 24 hodin 10 sekund, 1 minuta nebo 10 minut
Enterprise 100 10 Block, Non-Interactive Challenge, Managed Challenge, Interactive Challenge nebo Log Jakákoli doba trvání zadaná mezi 10 sekundami a 86,400 sekundami (24 hodin) Jakákoli hodnota zadaná mezi 10 sekundami a 3,600 sekundami (1 hodina)

Cloudflare Rate Limiting podporuje více úrovní řízení konfigurace v závislosti na plánu Cloudflare dané domény. Tabulka níže ukazuje, co můžete dělat podle svého plánu:

Pořadí Úkol Dostupné v
1 Konfigurace základního pravidla omezení frekvence požadavků Všechny plány
2 Konfigurace Advanced Criteria Plány Business a Enterprise
3 Konfigurace Advanced Response Plány Business a Enterprise
4 Konfigurace možnosti Bypass plán Enterprise

Součásti pravidla omezení frekvence požadavků

Pravidlo omezení rychlosti se skládá ze tří samostatných částí:

Kritéria shody požadavku

Příchozí požadavky se porovnávají podle cesty požadavku, schématu požadavku, metody požadavku a volitelně podle kódu odpovědi origin serveru.

Request path

Například:

Cesta požadavku nerozlišuje velká a malá písmena. Vzory nemohou odpovídat obsahu za řetězci dotazu (?) nebo kotvy (#). Hvězdička (*) odpovídá libovolné posloupnosti znaků, včetně prázdné posloupnosti. Například:

Požadavek na example.com/path není totéž jako example.com/path/. Jedinou výjimkou z tohoto pravidla je domovská stránka: example.com odpovídá example.com/.

Schéma požadavku

HTTP nebo HTTPS. Pokud není zadáno žádné, shodují se obě a pravidlo uvede __ALL__.

Metoda požadavku

POST nebo GET. Pokud není zadaná žádná metoda, shodují se všechny a pravidlo uvede __ALL__.

(Volitelné) Kód odpovědi origin serveru

Pravidlo rate limitingu můžete například nastavit tak, aby se shodovalo pouze v případě, že origin server vrátí HTTP 401 nebo 403 stavový kód. Spuštěné pravidlo odpovídající kritériím kódu odpovědi blokuje následné požadavky od tohoto klienta bez ohledu na kód odpovědi z původu.

Kritéria pro shodu frekvence

Pravidlo může vytvořit shodu na základě počtu a časového období všech požadavků přicházejících od stejného klienta.

Počet požadavků

Zadejte alespoň dva požadavky. Pokud chcete blokovat už jediný požadavek, znepřístupněte danou cestu, například nastavte svůj origin server tak, aby vracel HTTP 403 stavový kód.

Období požadavku

Pravidlo se spustí, jakmile požadavky klienta překročí prahovou hodnotu po zadanou dobu trvání.

Zmírnění pravidla

Zmírnění pravidla se skládá z akce zmírnění a doby trvání blokování.

Akce zmírnění

Akce omezení frekvence požadavků vychází z plánu domény, jak je uvedeno v Dostupnost:

Další informace o akcích typu Challenge najdete v Challenges.

Doba trvání blokování

Pokud nastavíte časový limit kratší, než je prahová hodnota, API tento časový limit automaticky zvýší tak, aby se prahové hodnotě rovnal.

Návštěvníci, kteří narazí na rate limit, obdrží výchozí stránku HTML, pokud není nastavena vlastní chybová stránka není zadáno. Zákazníci s plánem Business a Enterprise navíc mohou zadat odpověď přímo v pravidle. Více informací najdete v Konfigurace Advanced Response s podrobnostmi.


Identifikace prahových hodnot omezení frekvence požadavků

Chcete-li určit obecnou prahovou hodnotu pro Cloudflare Rate Limiting, vydělte počet požadavků na web bez mezipaměti za 24 hodin počtem jedinečných návštěvníků za stejných 24 hodin. Výsledek poté vydělte odhadovaným průměrným počtem minut jedné návštěvy. Nakonec jej vynásobte 4 (nebo vyšším číslem), abyste získali odhadovanou prahovou hodnotu za minutu pro svůj web. Hodnota vyšší než 4 je v pořádku, protože většina útoků řádově převyšuje běžnou úroveň provozu.

Chcete-li určit limity četnosti požadavků pro konkrétní URL adresy, vycházejte z 24 hodin požadavků bez mezipaměti a jedinečných návštěvníků pro danou URL adresu. Prahové hodnoty upravte na základě zpětné vazby od uživatelů a vlastního monitorování.


Úkol 1: Konfigurace základního pravidla omezení frekvence požadavků

Následující části popisují dva běžné typy pravidel omezení frekvence požadavků.

Zapnutí funkce Protect your login

Rate Limiting nabízí upgrade jedním kliknutím Chránit přihlášení nástroj, který vytvoří pravidlo blokující klienta na 15 minut, pokud odešle více než 5 požadavků POST během 5 minut. To postačuje k zablokování většiny pokusů o prolomení hrubou silou.

  1. Přihlaste se do Cloudflare dashboard ↗, a vyberte svůj účet a doménu.
  2. Přejděte na Security > WAF > Rate limiting rules.
  3. V části Rate Limiting, vyberte Chránit přihlášení.
  4. Zadejte Název pravidla a Zadejte adresu URL přihlášení v Chránit přihlášení dialogového okna, které se zobrazí.
  5. Vyberte Save.
  6. Název pravidla se zobrazí ve vašem Rate Limiting seznam pravidel.

Vytvoření vlastního pravidla omezení frekvence požadavků

  1. Přihlaste se do Cloudflare dashboard ↗, a vyberte svůj účet a doménu.

  2. Přejděte na Security > WAF > Rate limiting rules.

  3. Vyberte Vytvoření pravidla omezení frekvence požadavků. Otevře se dialogové okno, ve kterém zadáte podrobnosti nového pravidla.

    Vyskakovací dialogové okno Vytvoření pravidla omezení frekvence požadavků s ukázkovou konfigurací pravidla. Pravidlo zablokuje požadavky z IP adres, které překročí 150 požadavků za minutu po dobu jedné hodiny.
  4. Zadejte popisný název pravidla do Název pravidla.

  5. Pro Pokud provoz odpovídá URL adrese, vyberte schéma HTTP z rozevírací nabídky a zadejte URL adresu.

  6. V ze stejné IP adresy překročí, zadejte celé číslo větší než 1 představující počet požadavků ve vzorkovacím období.

  7. Pro požadavků za, vyberte vzorkovací období (období, během kterého se počítají požadavky). U domén s plánem Enterprise lze ručně zadat libovolnou dobu trvání od 10 do 3 600 sekund (jedna hodina).

  8. Pro Poté, vyberte jednu z dostupných akcí podle svého plánu. Projděte si Zmírnění pravidla část, kde najdete podrobnosti.

  9. Pokud jste vybrali Block nebo Log, pro odpovídající provoz od daného návštěvníka po dobu, vyberte, jak dlouho se má daná možnost uplatňovat po dosažení prahové hodnoty. U domén s plánem Enterprise lze zadat libovolnou hodnotu od 10 do 86 400 sekund (24 hodin).

  10. Chcete-li aktivovat nové pravidlo, vyberte Save and Deploy.

Nové pravidlo se zobrazí v seznamu pravidel omezení frekvence požadavků.

Obecně platí, že při nastavení nižší prahové hodnoty:

  1. Ponechte stávající pravidla beze změny a přidejte nové pravidlo s nižší prahovou hodnotou.
  2. Jakmile je nové pravidlo zavedeno, počkejte, až uplyne doba trvání akce starého pravidla, a teprve poté staré pravidlo smažte.

Pokud nastavujete vyšší prahovou hodnotu (kvůli blokování legitimních klientů), zvyšte ji přímo ve stávajícím pravidle.


Úkol 2: Konfigurace Advanced Criteria (pouze plány Business a Enterprise)

Advanced Criteria možnost určuje, které metody HTTP, hlavičky odpovědí a stavové kódy origin serveru se mají shodovat pro vaše pravidlo rate limiting.

Chcete-li nakonfigurovat pokročilá kritéria pro nové nebo existující pravidlo:

  1. Rozbalit Advanced Criteria.

    Dostupná pole při konfiguraci Advanced Criteria pro pravidlo omezení rychlosti.
  2. Vyberte hodnotu z Metoda(y). Výchozí hodnota je ANY, který odpovídá všem metodám HTTP.

  3. Filtrovat podle HTTP hlavička(y) odpovědi. Vyberte Přidat pole hlavičky odpovědi k zahrnutí hlaviček vrácených vaším origin webovým serverem.

    CF-Cache-Status hlavička se ve výchozím nastavení zobrazuje, aby Cloudflare namísto omezování frekvence u těchto prostředků poskytoval prostředky z mezipaměti. Chcete-li omezovat frekvenci i u prostředků z mezipaměti, odeberte tuto hlavičku výběrem X nebo povolte Použít limit frekvence požadavků i na aktiva v mezipaměti.

    Pokud máte více než jednu hlavičku v HTTP hlavička(y) odpovědi, AND se uplatňuje booleovská logika. Chcete-li vyloučit hlavičku, použijte Not Equals možnost. U každé hlavičky se nerozlišují velká a malá písmena.

  4. V části Kód(y) odpovědi origin serveru, zadejte číselnou hodnotu každého kódu odpovědi HTTP, který se má porovnávat. Více kódů HTTP oddělte čárkou (například: 401, 403).

  5. (Volitelné) Nakonfigurujte další funkce omezení frekvence požadavků podle svého plánu.

  6. Vyberte Save and Deploy.


Úkol 3: Konfigurace Advanced Response (pouze plány Business a Enterprise)

Advanced Response možnost určuje formát informací, které Cloudflare vrátí při překročení prahové hodnoty pravidla. Použijte Advanced Response pokud chcete vracet statický prostý text nebo obsah JSON.

Chcete-li nakonfigurovat odpověď ve formátu prostého textu nebo JSON:

  1. Rozbalit Advanced Response.

    Dostupná pole při konfiguraci Advance Response pro pravidlo omezení rychlosti.
  2. Vyberte Typ odpovědi formát jiný než výchozí: Vlastní JSON nebo Vlastní TEXT.

  3. Zadejte odpověď ve formátu prostého textu nebo JSON, kterou chcete vracet. Maximální velikost odpovědi je 32 KB.

  4. (Volitelné) Nakonfigurujte další funkce omezení frekvence požadavků podle svého plánu.

  5. Vyberte Save and Deploy.

Použití vlastní HTML stránky nebo přesměrování

Pokud chcete zobrazit vlastní stránku HTML, nakonfigurujte vlastní stránku pro HTTP 429 chyby (Too many requests) na Dashboardu. Cloudflare zobrazí tuto stránku, když vyberete Default Cloudflare Rate Limiting Page v Typ odpovědi (výchozí hodnota pole).

K přesměrování klienta, na kterého se vztahuje omezení frekvence požadavků, na konkrétní URL můžete použít následující metodu:

  1. Na svém serveru vytvořte stránku HTML, která přesměruje na konečnou URL adresu stránky, kterou chcete zobrazit. Zahrňte do ní meta refresh ↗ tag v obsahu stránky, jako v následujícím příkladu:

    <!doctype html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>Custom RL page</title>
    		<meta
    			http-equiv="refresh"
    			content="0; url='https://yourzonename/block'"
    		/>
    	</head>
    
    	<body></body>
    </html>

    Poznamenejte si veřejnou URL adresu vytvořené stránky.

  2. V dashboardu Cloudflare přejděte na Nastavení stránce.

    Přejděte na Konfigurace ↗
  3. Přejděte na Chybové stránky.

  4. Vedle Blok omezení četnosti požadavků, vyberte tři tečky > Úprava.

  5. Vyberte Vlastní stránka.

  6. V Adresa vlastní stránky, zadejte URL stránky, kterou jste vytvořili na svém serveru, tedy stránky obsahující meta refresh .

  7. Vyberte Save.

Stejný postup použijte i v případě, že chcete vrátit obsah ve formátu prostého textu nebo JSON, ale odpověď je větší než 32 KB. V takovém případě bude přesměrovací adresa URL odkazovat na zdroj s textovým nebo JSON obsahem, který chcete zobrazit.


Úkol 4: Konfigurace možnosti Bypass (pouze plán Enterprise)

Bypass vytváří allowlist nebo výjimku, takže se na konkrétní sadu URL adres neuplatní žádné akce, i když je limit rychlosti dosažen.

Chcete-li nakonfigurovat Bypass:

  1. Rozbalit Bypass.

  2. V Pravidlo pro obejití u těchto adres URL, zadejte URL adresy, které chcete z pravidla omezení frekvence požadavků vyjmout. Každou URL adresu zadejte na samostatný řádek. Protokol HTTP nebo HTTPS uvedený v URL adrese se při uložení pravidla automaticky odstraní a pravidlo se poté vztahuje na oba protokoly, HTTP i HTTPS.

    Konfigurace dvou URL adres, které se mají obejít u pravidla omezení frekvence požadavků (jedna na řádek).
  3. (Volitelné) Nakonfigurujte další funkce omezení frekvence požadavků podle svého plánu.

  4. Vyberte Save and Deploy.


Analytics

Zobrazte si analytiku rate limitingu pro vaši zónu v Analytics & logs > Security. Analytika Rate Limiting znázorňuje plnými čarami provoz odpovídající simulovaným požadavkům a tečkovanými čarami skutečně blokované požadavky. Protokoly generované pravidlem omezení frekvence požadavků jsou dostupné pouze zákazníkům s plánem Enterprise, a to přes Cloudflare Logs.

Cloudflare vrátí HTTP 429 chybu pro blokované požadavky. Podrobnosti o blokovaných požadavcích podle lokality jsou zákazníkům Enterprise poskytovány v Stavové kódy na řídicím panelu analytiky dostupném na adrese Analytics > Provoz.


Pořadí vykonávání pravidel

Pravidla omezení frekvence požadavků se vyhodnocují od nejnověji vytvořeného pravidla po nejstarší.

Pokud například požadavek odpovídá následujícím dvěma pravidlům:

Pak se jako první spustí pravidlo #2, protože bylo vytvořeno jako poslední.

Pokud navíc dojde ke shodě a WAF použije Log akce pokračuje ve vyhodnocování dalších rate limiting rules, protože Log je neukončující akce. Pokud WAF použije jakoukoli jinou akci, žádná další pravidla se již nevyhodnocují.


Omezení

Rate Limiting je navržen tak, aby omezoval nárazy provozu překračující rychlost definovanou uživatelem. Systém není navržen tak, aby k origin serveru propouštěl přesný počet požadavků. Může se stát, že mezi zjištěním požadavku a aktualizací interního čítače dojde ke zpoždění. Kvůli tomuto zpoždění, které může trvat až několik sekund, se k origin serveru mohou dostat i požadavky nad rámec limitu, než se uplatní akce jako blokování nebo vyzvání k ověření.


Požádejte o pilot zdarma

Domluvit pilot