Dokumentace Domluvit pilot

Přidat výjimku přes API

Chcete-li přidat výjimku pro spravovaná pravidla pomocí API, vytvořte pravidlo s skip akce v vstupní sada pravidel fáze http_request_firewall_managed fáze. Výjimky můžete definovat na úrovni účtu i na úrovni zóny. Výjimky se také nazývají pravidla přeskočení.

Chcete-li nakonfigurovat výjimku, definujte action_parameters objekt podle typu výjimky. Podívejte se na následující příklady:

Další informace o vytváření výjimek pomocí API najdete v Vytvoření výjimky v dokumentaci k Ruleset Engine.

Příklady

Přeskočit všechna zbývající pravidla

Následující příklad přidá pravidlo, které přeskočí všechna zbývající pravidla ve vstupní sadě pravidel u požadavků odpovídajících dev.example.com název hostitele.

  1. Vyvolejte Získání vstupní sady pravidel zóny operaci k získání aktuální konfigurace vstupní sady pravidel http_request_firewall_managed fáze.

    Získání vstupní sady pravidel zóny
    curl "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": {
    		"id": "060013b1eeb14c93b0dcd896537e0d2c", // entry point ruleset ID
    		"name": "default",
    		"description": "",
    		"source": "firewall_managed",
    		"kind": "zone",
    		"version": "3",
    		"rules": [
    			// (...)
    		],
    		"last_updated": "2024-01-20T14:29:00.190643Z",
    		"phase": "http_request_firewall_managed"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }

    Uložte si ID vstupní sady pravidel (060013b1eeb14c93b0dcd896537e0d2c) pro další krok.

  2. Vyvolejte Vytvoření pravidla sady pravidel zóny operaci (a POST požadavek), přidáte výjimku (neboli pravidlo přeskočení) na začátek seznamu pravidel, protože pravidlo přeskočení platí pouze pro pravidla uvedená za ním. Přesné umístění pravidla je definováno v position objekt.

    Vytvoření pravidla sady pravidel zóny
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$ENTRY_POINT_RULESET_ID/rules" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"expression": "(http.host eq \"dev.example.com\")",
    		"description": "Skip managed rules for dev.example.com",
    		"action": "skip",
    		"action_parameters": {
    				"ruleset": "current"
    		},
    		"position": {
    				"before": ""
    		}
    	}'

Další informace o přeskočení všech zbývajících pravidel přes API najdete v Vytvoření výjimky v dokumentaci k Ruleset Engine.

Přeskočit Cloudflare Managed Ruleset

Následující příklad přidá pravidlo, které přeskočí Cloudflare Managed Ruleset pro požadavky odpovídající dev.example.com název hostitele.

  1. Vyvolejte Získání vstupní sady pravidel zóny operaci k získání aktuální konfigurace vstupní sady pravidel http_request_firewall_managed fáze.

    Získání vstupní sady pravidel zóny
    curl "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": {
    		"id": "060013b1eeb14c93b0dcd896537e0d2c", // entry point ruleset ID
    		"name": "default",
    		"description": "",
    		"source": "firewall_managed",
    		"kind": "zone",
    		"version": "3",
    		"rules": [
    			// (...)
    			{
    				"id": "1bdb49371c1f46958fc8b985efcb79e7", // `execute` rule ID
    				"version": "1",
    				"action": "execute",
    				"expression": "true",
    				"last_updated": "2024-01-20T14:21:28.643979Z",
    				"ref": "1bdb49371c1f46958fc8b985efcb79e7",
    				"enabled": true,
    				"action_parameters": {
    					"id": "efb7b8c949ac4650a09736fc376e9aee", // "Cloudflare Managed Ruleset" ID
    					"version": "latest"
    				}
    			}
    			// (...)
    		],
    		"last_updated": "2024-01-20T14:29:00.190643Z",
    		"phase": "http_request_firewall_managed"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }

    Najděte pravidlo, které nasazuje Cloudflare Managed Ruleset, vyhledáním execute pravidlo s action_parameters > id rovné (ID spravované sady pravidel).

    Uložte si následující ID pro další krok:

    • ID vstupní sady pravidel (060013b1eeb14c93b0dcd896537e0d2c v tomto příkladu)
    • ID execute nasazení pravidla pro spravovanou sadu pravidel (1bdb49371c1f46958fc8b985efcb79e7 v tomto příkladu)
  2. Vyvolejte Vytvoření pravidla sady pravidel zóny operaci (a POST požadavek), přidáte výjimku (neboli pravidlo přeskočení) přímo před execute pravidlo nasazující Cloudflare Managed Ruleset, protože pravidlo přeskočení se vztahuje pouze na pravidla uvedená za ním. Přesné umístění pravidla je definováno v position objekt.

    Vytvoření pravidla sady pravidel zóny
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$ENTRY_POINT_RULESET_ID/rules" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"expression": "(http.host eq \"dev.example.com\")",
    		"description": "Skip the Cloudflare Managed Ruleset for dev.example.com",
    		"action": "skip",
    		"action_parameters": {
    				"rulesets": [
    						"efb7b8c949ac4650a09736fc376e9aee"
    				]
    		},
    		"position": {
    				"before": "1bdb49371c1f46958fc8b985efcb79e7"
    		}
    	}'

Další informace o přeskočení jedné nebo více spravovaných sad pravidel přes API najdete v Vytvoření výjimky v dokumentaci k Ruleset Engine.

Přeskočit jedno nebo více pravidel spravovaných sad pravidel WAF

Následující příklad přidá pravidlo, které přeskočí konkrétní pravidlo z Cloudflare Managed Ruleset pro požadavky odpovídající dev.example.com název hostitele.

  1. Vyvolejte Získání sady pravidel zóny operaci k získání seznamu pravidel v Cloudflare Managed Ruleset (ID sady pravidel ).
    Podrobnosti o spravované sadě pravidel můžete získat pomocí endpointu na úrovni účtu (Získání sady pravidel účtu) nebo koncový bod na úrovni zóny (Získání sady pravidel zóny).

    Získání sady pravidel zóny
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/efb7b8c949ac4650a09736fc376e9aee" \
    	--request GET \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
    {
    	"result": {
    		"id": "efb7b8c949ac4650a09736fc376e9aee",
    		"name": "Cloudflare Managed Ruleset",
    		"description": "Created by the Cloudflare security team, this ruleset is designed to provide fast and effective protection for all your applications. It is frequently updated to cover new vulnerabilities and reduce false positives.",
    		"source": "firewall_managed",
    		"kind": "managed",
    		"version": "180",
    		"rules": [
    			// (...)
    			{
    				"id": "d9e350f1b72d4730899c8a420e48a85d", // ID of rule to skip
    				"version": "180",
    				"action": "block",
    				"categories": ["file-inclusion", "october-cms"],
    				"description": "October CMS - File Inclusion",
    				"last_updated": "2024-02-05T07:12:54.565276Z",
    				"ref": "adb550873eb92d32372ed08514d33241",
    				"enabled": true
    			}
    			// (...)
    		],
    		"last_updated": "2024-02-05T07:12:54.565276Z",
    		"phase": "http_request_firewall_managed"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }

    Poznamenejte si ID pravidla, které chcete přeskočit ( v tomto příkladu).

  2. Vyvolejte Získání vstupní sady pravidel zóny operaci k získání aktuální konfigurace vstupní sada pravidel http_request_firewall_managed fáze.

    Získání vstupní sady pravidel zóny
    curl "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": {
    		"id": "060013b1eeb14c93b0dcd896537e0d2c", // entry point ruleset ID
    		"name": "default",
    		"description": "",
    		"source": "firewall_managed",
    		"kind": "zone",
    		"version": "3",
    		"rules": [
    			// (...)
    			{
    				"id": "1bdb49371c1f46958fc8b985efcb79e7", // `execute` rule ID
    				"version": "1",
    				"action": "execute",
    				"expression": "true",
    				"last_updated": "2024-01-20T14:21:28.643979Z",
    				"ref": "1bdb49371c1f46958fc8b985efcb79e7",
    				"enabled": true,
    				"action_parameters": {
    					"id": "efb7b8c949ac4650a09736fc376e9aee", // "Cloudflare Managed Ruleset" ID
    					"version": "latest"
    				}
    			}
    			// (...)
    		],
    		"last_updated": "2024-01-20T14:29:00.190643Z",
    		"phase": "http_request_firewall_managed"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }

    Najděte pravidlo, které nasazuje Cloudflare Managed Ruleset, vyhledáním execute pravidlo s action_parameters > id rovné (ID spravované sady pravidel).

    Uložte si následující ID pro další krok:

    • ID vstupní sady pravidel (060013b1eeb14c93b0dcd896537e0d2c v tomto příkladu)
    • ID execute pravidlo nasazující Cloudflare Managed Ruleset (1bdb49371c1f46958fc8b985efcb79e7 v tomto příkladu)

    Budete také potřebovat následující ID:

    • ID Cloudflare Managed Ruleset ()
    • ID pravidla, které se má přeskočit ( v tomto příkladu)
  3. Vyvolejte Vytvoření pravidla sady pravidel zóny operaci (a POST požadavek), přidáte výjimku (neboli pravidlo přeskočení) přímo před execute pravidlo nasazující Cloudflare Managed Ruleset, protože pravidlo přeskočení se vztahuje pouze na pravidla uvedená za ním.

    Vytvoření pravidla sady pravidel zóny
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$ENTRY_POINT_RULESET_ID/rules" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"expression": "(http.host eq \"dev.example.com\")",
    		"description": "Skip a single rule for dev.example.com",
    		"action": "skip",
    		"action_parameters": {
    				"rules": {
    						"efb7b8c949ac4650a09736fc376e9aee": [
    								"d9e350f1b72d4730899c8a420e48a85d"
    						]
    				}
    		},
    		"position": {
    				"before": "1bdb49371c1f46958fc8b985efcb79e7"
    		}
    	}'

action_parameters > rules objekt obsahuje ID Cloudflare Managed Ruleset spolu se seznamem ID pravidel, která se mají přeskočit (v tomto případě jen jedno pravidlo). position objekt definuje přesné umístění pravidla v sadě pravidel vstupního bodu (před pravidlem 1bdb49371c1f46958fc8b985efcb79e7).

Další informace o přeskočení jednoho nebo více pravidel spravovaných sad pravidel přes API najdete v Vytvoření výjimky v dokumentaci k Ruleset Engine.

Požádejte o pilot zdarma

Domluvit pilot