INTEGRITY Dokumentace

Konfigurace přes API

Pro povolení Cloudflare OWASP Core Ruleset pro danou zónu pomocí API vytvořte pravidlo s execute akci ve vstupní sadě pravidel pro http_request_firewall_managed fáze. Více informací o nasazení spravované sady pravidel najdete v Nasazení spravované sady pravidel.

Chcete-li Cloudflare OWASP Core Ruleset nakonfigurovat pomocí API, vytvořte overrides pomocí Rulesets API. Můžete provést následující konfigurace:

Konkrétní pravidla ve spravované sadě můžete také zakázat pomocí přepisy pravidel.

Nastavení úrovně paranoie

Chcete-li povolit všechna pravidla až do konkrétní paranoia level, vytvořte tag overrides které zakazují všechna pravidla přiřazená k vyšším úrovním paranoia.

Tagy přiřazené jednotlivým úrovním paranoie jsou následující:

Chcete-li například povolit všechna pravidla přiřazená k Paranoia Level 2 (PL2), zakažte pravidla přiřazená k tagům paranoia-level-3 a paranoia-level-4. Povolí se všechna pravidla přiřazená k úrovním paranoie až do požadované úrovně (v tomto příkladu všechna pravidla přiřazená k PL1 a PL2).

Příklad

Tento příklad nastavuje paranoia level sady Cloudflare OWASP Core Ruleset pro zónu na PL2. K provedení této konfigurace musíte zakázat tagy přiřazené k úrovním PL3 a PL4 (paranoia-level-3 a paranoia-level-4) pomocí tag overrides.

  1. Získejte ID sady Cloudflare OWASP Core Ruleset pomocí Výpis sad pravidel účtu metodu, protože spravované sady pravidel WAF existují na úrovni účtu. Případně použijte přímo následující ID sady pravidel: .

    Výpis sad pravidel účtu
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \
    	--request GET \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
    {
    	"result": [
    		{
    			"id": "4814384a9e5d4991b9815dcfc25d2f1f",
    			"name": "Cloudflare OWASP Core Ruleset",
    			"description": "Cloudflare's implementation of the Open Web Application Security Project (OWASP) ModSecurity Core  Rule Set. We routinely monitor for updates from OWASP based on the latest version available from the official  code repository",
    			"source": "firewall_managed",
    			"kind": "managed",
    			"version": "35",
    			"last_updated": "2022-01-24T21:08:20.293196Z",
    			"phase": "http_request_firewall_managed"
    		}
    		// (...)
    	],
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  2. Získejte ID pravidla, které nasazuje OWASP ruleset do vaší zóny, pomocí Získání vstupní sady pravidel zóny. Vyhledejte pravidlo s "action": "execute" nakonfigurovaný s ID sady pravidel OWASP v action_parameters objekt (ID ). Toto pravidlo existuje pouze v případě, že jste již nasadili sadu pravidel OWASP.

    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": "<ENTRY_POINT_RULESET_ID>",
    		"name": "zone",
    		"description": "",
    		"source": "firewall_managed",
    		"kind": "zone",
    		"version": "3",
    		"rules": [
    			// (...)
    			{
    				"id": "<EXECUTE_RULE_ID>",
    				"version": "1",
    				"action": "execute",
    				"action_parameters": {
    					"id": "4814384a9e5d4991b9815dcfc25d2f1f",
    					"version": "latest"
    				},
    				"expression": "true",
    				"last_updated": "2022-02-04T16:27:58.930927Z",
    				"ref": "<RULE_REF>",
    				"enabled": true
    			}
    			// (...)
    		],
    		"last_updated": "2022-02-07T10:41:31.702744Z",
    		"phase": "http_request_firewall_managed"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  3. Aktualizujte identifikované pravidlo pomocí Aktualizace pravidla v rulesetu zóny operaci s přidáním tag overrides, které zakážou pravidla s tagy paranoia-level-3 a paranoia-level-4.

    Aktualizace pravidla v rulesetu zóny
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$ENTRY_POINT_RULESET_ID/rules/$EXECUTE_RULE_ID" \
    	--request PATCH \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"action": "execute",
    		"action_parameters": {
    				"id": "4814384a9e5d4991b9815dcfc25d2f1f",
    				"overrides": {
    						"categories": [
    								{
    										"category": "paranoia-level-3",
    										"enabled": false
    								},
    								{
    										"category": "paranoia-level-4",
    										"enabled": false
    								}
    						]
    				}
    		},
    		"expression": "true",
    		"enabled": true
    	}'

Další informace o vytváření přepsání (overrides) viz Přepis spravované sady pravidel.

Konfigurace prahu skóre a akce

Pro definici práh skóre, nebo k určení akce která se má provést, když je skóre hrozby vyšší než práh, vytvořte přepis pravidla u posledního pravidla ve spravované sadě pravidel, které:

Příklad

Tento příklad konfiguruje práh skóre spravované sady pravidel a prováděnou akci vytvořením přepsání pro poslední pravidlo spravované sady.

  1. Získejte ID sady Cloudflare OWASP Core Ruleset pomocí Výpis sad pravidel účtu metodu, protože spravované sady pravidel WAF existují na úrovni účtu. Případně použijte přímo následující ID sady pravidel: .

    Výpis sad pravidel účtu
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \
    	--request GET \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
    {
    	"result": [
    		{
    			"id": "4814384a9e5d4991b9815dcfc25d2f1f",
    			"name": "Cloudflare OWASP Core Ruleset",
    			"description": "Cloudflare's implementation of the Open Web Application Security Project (OWASP) ModSecurity Core Rule Set. We routinely monitor for updates from OWASP based on the latest version available from the official code repository",
    			"source": "firewall_managed",
    			"kind": "managed",
    			"version": "35",
    			"last_updated": "2022-01-24T21:08:20.293196Z",
    			"phase": "http_request_firewall_managed"
    		}
    		// (...)
    	],
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  2. Získejte ID poslední pravidlo v sadě Cloudflare OWASP Core Ruleset. Použijte Získání rulesetu účtu metodu k získání seznamu pravidel v sadě. Případně použijte přímo následující ID pravidla: .

    Získání rulesetu účtu
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/$OWASP_RULESET_ID" \
    	--request GET \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
    {
    	"result": {
    		"id": "4814384a9e5d4991b9815dcfc25d2f1f",
    		"name": "Cloudflare OWASP Core Ruleset",
    		"description": "Cloudflare's implementation of the Open Web Application Security Project (OWASP) ModSecurity Core Rule Set. We routinely monitor for updates from OWASP based on the latest version available from the official code repository",
    		"source": "firewall_managed",
    		"kind": "managed",
    		"version": "36",
    		"rules": [
    			// (...)
    			{
    				"id": "6179ae15870a4bb7b2d480d4843b323c",
    				"version": "35",
    				"action": "block",
    				"score_threshold": 40,
    				"description": "949110: Inbound Anomaly Score Exceeded",
    				"last_updated": "2022-02-08T16:11:18.236676Z",
    				"ref": "ad0beb2fce9f149e565ee78d6e659d47",
    				"enabled": true
    			}
    		],
    		"last_updated": "2022-02-08T16:11:18.236676Z",
    		"phase": "http_request_firewall_managed"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  3. Získejte ID pravidla, které nasazuje OWASP ruleset do vaší zóny, pomocí Získání vstupní sady pravidel zóny (v tomto příkladu <EXECUTE_RULE_ID>). Vyhledejte pravidlo s "action": "execute" nakonfigurovaný s ID sady pravidel OWASP v action_parameters objekt (ID ). Toto pravidlo existuje pouze v případě, že jste již nasadili sadu pravidel OWASP.

    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": "<ENTRY_POINT_RULESET_ID>",
    		"name": "zone",
    		"description": "",
    		"source": "firewall_managed",
    		"kind": "zone",
    		"version": "3",
    		"rules": [
    			// (...)
    			{
    				"id": "<EXECUTE_RULE_ID>",
    				"version": "1",
    				"action": "execute",
    				"action_parameters": {
    					"id": "4814384a9e5d4991b9815dcfc25d2f1f",
    					"version": "latest"
    				},
    				"expression": "true",
    				"last_updated": "2022-02-04T16:27:58.930927Z",
    				"ref": "<RULE_REF>",
    				"enabled": true
    			}
    			// (...)
    		],
    		"last_updated": "2022-02-07T10:41:31.702744Z",
    		"phase": "http_request_firewall_managed"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  4. Aktualizujte pravidlo, které jste identifikovali v entry point rulesetu, pomocí Aktualizace pravidla v rulesetu zóny operaci a přidejte přepis pravidla pro poslední pravidlo v sadě OWASP (identifikované v kroku 2) s následujícími vlastnostmi a hodnotami:

    • "score_threshold": 60
    • "action": "managed_challenge"
    Aktualizace pravidla v rulesetu zóny
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$ENTRY_POINT_RULESET_ID/rules/$EXECUTE_RULE_ID" \
    	--request PATCH \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"action": "execute",
    		"action_parameters": {
    				"id": "4814384a9e5d4991b9815dcfc25d2f1f",
    				"overrides": {
    						"rules": [
    								{
    										"id": "6179ae15870a4bb7b2d480d4843b323c",
    										"score_threshold": 60,
    										"action": "managed_challenge"
    								}
    						]
    				}
    		},
    		"expression": "true",
    		"enabled": true
    	}'

Další zdroje

Další příklady API najdete v Příklady overrides v dokumentaci Ruleset Engine.