← Dokumentace WAF / managed-rules / reference / owasp-core-ruleset
Nastavení přes API
Chcete-li povolit Cloudflare OWASP Core Ruleset pro danou zónu pomocí API, vytvořte pravidlo s execute akce ve vstupní sadě pravidel pro http_request_firewall_managed fáze. Další informace o nasazení spravované sady pravidel najdete v Nasazení spravované sady pravidel.
Chcete-li nakonfigurovat Cloudflare OWASP Core Ruleset pomocí API, vytvořte přepisy pomocí Rulesets API. Můžete provést následující konfigurace:
- Nastavte úroveň paranoie.
- Konfigurace prahové hodnoty skóre.
- Zadejte akci, kterou chcete provést když je skóre hrozby vyšší než prahová hodnota.
V rámci spravované sady pravidel můžete také zakázat konkrétní pravidla pomocí přepsání pravidel.
Nastavte úroveň paranoie
Chcete-li povolit všechna pravidla až po konkrétní paranoia level, vytvořte přepsání štítků které deaktivují všechna pravidla přiřazená vyšším úrovním paranoia.
Štítky přiřazené jednotlivým úrovním paranoia jsou následující:
paranoia-level-1paranoia-level-2paranoia-level-3paranoia-level-4
Pokud chcete povolit všechna pravidla přiřazená k úrovni paranoie 2 (PL2), zakažte pravidla přiřazená ke štítkům paranoia-level-3 a paranoia-level-4. Povolí se všechna pravidla přiřazená úrovním paranoia level až do požadované úrovně (v tomto příkladu všechna pravidla přiřazená PL1 a PL2).
Příklad
Tento příklad nastavuje paranoia level Cloudflare OWASP Core Ruleset pro zónu na PL2. K provedení této konfigurace musíte deaktivovat štítky přiřazené úrovním PL3 a PL4 (paranoia-level-3 a paranoia-level-4) pomocí tag overrides.
-
Získejte ID Cloudflare OWASP Core Ruleset pomocí Seznam sad pravidel na úrovni účtu metodu, protože spravované sady pravidel WAF existují na úrovni účtu. Případně použijte přímo následující ID sady pravidel:
. Seznam sad pravidel na úrovni úč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 sadu pravidel OWASP 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 bude existovat pouze v případě, že jste už 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, pomocí Aktualizace pravidla v sadě pravidel zóny operaci, přičemž přidáte přepsání podle štítků, která deaktivují pravidla se štítky
paranoia-level-3aparanoia-level-4.Aktualizace pravidla v sadě pravidel 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řepisů najdete v Přepsání spravované sady pravidel.
Konfigurace prahové hodnoty skóre a akce
Chcete-li definovat prahová hodnota skóre, nebo pro určení action, kterou chcete provést v případě, že skóre hrozby překročí prahovou hodnotu, vytvořte přepsání pravidla pro poslední pravidlo ve spravované sadě pravidel, které:
- Určuje akci, kterou provést v
actionvlastnost. Dostupné akce jsou:js_challenge(Non-Interactive Challenge),managed_challenge(Managed Challenge),block(výchozí),challenge(Interactive Challenge) alog. - Určuje požadovanou prahovou hodnotu skóre anomálie (celé číslo) v
score_thresholdvlastnost.
Příklad
Tento příklad konfiguruje prahovou hodnotu skóre spravované sady pravidel a prováděnou akci vytvořením přepsání pravidla pro poslední pravidlo spravované sady pravidel.
-
Získejte ID Cloudflare OWASP Core Ruleset pomocí Seznam sad pravidel na úrovni účtu metodu, protože spravované sady pravidel WAF existují na úrovni účtu. Případně použijte přímo následující ID sady pravidel:
. Seznam sad pravidel na úrovni úč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í sady pravidel účtu metodu k získání seznamu pravidel v sadě pravidel. Případně použijte přímo následující ID pravidla:
. Získání sady pravidel úč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 sadu pravidel OWASP 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 bude existovat pouze v případě, že jste už 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 ve vstupní sadě pravidel, pomocí Aktualizace pravidla v sadě pravidel zóny operaci, přičemž přidáte přepsání pravidla pro poslední pravidlo v sadě pravidel OWASP (identifikované v kroku 2) s následujícími vlastnostmi a hodnotami:
"score_threshold": 60"action": "managed_challenge"
Aktualizace pravidla v sadě pravidel 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 přepisů v dokumentaci k Ruleset Engine.