Dokumentace Domluvit pilot

Upgrade pravidel firewallu

Cloudflare převedl stávající pravidla brány firewall do vlastní pravidla. S vlastními pravidly získáte stejnou úroveň ochrany a několik dalších funkcí navíc. Vlastní pravidla najdete na dashboardu Cloudflare na tomto místě:

Hlavní rozdíly

Hlavní rozdíly mezi pravidly firewallu a WAF custom rules jsou následující:

Vylepšená odpověď pro akci Block

Ve vlastních pravidlech WAF můžete přizpůsobit odpověď akce Block akce.

Výchozí blokovací odpověď je standardní stránka HTML od Cloudflare. Pokud potřebujete odeslat vlastní odpověď pro Block akce nakonfigurujte custom rule tak, aby vracelo pevně stanovenou 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 zablokované pravidlem firewallu s Block akce by získala Cloudflare chybový kód 1020 odpověď. Uživatelé Cloudflare mohli tuto chybovou stránku pro zónu přizpůsobit v Chybové stránky > chyby třídy 1000.

Požadavky zablokované pravidlem WAF custom rule obdrží jinou odpověď: blokovací odpověď WAF. Chcete-li výchozí blokovací odpověď upravit, můžete buď:

Pokud jste si přizpůsobili chybovou stránku 1XXX v Chybových stránkách pro požadavky blokované pravidly firewallu, budete muset vytvořit novou odpovědní stránku pro blokované požadavky pomocí jedné z výše uvedených metod.

Další informace o Error Pages najdete v Vlastní chyby.

Nová akce Skip nahrazující akce Allow a Bypass

Firewall Rules podporovaly Allow a Bypass akce, které se často používaly společně. Tyto akce se běžně používaly ke zpracování známých legitimních požadavků, například požadavků přicházejících z důvěryhodných IP adres.

Když požadavek vyvolal Allow, se zbývající pravidla firewallu nevyhodnocovala, což požadavku umožnilo pokračovat k dalšímu bezpečnostnímu produktu. Pravidlo Bypass akce byla navržena k určení, které bezpečnostní produkty (například WAF managed rules, rate limiting rules a User Agent Blocking) se nemají u požadavku spouštějícího tuto akci vyhodnocovat.

Pokud byste chtěli pomocí Firewall Rules zastavit spuštění všech bezpečnostních produktů u daného požadavku, vytvořili byste dvě pravidla:

Požadavek na dvě pravidla řešící tento běžný scénář se na WAF custom rules už nevztahuje. Nyní byste měli použijte Přeskočit akce, který kombinuje Allow a Bypass akce. Přeskočit akce plně nahrazuje Allow a Bypass akce, které nejsou ve WAF custom rules podporovány.

S Přeskočit akce můžete provést následující:

Můžete také vybrat, zda chcete zaznamenávat události odpovídající vlastnímu pravidlu pomocí Přeskočit akce, nebo ne. To je užitečné zejména při vytváření pozitivního bezpečnostního modelu, kdy chcete zabránit zaznamenávání velkého množství legitimního provozu.

Vlastní pravidla se vyhodnocují v pořadí

Akce pravidel firewallu měly konkrétní pořadí priority při použití pořadí podle priority. Akce vlastních pravidel naproti tomu takové pořadí nemají. Vlastní pravidla se vždy vyhodnocují v pořadí a některé akce, například Block zastaví vyhodnocování dalších pravidel.

Pokud byste například používali řazení podle priority a měli následující pravidla firewallu se stejnou prioritou, přičemž obě odpovídají příchozímu požadavku:

Požadavek by byl povolen, protože Allow akce ve Firewall Rules by měla přednost před Block jako akci.

Naproti tomu pokud vytvoříte dvě vlastní pravidla a příchozímu požadavku odpovídají obě:

Požadavek by byl zablokován, protože vlastní pravidla se vyhodnocují v pořadí a Block akce zastaví vyhodnocování dalších pravidel.

Protokoly a události

Události zaznamenané vlastními pravidly se zobrazují v Security Events hodnotou Custom Rules jako svůj zdroj.

Na stránce Security Events se mohou stále zobrazovat události vygenerované Firewall Rules, pokud vyberete časové období zahrnující dny, kdy proběhl přechod na vlastní pravidla. Stejně tak se mohou stále zobrazovat události s oběma Přeskočit a Allow akce ve stejném zobrazení během přechodného období.

Nové prostředky API a Terraform

Preferovaným API pro správu WAF custom rules je Rulesets API. Rulesets API se používá napříč všemi novějšími bezpečnostními produkty Cloudflare, aby při interakci s naším API poskytovalo jednotný uživatelský zážitek. Další informace o migraci na Rulesets API najdete v Relevantní změny pro uživatele API.

Firewall Rules API a Filters API již od 2025-06-15 nejsou podporovány. Nyní existuje jediný seznam pravidel jak pro firewall rules, tak pro WAF custom rules, přičemž tento seznam obsahuje WAF custom rules. Díky internímu procesu převodu vracejí Firewall Rules API a Filters API pravidla firewallu/filtry převedené z těchto WAF custom rules, a to až do data ukončení podpory těchto API.

Pokud používáte Terraform, musíte upravit konfiguraci tak, aby používala cloudflare_ruleset ↗ prostředky pomocí http_request_firewall_custom fáze pro správu vlastních pravidel. Další informace o aktualizaci konfigurace Terraformu najdete v Relevantní změny pro uživatele Terraformu.

Relevantní změny pro uživatele dashboardu

Karta Firewall Rules v dashboardu Cloudflare je nyní zastaralá. Pravidla firewallu se zobrazují jako vlastní pravidla na Cloudflare dashboardu.

U uživatelů, kteří mají přístup k oběma produktům, Pravidla firewallu karta je k dispozici pouze ve starém dashboardu v Security > WAF.

Relevantní změny pro uživatele API

Firewall Rules API a přidružené Cloudflare Filters API jsou nyní zastaralé. Tato API už od 2025-06-15 nejsou podporována. Musíte manuálně aktualizovat veškerou automatizaci založenou na Firewall Rules API nebo Cloudflare Filters API na Rulesets API, abyste předešli případným problémům. ID pravidel se liší mezi firewall rules a custom rules, což může ovlivnit automatizované procesy pracující s konkrétními ID pravidel.

Před datem ukončení podpory 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á volání API mezi Firewall Rules API/Filters API a Rulesets API se v protokolech auditu zobrazují jako vygenerovaná Cloudflare, a ne skutečným uživatelem, který požadavky odeslal. Pro firewall pravidla i vlastní pravidla WAF bude existovat jediný seznam pravidel.

Některé nové funkce vlastních pravidel WAF, jako jsou vlastní odpovědi pro blokované požadavky a Přeskočit akce, nejsou v Firewall Rules API podporovány. Chcete-li tyto funkce využít, Cloudflare doporučuje použít stránku custom rules v Cloudflare dashboardu nebo Rulesets API.

Viz dokumentaci WAF pro příklady správy vlastních pravidel WAF pomocí rozhraní Rulesets API.

Relevantní změny pro uživatele Terraformu

Následující prostředky Terraform z poskytovatele Cloudflare jsou nyní zastaralé:

Tyto resource už od 2025-06-15 nejsou podporovány. Pokud tyto resource používáte ke správě konfigurace Firewall Rules, musíte veškerou konfiguraci Terraformu manuálně aktualizovat na cloudflare_ruleset ↗ prostředky, abyste předešli problémům.

Pro firewallová pravidla i WAF custom rules bude existovat jediný seznam pravidel.

Některé nové funkce vlastních pravidel WAF nejsou v zastaralých prostředcích Terraform podporovány. Pokud chcete tyto funkce využít, Cloudflare doporučuje použít cloudflare_ruleset prostředek.

Viz dokumentaci k Terraformu pro příklady konfigurace vlastních pravidel WAF pomocí Terraformu.

Nahraďte konfiguraci pomocí cf-terraforming

Můžete použít cf-terraforming ↗ nástroj k vygenerování konfigurace Terraformu pro vaše aktuální WAF custom rules (převedená Cloudflare z vašich firewall rules). Poté nové prostředky importujte do stavu Terraformu.

Doporučené kroky pro nahrazení konfigurace vašich pravidel firewallu (a filtrů) v Terraformu novou konfigurací sady pravidel jsou následující.

  1. Následujícím příkazem vygenerujte 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 {
        [...]
      }
      [...]
    }
    [...]
  2. Předchozí příkaz může vrátit také konfigurace dalších sad pravidel pro jiné produkty Cloudflare založené na Ruleset Engine. Vzhledem k tomu, že migrujete pravidla firewallu na vlastní pravidla, ponechte pouze Terraform resource pro http_request_firewall_custom fáze a uložit ji do .tf konfiguračního souboru. V dalším kroku budete potřebovat celý název prostředku.

  3. Importujte cloudflare_ruleset prostředek, který jste dříve identifikovali, do stavu Terraformu pomocí terraform import příkaz. Například:

    terraform import cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31 zone/<ZONE_ID>/3c0b456bc2aa443089c5f40f45f51b31
    cloudflare_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.
  4. Spustit terraform plan, abyste ověřili, že Terraform nyní kontroluje stav nového cloudflare_ruleset prostředek, a to vedle dalších existujících prostředků, které již Terraform spravuje. Například:

    terraform plan
    
    cloudflare_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]
    [...]
  5. Ze stavu Terraformu odstraňte veškerý stav související s firewall rules a filtry:

    1. Následujícím příkazem najdete všechny prostředky související s pravidly firewallu a filtry:

      terraform state list | grep -E '^cloudflare_(filter|firewall_rule)\.'
      cloudflare_filter.my_filter
      cloudflare_firewall_rule.my_firewall_rule
    2. Spustit terraform state rm ... v režimu dry-run, abyste zjistili dopad odstranění těchto zdrojů bez provedení jakýchkoli změn:

      terraform state rm -dry-run cloudflare_filter.my_filter cloudflare_firewall_rule.my_firewall_rule
      Would remove cloudflare_filter.my_filter
      Would remove cloudflare_firewall_rule.my_firewall_rule
    3. Pokud dopad vypadá správně, spusťte stejný příkaz bez -dry-run parametr, aby se prostředky skutečně odebraly ze stavu Terraformu:

      terraform state rm cloudflare_filter.my_filter cloudflare_firewall_rule.my_firewall_rule
      Removed cloudflare_filter.my_filter
      Removed cloudflare_firewall_rule.my_firewall_rule
      Successfully removed 2 resource instance(s).
  6. Po odebrání prostředků pravidel firewallu a filtrů ze stavu Terraform odstraňte cloudflare_filter a cloudflare_firewall_rule prostředky z .tf konfiguračních souborů.

  7. Spustit terraform plan, abyste ověřili, že se prostředky, které jste odstranili z konfiguračních souborů, už nezobrazují. Neměly by vám zůstat žádné čekající změny.

    terraform plan
    cloudflare_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 prostředků Cloudflare do Terraformu a používání cf-terraforming nástroj, přečtěte si následující zdroje:

Závěrečné poznámky

Jakákoli nepozastavená pravidla firewallu s pozastaveným filtry se aktivují po převodu na custom rules.

Požádejte o pilot zdarma

Domluvit pilot