Dokumentace Domluvit pilot

Nasazení spravované sady pravidel WAF přes API (účet)

Použijte Rulesets API k nasazení spravované sady pravidel WAF do http_request_firewall_managed fáze na úrovni účtu.

WAF Managed Rules stránka obsahuje ID jednotlivých spravovaných sad pravidel WAF. Tyto informace budete potřebovat při nasazování sad pravidel přes API.

Pokud používáte Terraform, přečtěte si Konfigurace WAF Managed Rules pomocí Terraformu.

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.

  1. Vyvolejte Získání vstupní sady pravidel účtu operaci k získání definice vstupní sady pravidel pro http_request_firewall_managed fáze. Budete potřebovat ID účtu pro tento úkol.

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • Account WAF Write
    • Account WAF Read
    • Account Rulesets Read
    • Account Rulesets Write
    Získání vstupní sady pravidel účtu
    curl "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": []
    }
  2. Pokud vstupní sada pravidel již existuje (to znamená, pokud jste obdrželi 200 OK stavový 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í execute pravidlo do stávající sady pravidel nasazující Cloudflare Managed Ruleset (s ID efb7b8c949ac4650a09736fc376e9aee). Ve výchozím nastavení se pravidlo přidá na konec seznamu pravidel, která už v sadě pravidel jsou.

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • Account WAF Write
    • Account Rulesets Write
    Vytvoření pravidla sady pravidel účtu
    curl "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": []
    }
  3. Pokud vstupní sada pravidel neexistuje (to znamená, pokud jste obdrželi 404 Not Found stavový kód v kroku 1), vytvořte ji pomocí Vytvořte account ruleset operaci. Zahrňte jedno pravidlo do rules pole, které spouští Cloudflare Managed Ruleset (s ID efb7b8c949ac4650a09736fc376e9aee) pro všechny příchozí požadavky, kde název zóny odpovídá jedné z hodnot example.com nebo anotherexample.com.

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • Account WAF Write
    • Account Rulesets Write
    Vytvořte account ruleset
    curl "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"
    				}
    		]
    	}'

Další kroky

Chcete-li přizpůsobit chování pravidel obsažených ve spravované sadě pravidel, vytvořit přepis.

Chcete-li přeskočit provedení spravovaných sad pravidel WAF nebo některých jejich pravidel, vytvořit výjimku (nazývané také přeskakovací pravidlo).

Výjimky mají přednost před přepsáními.

Další zdroje

Pokyny k nasazení spravované sady pravidel na úrovni zóny pomocí API najdete v Nasazení spravované sady pravidel WAF přes API (zóna).

Další informace o práci se spravovanými sadami pravidel přes API najdete v Práce se spravovanými sadami pravidel v dokumentaci k Ruleset Engine.

Požádejte o pilot zdarma

Domluvit pilot