← Dokumentace WAF / reference / legacy
Upgrade firewallových pravidel
Cloudflare upgradoval existující firewall rules do vlastní pravidla. S vlastními pravidly získáte stejnou úroveň ochrany a několik funkcí navíc. Vlastní pravidla jsou v Cloudflare dashboardu dostupná na následujícím místě:
- Starý dashboard: Security > WAF > Vlastní pravidla.
- Nový bezpečnostní dashboard: Security > Bezpečnostní pravidla.
Hlavní rozdíly
Hlavní rozdíly mezi firewallovými pravidly a vlastními pravidly WAF jsou následující:
- Vylepšená odpověď pro akci Block
- Jiná chybová stránka pro blokované požadavky
- Nová akce Skip nahrazující akce Allow i Bypass
- Vlastní pravidla se vyhodnocují v pořadí
- Logy a události
- Nová API a Terraform resources
Vylepšená odpověď pro akci Block
Ve vlastních pravidlech WAF můžete přizpůsobit odpověď Block akce.
Výchozí odpovědí při blokaci je standardní HTML stránka Cloudflare. Pokud potřebujete poslat vlastní odpověď pro Block akcí nakonfigurujte vlastní pravidlo tak, aby vracelo pevnou odpověď s vlastním kódem odpovědi (výchozí 403) a vlastním tělem (HTML, JSON, XML nebo prostý text).
Jiná chybová stránka pro blokované požadavky
Požadavky blokované firewall pravidlem s Block akcí by dostaly Cloudflare chybový kód 1020 odpověď. Uživatelé Cloudflare mohli tuto chybovou stránku pro zónu přizpůsobit v Error Pages > chyby třídy 1000.
Požadavky blokované vlastním pravidlem WAF dostanou jinou odpověď: blokovací odpověď WAF. K přizpůsobení výchozí blokovací odpovědi můžete buď:
- Definujte vlastní blokovací odpověď WAF pro celou zónu v Error Pages ↗ > Blokace WAF. Tato chybová stránka bude mít vždy content type HTML.
- Definování vlastní odpovědi pro požadavky zablokované konkrétním vlastním pravidlem WAF. Tato vlastní odpověď podporuje i jiné typy obsahu než HTML.
Pokud jste si v Error Pages přizpůsobili chybovou stránku 1XXX pro požadavky blokované firewall rules, budete muset vytvořit novou stránku odpovědi pro blokované požadavky jednou z výše uvedených metod.
Více informací o Error Pages najdete v Custom Errors.
Nová akce Skip nahrazující akce Allow i Bypass
Firewall Rules podporovala Allow a Bypass akce, často používané společně. Tyto akce se běžně používaly pro zpracování známých legitimních požadavků — například požadavků z důvěryhodných IP adres.
Když požadavek spustil Allow, žádná další firewallová pravidla se nevyhodnocovala, což požadavku fakticky umožnilo pokračovat do dalšího bezpečnostního produktu. Bypass akce byla navržena k určení, které bezpečnostní produkty (například spravovaná pravidla WAF, pravidla rate limitingu a User Agent Blocking) se nemají spustit na požadavek, který akci vyvolal.
Pokud jste u Firewall Rules chtěli pro daný požadavek zastavit běh všech bezpečnostních produktů, vytvořili byste dvě pravidla:
- Jedno pravidlo s Bypass akci (výběrem všech bezpečnostních produktů).
- Jedno pravidlo s Allow akce (pro zastavení vykonávání ostatních pravidel firewallu).
Požadavek na dvě pravidla pro řešení tohoto běžného scénáře už pro vlastní pravidla WAF neplatí. Nyní byste měli použijte Skip akce, která kombinuje Allow a Bypass akce. Skip akce plně nahrazuje Allow a Bypass akce, které nejsou ve vlastních pravidlech WAF podporovány.
S Skip akcí můžete provést následující:
- Zastavení spouštění všech zbývajících vlastních pravidel (ekvivalent Allow akce)
- Vynechání ostatních bezpečnostních produktů (ekvivalent Bypass akce)
- Kombinace výše uvedeného.
Můžete také zvolit, zda chcete logovat události odpovídající vlastnímu pravidlu s Skip akcí, či nikoli. To je užitečné zejména při vytváření pozitivního bezpečnostního modelu, abyste se vyhnuli logování velkého množství legitimního provozu.
Vlastní pravidla se vyhodnocují v pořadí
Akce firewall rules měly specifické pořadí priorit při použití řazení podle priority. Naproti tomu akce vlastních pravidel takové pořadí nemají. Vlastní pravidla se vždy vyhodnocují v pořadí a některé akce jako Block zastaví vyhodnocování dalších pravidel.
Pokud jste například používali řazení podle priority a měli následující firewallová pravidla se stejnou prioritou, obě odpovídající příchozímu požadavku:
- Firewall pravidlo č. 1 — Priorita: 2 / Akce: Block
- Firewall rule #2 — Priorita: 2 / Akce: Allow
Požadavek by byl povolen, protože Allow ve Firewall Rules by měla přednost před akcí Block akci.
Naproti tomu pokud vytvoříte dvě vlastní pravidla a příchozí požadavek odpovídá oběma:
- Vlastní pravidlo č. 1 — akce: Block
- Vlastní pravidlo č. 2 — Akce: Skip (nakonfigurováno tak, aby přeskočilo všechna zbývající vlastní pravidla)
Požadavek by byl zablokován, protože vlastní pravidla se vyhodnocují v pořadí a Block akce zastaví vyhodnocování dalších pravidel.
Logy a události
Události logované vlastními pravidly se zobrazují v Security Events s Custom Rules jako svůj zdroj.
Na stránce Security Events můžete stále najít události vygenerované Firewall Rules, pokud vyberete časový rámec zahrnující dny, kdy proběhl přechod na vlastní pravidla. Podobně můžete stále najít události s oběma Skip a Allow akce ve stejném zobrazení po dobu přechodného období.
Nová API a Terraform resources
Preferovaným API pro správu vlastních pravidel WAF je Rulesets API. Rulesets API se používá u všech novějších bezpečnostních produktů Cloudflare, aby práce s naším API byla jednotná. Další informace o migraci na Rulesets API viz Relevantní změny pro uživatele API.
Firewall Rules API a Filters API nejsou od 2025-06-15 nadále podporována. Nyní existuje jediný seznam pravidel pro firewall rules i vlastní pravidla WAF a tento seznam obsahuje vlastní pravidla WAF. Díky internímu konverznímu procesu vrací Firewall Rules API a Filters API firewall rules/filtry převedené z těchto vlastních pravidel WAF až do data ukončení podpory těchto API.
Pokud používáte Terraform, musíte aktualizovat konfiguraci tak, aby používala cloudflare_ruleset ↗ resources s http_request_firewall_custom fázi ke správě vlastních pravidel. Více informací o aktualizaci konfigurace Terraformu najdete v Relevantní změny pro uživatele Terraformu.
Relevantní změny pro uživatele dashboardu
Záložka Firewall Rules v dashboardu Cloudflare je nyní zastaralá. Firewallová pravidla se zobrazují jako vlastní pravidla v Cloudflare dashboardu.
Pro uživatele s přístupem k oběma produktům Firewall rules je dostupná pouze ve starém dashboardu v Security > WAF.
Relevantní změny pro uživatele API
The Firewall Rules API a přidružený Cloudflare Filters API jsou nyní zastaralé (deprecated). Tato API nejsou od 2025-06-15 podporována. Veškerou automatizaci založenou na Firewall Rules API nebo Cloudflare Filters API musíte ručně převést na Rulesets API abyste předešli problémům. ID pravidel se mezi firewall rules a vlastními pravidly liší, což může ovlivnit automatizované procesy pracující s konkrétními ID pravidel.
Před datem ukončení podpory těchto API Cloudflare interně převede vaše Firewall Rules API a Filters API volání na odpovídající Rulesets API volání. Převedená API volání mezi Firewall Rules API/Filters API a Rulesets API se v auditních protokolech zobrazují jako vygenerovaná Cloudflarem, nikoli skutečným uživatelem, který požadavky provedl. Pro firewallová pravidla i vlastní pravidla WAF bude existovat jediný společný seznam pravidel.
Některé nové funkce vlastních pravidel WAF, jako jsou vlastní odpovědi pro blokované požadavky a Skip, nejsou v rozhraní Firewall Rules API podporovány. Chcete-li tyto funkce využívat, Cloudflare doporučuje používat stránku vlastních pravidel v Cloudflare dashboardu nebo Rulesets API.
Viz dokumentace WAF pro příklady správy vlastních pravidel WAF pomocí Rulesets API.
Relevantní změny pro uživatele Terraformu
Následující Terraform zdroje z Cloudflare provideru jsou nyní zastaralé (deprecated):
Tyto resources nejsou od 2025-06-15 nadále podporovány. Pokud je používáte ke správě konfigurace Firewall Rules, musíte ručně aktualizovat veškerou Terraform konfiguraci na cloudflare_ruleset ↗ resources, abyste předešli problémům.
Bude existovat jediný seznam pravidel pro firewall rules i vlastní pravidla WAF.
Některé nové funkce vlastních pravidel WAF nejsou v zastaralých Terraform resources podporovány. Chcete-li tyto funkce využít, Cloudflare doporučuje použít cloudflare_ruleset zdroj.
Podívejte se do dokumentace o Terraformu na příklady konfigurace vlastních pravidel WAF pomocí Terraformu.
Nahraďte svou konfiguraci pomocí cf-terraforming
Můžete použít cf-terraforming ↗ nástroj k vygenerování Terraform konfigurace pro vaše aktuální vlastní pravidla WAF (převedená Cloudflarem z vašich firewall rules). Poté nové resources importujte do Terraform state.
Doporučené kroky pro nahrazení konfigurace firewall rules (a filtrů) v Terraformu novou konfigurací sady pravidel jsou následující.
-
Spuštěním následujícího příkazu vygenerujete všechny konfigurace sad pravidel pro zónu:
cf-terraforming generate --zone <ZONE_ID> --resource-type "cloudflare_ruleset"resource "cloudflare_ruleset" "terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31" { kind = "zone" name = "default" phase = "http_request_firewall_custom" zone_id = "<ZONE_ID>" rules { [...] } [...] } [...] -
Předchozí příkaz může vrátit další konfigurace sad pravidel pro jiné produkty Cloudflare, které jsou také založeny na Ruleset Engine. Protože migrujete firewallová pravidla na vlastní pravidla, ponechte pouze Terraform resource pro
http_request_firewall_customfáze a uložte jej do.tfkonfiguračním souboru. Úplný název resource budete potřebovat v dalším kroku. -
Importujte
cloudflare_rulesetresource, který jste dříve identifikovali, do Terraform state pomocíterraform importpříkaz. Například:terraform import cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31 zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Importing from ID "zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31"... cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Import prepared! Prepared cloudflare_ruleset for import cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31] Import successful! The resources that were imported are shown above. These resources are now in your Terraform state and will henceforth be managed by Terraform. -
Spusťte
terraform plank ověření, že Terraform nyní kontroluje stav novýchcloudflare_rulesetresource, vedle dalších existujících resources již spravovaných Terraformem. Například:terraform plancloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31] [...] cloudflare_filter.my_filter: Refreshing state... [id=14a2524fd75c419f8d273116815b6349] cloudflare_firewall_rule.my_firewall_rule: Refreshing state... [id=0580eb5d92e344ddb2374979f74c3ddf] [...] -
Odstraňte ze svého stavu Terraformu veškerý stav související s firewallovými pravidly a filtry:
-
Spusťte následující příkaz pro nalezení všech zdrojů souvisejících s firewallovými pravidly a filtry:
terraform state list | grep -E '^cloudflare_(filter|firewall_rule)\.'cloudflare_filter.my_filter cloudflare_firewall_rule.my_firewall_rule -
Spusťte
terraform state rm ...příkaz v režimu dry-run, abyste pochopili dopad odstranění těchto resources bez provedení jakýchkoli změn:terraform state rm -dry-run cloudflare_filter.my_filter cloudflare_firewall_rule.my_firewall_ruleWould remove cloudflare_filter.my_filter Would remove cloudflare_firewall_rule.my_firewall_rule -
Pokud dopad vypadá správně, spusťte stejný příkaz bez
-dry-runparametr ke skutečnému odstranění resources ze stavu Terraformu:terraform state rm cloudflare_filter.my_filter cloudflare_firewall_rule.my_firewall_ruleRemoved cloudflare_filter.my_filter Removed cloudflare_firewall_rule.my_firewall_rule Successfully removed 2 resource instance(s).
-
-
Po odstranění zdrojů firewallových pravidel a filtrů ze stavu Terraformu smažte
cloudflare_filteracloudflare_firewall_rulezdroje z.tfkonfigurační soubory. -
Spusťte
terraform plank ověření, že se resources smazané z konfiguračních souborů již nezobrazují. Neměli byste mít žádné čekající změny.terraform plancloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31] [...] No changes. Your infrastructure matches the configuration. Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed.
Podrobnosti o importu zdrojů Cloudflare do Terraformu a použití cf-terraforming nástroj, podívejte se na následující zdroje:
Závěrečné poznámky
Všechna nepozastavená firewallová pravidla s pozastavenými filtry budou po převodu na vlastní pravidla povolena.