← Cloudflare Ruleset Engine / ruleset-engine / managed-rulesets
Nasazení spravované sady pravidel
Spravovanou sadu pravidel můžete nasadit na úrovni zóny nebo na úrovni účtu. Chcete-li nasadit spravovanou sadu pravidel do fáze, použijte Rulesets API.
Pokud používáte Terraform, přečtěte si Konfigurace WAF Managed Rules pomocí Terraformu s dalšími informacemi.
Pokud používáte Cloudflare dashboard, přečtěte si následující stránky:
- Nasazení spravované sady pravidel WAF v dashboardu (zóna)
- Nasazení spravované sady pravidel WAF v dashboardu (účet)
Nasazení spravované sady pravidel do fáze na úrovni zóny
Spravovaný ruleset nasadíte do fáze na úrovni zóny podle následujícího postupu.
- Získejte svůj ID zóny.
- Vyvolejte Seznam sad pravidel na úrovni účtu operaci a získejte dostupné spravované sady pravidel. Spravované sady pravidel existují na úrovni účtu, ale můžete je nasadit do zóny. Najděte ID sady pravidel spravované sady pravidel, kterou chcete nasadit.
- Identifikujte fáze kde chcete nasadit spravovanou sadu pravidel. Ujistěte se, že spravovaná sada pravidel patří do stejné fáze, do které ji chcete nasadit.
- Přidejte pravidlo do fáze na úrovni zóny vstupní sada pravidel , které spouští spravovanou sadu pravidel. Podrobnosti k tomuto kroku najdete v následujícím příkladu.
Příklad
Následující příklad nasadí Cloudflare Managed Ruleset do http_request_firewall_managed fáze dané zóny ($ZONE_ID) vytvořením pravidla, které spouští spravovanou sadu pravidel.
-
Vyvolejte Získání vstupní sady pravidel zóny operaci k získání definice vstupní sady pravidel pro
http_request_firewall_managedfáze. Budete potřebovat ID zóny pro tento úkol.Získání vstupní sady pravidel zónycurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{ "result": { "description": "Zone-level phase entry point", "id": "<RULESET_ID>", "kind": "zone", "last_updated": "2024-03-16T15:40:08.202335Z", "name": "zone", "phase": "http_request_firewall_managed", "rules": [ // ... ], "source": "firewall_managed", "version": "10" }, "success": true, "errors": [], "messages": [] } -
Pokud vstupní sada pravidel již existuje (to znamená, pokud jste obdrželi
200 OKstavový kód a definici sady pravidel), poznamenejte si ID sady pravidel z odpovědi. Poté zavolejte Vytvoření pravidla sady pravidel zóny operaci pro přidáníexecutepravidlo do stávající sady pravidel nasazující Cloudflare Managed Ruleset (s IDefb7b8c949ac4650a09736fc376e9aee). Ve výchozím nastavení se pravidlo přidá na konec seznamu pravidel, která už v sadě pravidel jsou.Vytvoření pravidla sady pravidel zónycurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "true", "description": "Execute the Cloudflare Managed Ruleset" }'{ "result": { "id": "<RULESET_ID>", "name": "Zone-level phase entry point", "description": "", "kind": "zone", "version": "11", "rules": [ // ... any existing rules { "id": "<RULE_ID>", "version": "1", "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee", "version": "latest" }, "expression": "true", "description": "Execute the Cloudflare Managed Ruleset", "last_updated": "2024-03-18T18:08:14.003361Z", "ref": "<RULE_REF>", "enabled": true } ], "last_updated": "2024-03-18T18:08:14.003361Z", "phase": "http_request_firewall_managed" }, "success": true, "errors": [], "messages": [] } -
Pokud vstupní sada pravidel neexistuje (to znamená, pokud jste obdrželi
404 Not Foundstavový kód v kroku 1), vytvořte ji pomocí Vytvoření rulesetu zóny operaci. Zahrňte jedno pravidlo dorulespole, které spouští Cloudflare Managed Ruleset (s IDefb7b8c949ac4650a09736fc376e9aee) pro všechny příchozí požadavky v zóně.Vytvoření rulesetu zónycurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "name": "My ruleset", "description": "Entry point ruleset for WAF managed rulesets", "kind": "zone", "phase": "http_request_firewall_managed", "rules": [ { "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "true", "description": "Execute the Cloudflare Managed Ruleset" } ] }'
V tomto příkladu spravovaný ruleset provádí chování nakonfigurované Cloudflare. Chcete-li chování spravovaných rulesetů přizpůsobit, přečtěte si Přepsání spravované sady pravidel.
Nasazení spravované sady pravidel do fáze na úrovni účtu
Spravovaný ruleset nasadíte do fáze na úrovni účtu podle následujícího postupu.
- Získejte svůj ID účtu.
- Vyvolejte Seznam sad pravidel na úrovni účtu operaci a získejte dostupné spravované sady pravidel. Najděte ID sady pravidel spravované sady pravidel, kterou chcete nasadit.
- Identifikujte fáze kde chcete nasadit spravovanou sadu pravidel. Ujistěte se, že spravovaná sada pravidel patří do stejné fáze, do které ji chcete nasadit.
- Přidejte pravidlo do fáze na úrovni účtu vstupní sada pravidel , které spouští spravovanou sadu pravidel. Veškeré vlastní podmínky ve výrazu pravidla uzavřete do závorek a výraz ukončete
and cf.zone.plan eq "ENT"tak, aby platilo pouze pro zóny v plánu Enterprise. Podrobnosti k tomuto kroku najdete v následujícím příkladu.
Příklad
Následující příklad nasadí Cloudflare Managed Ruleset do http_request_firewall_managed fáze daného účtu ($ACCOUNT_ID) vytvořením pravidla, které spustí spravovanou sadu pravidel. Pravidla ve spravované sadě pravidel se spouštějí, když název zóny odpovídá jedné z hodnot example.com nebo anotherexample.com.
-
Vyvolejte Získání vstupní sady pravidel účtu operaci k získání definice vstupní sady pravidel pro
http_request_firewall_managedfáze. Budete potřebovat ID účtu pro tento úkol.
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Account WAF WriteAccount WAF ReadAccount Rulesets ReadAccount Rulesets Write
Získání vstupní sady pravidel účtucurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{ "result": { "description": "Account-level phase entry point", "id": "<RULESET_ID>", "kind": "root", "last_updated": "2024-03-16T15:40:08.202335Z", "name": "root", "phase": "http_request_firewall_managed", "rules": [ // ... ], "source": "firewall_managed", "version": "10" }, "success": true, "errors": [], "messages": [] } -
Pokud vstupní sada pravidel již existuje (to znamená, pokud jste obdrželi
200 OKstavový kód a definici sady pravidel), poznamenejte si ID sady pravidel z odpovědi. Poté zavolejte Vytvoření pravidla sady pravidel účtu operaci pro přidáníexecutepravidlo do stávající sady pravidel nasazující Cloudflare Managed Ruleset (s IDefb7b8c949ac4650a09736fc376e9aee). Ve výchozím nastavení se pravidlo přidá na konec seznamu pravidel, která už v sadě pravidel jsou.
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Account WAF WriteAccount Rulesets Write
Vytvoření pravidla sady pravidel účtucurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/$RULESET_ID/rules" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "(cf.zone.name in {\"example.com\" \"anotherexample.com\"}) and cf.zone.plan eq \"ENT\"", "description": "Execute the Cloudflare Managed Ruleset" }'{ "result": { "id": "<RULESET_ID>", "name": "Account-level phase entry point", "description": "", "kind": "root", "version": "11", "rules": [ // ... any existing rules { "id": "<RULE_ID>", "version": "1", "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee", "version": "latest" }, "expression": "(cf.zone.name in {\"example.com\" \"anotherexample.com\"}) and cf.zone.plan eq \"ENT\"", "description": "Execute the Cloudflare Managed Ruleset", "last_updated": "2024-03-18T18:30:08.122758Z", "ref": "<RULE_REF>", "enabled": true } ], "last_updated": "2024-03-18T18:30:08.122758Z", "phase": "http_request_firewall_managed" }, "success": true, "errors": [], "messages": [] } -
Pokud vstupní sada pravidel neexistuje (to znamená, pokud jste obdrželi
404 Not Foundstavový kód v kroku 1), vytvořte ji pomocí Vytvořte account ruleset operaci. Zahrňte jedno pravidlo dorulespole, které spouští Cloudflare Managed Ruleset (s IDefb7b8c949ac4650a09736fc376e9aee) pro všechny příchozí požadavky, kde název zóny odpovídá jedné z hodnotexample.comneboanotherexample.com.
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Account WAF WriteAccount Rulesets Write
Vytvořte account rulesetcurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "name": "My ruleset", "description": "Entry point ruleset for WAF managed rulesets", "kind": "root", "phase": "http_request_firewall_managed", "rules": [ { "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "(cf.zone.name in {\"example.com\" \"anotherexample.com\"}) and cf.zone.plan eq \"ENT\"", "description": "Execute the Cloudflare Managed Ruleset" } ] }'
V tomto příkladu spravovaný ruleset provádí chování nakonfigurované Cloudflare. Chcete-li se dozvědět, jak přizpůsobit chování spravovaných rulesetů, přečtěte si Přepsání spravované sady pravidel.