← Dokumentace WAF / managed-rules / reference / owasp-core-ruleset
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:
- Nastavení úrovně paranoie.
- Konfigurace prahu skóre.
- Zadejte akci, která se má provést když je skóre hrozby vyšší než prahová hodnota.
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í:
paranoia-level-1paranoia-level-2paranoia-level-3paranoia-level-4
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.
-
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 účtucurl "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": [] } -
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 vaction_parametersobjekt (ID). Toto pravidlo existuje pouze v případě, že jste již nasadili sadu pravidel OWASP. 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": { "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": [] } -
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-3aparanoia-level-4.Aktualizace pravidla v rulesetu zónycurl "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é:
- Určuje akci, která se má provést v
action(vlastnost). Dostupné akce jsou:js_challenge(Non-Interactive Challenge),managed_challenge(Managed Challenge),block(výchozí),challenge(Interactive Challenge) alog. - Definuje požadovaný práh skóre anomálie (celočíselná hodnota) v
score_threshold(vlastnost).
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.
-
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 účtucurl "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": [] } -
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 účtucurl "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": [] } -
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 vaction_parametersobjekt (ID). Toto pravidlo existuje pouze v případě, že jste již nasadili sadu pravidel OWASP. 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": { "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": [] } -
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ónycurl "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.