INTEGRITY Dokumentace

Upgrade spravovaných pravidel WAF

Dne 2022-05-04 zahájil Cloudflare upgrade z předchozí verze spravovaných pravidel WAF na nový WAF Managed Rules, čímž umožnil migraci první skupině způsobilých zón. V současnosti mohou na WAF Managed Rules přejít všechny zóny včetně partnerských účtů.

Cloudflare postupně upgraduje všechny zóny na novou verzi WAF Managed Rules. Proces upgradu můžete pro zónu spustit také ručně v Cloudflare dashboardu nebo přes API. Upgrade je nevratný — jakmile upgradujete na nové WAF Managed Rules, nemůžete se vrátit k předchozí verzi.

Pokud používáte starý dashboard, po dokončení upgradu se vaše pravidla zobrazí v jiném uživatelském rozhraní v Security > WAF > Spravovaná pravidla záložku. Pokud používáte nový bezpečnostní dashboard, vaše upgradovaná pravidla se zobrazí v Security > Bezpečnostní pravidla.

Po upgradu navíc přestanou fungovat API spravovaných pravidel WAF.

Hlavní výhody

Nová verze WAF Managed Rules přináší oproti předchozí verzi následující výhody:

Více informací o výhodách WAF Managed Rules najdete v našem blogový příspěvek.


Dopad upgradu

Budete moci upgradovat všechny své zóny, které nemají WAF přepisy založené na URI. Po přechodu na nový WAF se na vaši zónu bude vztahovat stejná ochrana.

Většina nastavení konfigurace z předchozí verze spravovaných pravidel WAF bude povýšena na novou verzi, ale některé specifické konfigurace původně definované v OWASP ModSecurity Core Rule Set budou ztraceny — v případě potřeby je budete muset v nových WAF Managed Rules vytvořit znovu.

Pro uživatele API: API pro správu předchozí verze spravovaných pravidel WAF přestanou po upgradu fungovat. Ke správě nových WAF Managed Rules musíte používat Rulesets API.

Konfigurace, které budou upgradovány

Proces upgradu vytvoří ekvivalentní konfiguraci pro následující nastavení spravovaných pravidel WAF:

Konfigurace sady pravidel OWASP bude upgradována částečně. Podrobnosti najdete v následující sekci.

Konfigurace, které budou při upgradu ztraceny

Proces upgradu částečně zmigruje nastavení OWASP ModSecurity Core Rule Set dostupná v předchozí verzi spravovaných pravidel WAF.

Migrována budou následující nastavení OWASP:

Následující nastavení OWASP budou not migrovat, protože mezi pravidly obou verzí neexistuje přímá ekvivalence:

Pro nahrazení těchto nastavení budete muset znovu nakonfigurovat Cloudflare OWASP Core Ruleset ve WAF Managed Rules podle svých potřeb, zejména případné přepisy tagů/pravidel. Více informací o konfiguraci nového OWASP Core Ruleset najdete v Cloudflare OWASP Core Ruleset.

Konfigurace, které vám zabrání v upgradu

Pokud má zóna WAF přepisy založené na URI (dostupné pouze přes API), nebudete mít možnost přejít na WAF Managed Rules. Pro přechod na WAF Managed Rules musíte:

  1. Odstraňte všechna existující přepsání WAF založená na URI pomocí Odstranění přepsání WAF operace.
  2. Postupujte podle procesu upgradu popsaného níže.

Změny v Cloudflare dashboardu

Po dokončení procesu upgradu zobrazí Cloudflare dashboard vaše pravidla v:

Na rozdíl od starých spravovaných pravidel WAF již neexistuje globální přepínač pro zapnutí WAF. Místo toho nasazujete každou spravovanou sadu pravidel ve své zóně jednotlivě.

Další informace o nasazení WAF Managed Rules v dashboardu Cloudflare viz Nasazení spravované sady pravidel WAF v dashboardu.

Změny v API

Po dokončení upgradu API pro práci se spravovanými pravidly WAF přestanou fungovat. Jde o následující API:

Pro práci s WAF Managed Rules musíte použít Rulesets API. Další informace o nasazení WAF Managed Rules přes API viz Nasazení spravované sady pravidel WAF přes API (zóna).

Změny v Terraformu

Po dokončení upgradu následující Terraform resources pro konfiguraci spravovaných pravidel WAF přestanou fungovat:

Tyto resources byly podporovány v Terraform Cloudflare provideru pouze do verze 3.35. Verze 4.x tyto resources už nepodporuje.

Ke správě konfigurace nových WAF Managed Rules pomocí Terraformu musíte použít cloudflare_ruleset resources.


Způsobilé zóny

Fáze 2 (od 2022-09-19)

Ve fázi 2 jsou pro upgrade způsobilé všechny zóny. Přesný postup upgradu se liší podle vašeho plánu Cloudflare.

Poznámka: Zóny, které mají WAF přepisy založené na URI, které bylo možné spravovat pouze přes API, nebudou moci přejít na nová WAF Managed Rules okamžitě. Před migrací musíte tyto overrides smazat.

Fáze 1 (od 2022-05-04)

Ve fázi 1 se upgrade zpřístupnil podmnožině způsobilých zón, které musely splňovat následující požadavky:


Zahájení upgradu

Upgrade WAF můžete zahájit v Cloudflare dashboardu nebo přes API.

Pomocí dashboardu

  1. Přihlaste se do Dashboard Cloudflare, a vyberte svůj účet a zónu.

  2. A) Pokud používáte starý dashboard:

    • Přejděte na Security > WAF > Spravovaná pravidla záložku.

    B) Pokud používáte nový bezpečnostní dashboard:

    1. Přejděte na Bezpečnostní pravidla stránku.

      Přejděte na Bezpečnostní pravidla ↗
    2. Vyberte Přejít na upgrade spravovaných pravidel (Managed rules).

    Pokud jste zákazníkem Enterprise, dashboard zobrazí následující banner:

    Banner upgradu zobrazovaný zákazníkům Enterprise.

    Pokud jste zákazník Professional/Business, dashboard zobrazí následující banner:

    Banner upgradu zobrazovaný zákazníkům Pro/Business.
  3. V upgrade banneru vyberte Kontrola konfigurace. Tento banner se zobrazuje pouze ve způsobilých zónách.

  4. Zkontrolujte navrhovanou konfiguraci WAF. Konfiguraci můžete upravit, například úpravy konfigurace WAF Managed Rules nebo vytvoření výjimky k přeskočení vykonávání sad pravidel nebo konkrétních pravidel.

  5. Po dokončení kontroly vyberte Deploy k nasazení nové konfigurace WAF Managed Rules.

    Pokud jste zákazník Professional/Business, Cloudflare nasadí novou konfiguraci WAF a poté zakáže předchozí verzi WAF. Proces upgradu může trvat několik minut.

    Pokud jste zákazníkem Enterprise, budou po výběru aktivní obě implementace WAF současně, jakmile vyberete Deploy, abyste mohli novou konfiguraci ověřit. Další pokyny najdete v krocích v následující sekci.

Ověřte novou konfiguraci WAF a dokončete upgrade (pouze zákazníci Enterprise)

Pokud jste zákazník na plánu Enterprise, po nasazení nové konfigurace WAF budou obě implementace WAF zapnuty současně. Během této fáze (tzv. validačního režimu) máte v dashboardu Cloudflare přístup k oběma implementacím WAF Managed Rules a dashboard bude až do dokončení upgradu zobrazovat banner upgradu. Nová WAF Managed Rules poběží před předchozí verzí.

  1. Použijte aktuální validační režim ke kontrole chování nové konfigurace WAF v Security Events. Více informací najdete v Analýza chování nového WAF v Security Events.

  2. Až dokončíte kontrolu konfigurace s oběma zapnutými WAF, vyberte Připraveno k aktualizaci v banneru upgradu a poté vyberte Vypnutí předchozí verze. Tato operace dokončí upgrade a zakáže předchozí verzi WAF.

Po dokončení upgradu dashboard zobrazí všechna vaše upgradovaná pravidla v:

Pro ověření, zda upgrade skončil, obnovte dashboard.

Použití API

  1. Použijte Kontrola kompatibility aktualizace WAF operaci ke zjištění, zda zóna může s ohledem na svou aktuální konfiguraci přejít na nový WAF:

    curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/waf_migration/check?phase_two=1" \
    --header "Authorization: Bearer <API_TOKEN>"

    Příklad odpovědi:

    {
    	"result": {
    		"compatible": true,
    		"migration_state": "start"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }

    Pokud odpověď obsahuje "compatible": true, znamená to, že zóna může přejít na nový WAF a můžete pokračovat v procesu upgradu. Pokud odpověď obsahuje "compatible": false, znamená to, že vaše zóna není při současné konfiguraci pro upgrade způsobilá. Viz Způsobilé zóny s podrobnostmi.

  2. Chcete-li získat novou konfiguraci WAF odpovídající vaší aktuální konfiguraci, použijte Získání konfigurace nového WAF operaci:

    curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/waf_migration/config?phase_two=1" \
    --header "Authorization: Bearer <API_TOKEN>"

    Příklad odpovědi:

    {
    	"result": {
    		"name": "default",
    		"rules": [
    			{
    				"id": "",
    				"version": "",
    				"action": "execute",
    				"expression": "true",
    				"description": "",
    				"ref": "",
    				"enabled": true,
    				"action_parameters": {
    					"id": "efb7b8c949ac4650a09736fc376e9aee",
    					"overrides": {
    						"rules": [
    							{
    								"id": "23ee7cebe6e8443e99ecf932ab579455",
    								"action": "log",
    								"enabled": false
    							}
    						]
    					}
    				}
    			}
    		]
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }

Vrácená konfigurace ve výše uvedeném příkladu, která by odpovídala existující konfiguraci předchozí verze WAF, obsahuje:

  1. (Volitelné, pouze pro zákazníky Enterprise) Pokud upgradujete zónu Enterprise na WAF Managed Rules, můžete před dokončením upgradu vstoupit do validačního režimu. V tomto režimu budou aktivní obě implementace WAF. Použijte Aktualizace entry point rulesetu zóny operaci a nezapomeňte zahrnout waf_migration=validation&phase_two=1 parametry query stringu:

    curl --request PUT \
    "https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/http_request_firewall_managed/entrypoint?waf_migration=validation&phase_two=1" \
    --header "Authorization: Bearer <API_TOKEN>" \
    --header "Content-Type: application/json" \
    --data '{
      "name": "default",
      "rules": [
        {
          "action": "execute",
          "expression": "true",
          "description": "",
          "enabled": true,
          "action_parameters": {
            "id": "efb7b8c949ac4650a09736fc376e9aee",
            "overrides": {
              "rules": [
                {
                  "id": "23ee7cebe6e8443e99ecf932ab579455",
                  "action": "log",
                  "enabled": false
                }
              ]
            }
          }
        }
      ]
    }'

    Po zavolání tohoto API endpointu budou zapnuty jak spravovaná pravidla WAF (stará verze), tak WAF Managed Rules. Zkontrolujte vzorkované logy v Security Events, zda není blokován legitimní provoz, a proveďte potřebné úpravy konfigurace WAF Managed Rules. Můžete například přidat override pro jedno pravidlo, kterým jej zakážete nebo změníte jeho akci.

  2. Pro dokončení upgradu a vypnutí spravovaných pravidel WAF nastavte konfiguraci nového WAF pomocí nastavení, která jste získali v kroku 2 a případně upravili v kroku 3. Nezapomeňte zahrnout waf_migration=pending&phase_two=1 parametry query stringu.

    curl --request PUT \
    "https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/http_request_firewall_managed/entrypoint?waf_migration=pending&phase_two=1" \
    --header "Authorization: Bearer <API_TOKEN>" \
    --header "Content-Type: application/json" \
    --data '{
      "name": "default",
      "rules": [
        {
          "id": "",
          "version": "",
          "action": "execute",
          "expression": "true",
          "description": "",
          "ref": "",
          "enabled": true,
          "action_parameters": {
            "id": "efb7b8c949ac4650a09736fc376e9aee",
            "overrides": {
              "rules": [
                {
                  "id": "23ee7cebe6e8443e99ecf932ab579455",
                  "action": "log",
                  "enabled": false
                }
              ]
            }
          }
        }
      ]
    }'

Jakmile je poskytnutá konfigurace uložena a nová WAF Managed Rules zapnuta, předchozí verze spravovaných pravidel WAF se automaticky vypne kvůli přítomnosti waf_migration=pending&phase_two=1 parametry. Tím zajistíte, že vaše zóna zůstane během procesu aktualizace chráněna jednou z verzí WAF.


Analýza chování nového WAF v Security Events

Pro zákazníky Enterprise

Pokud jste zákazník Enterprise, použijte validační režim procesu upgradu WAF ke kontrole chování nové konfigurace WAF Managed Rules. Cloudflare aktivuje validační režim po nasazení nové konfigurace WAF. V tomto režimu je předchozí verze WAF stále aktivní, takže během procesu upgradu můžete ověřit chování nové konfigurace. Nová WAF Managed Rules poběží před předchozí verzí.

Přejděte na vzorkované logy v Security Events během validačního režimu a zkontrolujte následující:

Pro zákazníky Business/Professional

Zákazníci Business a Professional nemají přístup k validačnímu režimu, což znamená, že chování nového WAF budou moci zkontrolovat až po upgradu na nové WAF Managed Rules.

V dnech po upgradu kontrolujte vzorkované logy v Security Events a hledejte legitimní požadavky blokované WAF Managed Rules. Pokud identifikujete nesprávně blokované požadavky, změňte akci příslušného pravidla WAF na Log. Další informace o změně akce pravidla spravované sady viz Konfigurace jednotlivých pravidel spravované sady.

Dále zkontrolujte požadavky, které měly být blokovány. V takové situaci zvažte vytvoření firewallové pravidlo nebo Vlastní pravidlo WAF k blokování těchto požadavků.


Operace API

Upgrade na nová WAF Managed Rules přes API vyžaduje vyvolání následujících API operací:

Název Metoda + endpoint Popis
Zkontrolovat WAF
kompatibilita aktualizací
GET /zones/<ZONE_ID>/waf_migration/check?phase_two=1 Zkontroluje, zda lze aktuální zónu vzhledem k její současné konfiguraci aktualizovat na nový WAF.
Získání nového WAF
konfigurace
GET /zones/<ZONE_ID>/waf_migration/config?phase_two=1 Získá konfiguraci nových WAF Managed Rules, která je ekvivalentní aktuální konfiguraci (předchozí verze spravovaných pravidel WAF).
Aktualizace zóny
vstupní sada pravidel (entry point ruleset)
PUT /zones/<ZONE_ID>/rulesets/ phases/http_request_firewall_managed/entrypoint?waf_migration=<VALUE>&phase_two=1 Aktualizuje konfiguraci entry point rulesetu zóny pro fázi http_request_firewall_managed fáze.
Dostupné hodnoty pro waf_migration query string parametr:
pending / 1: Definuje novou konfiguraci WAF Managed Rules a zakáže předchozí verzi spravovaných pravidel WAF, jakmile je poskytnutá konfigurace uložena a nový WAF povolen.
validation / 2: (Pouze Enterprise zóny) Definuje novou konfiguraci WAF Managed Rules a povolí nová WAF Managed Rules souběžně s předchozí verzí, čímž se vstoupí do validačního režimu. Pro opuštění validačního režimu a dokončení upgradu vyvolejte stejný API endpoint s waf_migration=pending.
Získání stavu WAF GET /zones/<ZONE_ID>/waf_migration/status Získá stav starých a nových spravovaných pravidel WAF pro zónu (povoleno/zakázáno). Odpověď obsahuje také aktuální stav (nebo režim) upgradu.

Pro získání úplného endpointu musíte před výše uvedené endpointy připojit základní URL Cloudflare API:

https://api.cloudflare.com/client/v4


Možné chyby upgradu

Kontaktujte Podpora Cloudflare pro pomoc s následujícími chybami:


Další zdroje

Konfigurace nových WAF Managed Rules pomocí Cloudflare API

Místo dřívějších API pro správu WAF balíčků, skupin pravidel a pravidel nyní musíte používat Rulesets API k programové konfiguraci WAF Managed Rules.

Můžete také vytvořit overrides k určení změn, které se provedou nad výchozí konfigurací WAF Managed Rules. Tyto změny budou mít přednost před výchozím chováním spravované sady pravidel.

Více informací najdete v následujících zdrojích:

Konfigurace nových WAF Managed Rules pomocí Terraformu

Místo dřívějších resources pro správu WAF balíčků, skupin pravidel a pravidel nyní musíte používat cloudflare_ruleset Terraform resource pro konfiguraci WAF Managed Rules. Příklady konfigurace viz Konfigurace WAF Managed Rules pomocí Terraformu.

Nahraďte svou konfiguraci pomocí cf-terraforming

Můžete použít cf-terraforming nástroj k vygenerování Terraform konfigurace pro vaši novou konfiguraci WAF Managed Rules po upgradu. Poté nové resources importujte do Terraform state.

Doporučené kroky pro nahrazení staré konfigurace spravovaných pravidel WAF v Terraformu novou konfigurací založenou na sadách pravidel pro nová WAF Managed Rules jsou následující:

  1. 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_managed"
      zone_id = "<ZONE_ID>"
      rules {
        [...]
      }
      [...]
    }
    [...]
  2. 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 hledáte konfiguraci WAF Managed Rules, ponechte pouze Terraform zdroj pro http_request_firewall_managed fáze a uložte jej do .tf konfiguračním souboru. Úplný název resource budete potřebovat v dalším kroku.

  3. Importujte cloudflare_ruleset resource, který jste dříve identifikovali, do Terraform state 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. Spusťte terraform plan k ověření, že Terraform nyní kontroluje stav nových cloudflare_ruleset resource, vedle dalších existujících resources již spravovaných Terraformem. Například:

    terraform plan
    
    cloudflare_ruleset.terraform_managed_resource_3c0b456bc2aa443089c5f40f45f51b31: Refreshing state... [id=3c0b456bc2aa443089c5f40f45f51b31]
    [...]
    cloudflare_waf_package.my_package: Refreshing state... [id=14a2524fd75c419f8d273116815b6349]
    cloudflare_waf_group.my_group: Refreshing state... [id=0580eb5d92e344ddb2374979f74c3ddf]
    [...]
  5. Odstraňte ze svého stavu Terraformu veškerý stav související s předchozí verzí spravovaných pravidel WAF:

    1. Spuštěním následujícího příkazu najdete všechny resources související s předchozí verzí spravovaných pravidel WAF:

      terraform state list | grep -E '^cloudflare_waf_(package|group|rule)\.'
      cloudflare_waf_package.my_package
      cloudflare_waf_group.my_group
    2. 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_waf_package.my_package cloudflare_waf_group.my_group
      Would remove cloudflare_waf_package.my_package
      Would remove cloudflare_waf_group.my_group
    3. Pokud dopad vypadá správně, spusťte stejný příkaz bez -dry-run parametr ke skutečnému odstranění resources ze stavu Terraformu:

      terraform state rm cloudflare_waf_package.my_package cloudflare_waf_group.my_group
      Removed cloudflare_waf_package.my_package
      Removed cloudflare_waf_group.my_group
      Successfully removed 2 resource instance(s).
  6. Po odstranění resources WAF balíčků, skupin a pravidel z Terraform state smažte cloudflare_waf_package, cloudflare_waf_group a cloudflare_waf_rule zdroje z .tf konfigurační soubory.

  7. Spusťte terraform plan k ověření, že se resources smazané z konfiguračních souborů již nezobrazují. Neměli byste mít žá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 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

Koncept úroveň paranoie neexistovala ve verzi OWASP (2.x) používané ve spravovaných pravidlech WAF. Na základě doporučení průvodce OWASP nastaví proces migrace WAF úroveň paranoie Cloudflare OWASP Core Ruleset na PL2.

Novou verzi WAF Managed Rules nelze vypnout pomocí Page Rules, protože Web Application Firewall: Off nastavení v Page Rules se vztahuje pouze na předchozí verzi spravovaných pravidel WAF. Pro zakázání nových WAF Managed Rules musíte nakonfigurovat výjimky (známé také jako skip pravidla).