← Dokumentace WAF / managed-rules / reference
Cloudflare Managed Ruleset
Tuto sadu pravidel vytvořil bezpečnostní tým Cloudflare a poskytuje rychlou a účinnou ochranu pro všechny vaše aplikace. Sada pravidel se pravidelně aktualizuje, aby pokryla nové zranitelnosti a snížila počet falešně pozitivních výsledků.
Cloudflare doporučuje povolit pravidla, jejichž štítky odpovídají vašemu technologickému stacku. Pokud například používáte WordPress, povolte pravidla se štítkem wordpress.
Cloudflare Changelog WAF umožňuje sledovat průběžné změny ve WAF managed rulesets.
Nasaďte Cloudflare Managed Ruleset
-
V dashboardu Cloudflare přejděte na Security Nastavení stránce.
Přejděte na Nastavení ↗ -
(Volitelné) Filtrujte podle Zneužití webových aplikací.
-
Zapněte spravovaná sada pravidel Cloudflare.
-
Zkontrolujte nastavení nasazení. V případě potřeby upravte rozsah, aby se sada pravidel použila jen na podmnožinu příchozích požadavků, nebo nakonfigurujte vlastní nastavení (známé také jako přepisy).
-
Vyberte Save.
Tato operace nasadí spravovanou sadu pravidel pro aktuální zónu a vytvoří nové pravidlo s Spustit jako akci.
Nastavení v dashboardu
Sadu Cloudflare Managed Ruleset můžete konfigurovat (nebo přepsat její výchozí nastavení) na několika úrovních:
Když vytvoříte několik přepsání na různých úrovních, konkrétnější konfigurace (na úrovni tagu a pravidla) mají přednost před méně konkrétními konfiguracemi (na úrovni sady pravidel). Viz Přepsání spravované sady pravidel v dokumentaci Ruleset Engine, kde najdete další informace.
Konfigurace na úrovni sady pravidel
V Cloudflare dashboardu můžete konfigurovat (nebo přepsat) následující nastavení sady Cloudflare Managed Ruleset:
-
Rozsah: Pokud pro rozsah definujete vlastní filtrovací výraz, Cloudflare Managed Ruleset se použije jen na podmnožinu příchozích požadavků. Ve výchozím nastavení se spravovaná sada pravidel nasazená v dashboardu vztahuje na veškerý příchozí provoz.
-
Akce sady pravidel: Když pro sadu pravidel definujete akci, přepíšete tím výchozí akci definovanou pro každé pravidlo. Dostupné akce jsou: Block, Log, Non-Interactive Challenge, Managed Challenge, a Interactive Challenge. Chcete-li odebrat přepsání akce na úrovni sady pravidel, nastavte akci sady pravidel na Výchozí.
-
Stav rulesetu: Aktivuje nebo deaktivuje všechna pravidla v sadě pravidel.
-
Protokolování payloadu: Pokud je povoleno, zaznamenává informace o požadavku (payload), které spustily konkrétní pravidlo spravované sady pravidel. Pro šifrování payloadu musíte nakonfigurovat veřejný klíč.
Jakmile máte nasadili Cloudflare Managed Ruleset, pro konfiguraci v dashboardu postupujte takto:
-
V dashboardu Cloudflare přejděte na Bezpečnostní pravidla stránce.
Přejděte na Bezpečnostní pravidla ↗ -
(Volitelné) Filtrujte podle Spravovaná pravidla.
-
Vyhledejte Cloudflare Managed Ruleset. Vyhledejte pravidlo s Spustit jako akci.
-
Vyberte název pravidla (obsahující název spravované sady pravidel) a otevřete stránku konfigurace nasazení.
-
(Volitelné) Chcete-li spustit Cloudflare Managed Ruleset jen pro podmnožinu příchozích požadavků, vyberte Úprava nastavení scope a nakonfigurovat výraz který určí rozsah aktuálního pravidla nasazujícího spravovanou sadu pravidel.
-
V sekci konfigurace sady pravidel definujte nastavení pro všechna pravidla v sadě Cloudflare Managed Ruleset nastavením jednoho nebo více polí pomocí rozevíracích seznamů.
Můžete například vybrat akci, která se má provést pro všechna pravidla v sadě pravidel.
-
Vyberte Save.
Konfigurace na úrovni tagu
V dashboardu můžete konfigurovat (nebo přepsat) následující nastavení sady Cloudflare Managed Ruleset pro pravidla označená alespoň jedním z vybraných štítků:
- Akce pravidla: Nastaví akci pravidla pro všechna pravidla s vybranými štítky. Dostupné akce jsou: Block, Log, Non-Interactive Challenge, Managed Challenge, a Interactive Challenge.
- Stav pravidla: Nastaví stav pravidla pro všechna pravidla s vybranými štítky.
Jakmile máte nasadili Cloudflare Managed Ruleset, pro konfiguraci pravidel s konkrétními tagy v dashboardu postupujte takto:
-
V dashboardu Cloudflare přejděte na Bezpečnostní pravidla stránce.
Přejděte na Bezpečnostní pravidla ↗ -
(Volitelné) Filtrujte podle Spravovaná pravidla.
-
Vyhledejte Cloudflare Managed Ruleset. Vyhledejte pravidlo s Spustit jako akci.
-
Vyberte název pravidla (obsahující název spravované sady pravidel) a poté vyberte Procházet pravidla.
-
Pod vyhledávacím polem vyberte jeden nebo více štítků, podle kterých chcete pravidla filtrovat, a poté zaškrtnutím políčka v levém horním rohu tabulky vyberte všechna pravidla zobrazená na aktuální stránce.
Pokud se na aktuální stránce nezobrazují všechna pravidla, rozšiřte výběr na všechna pravidla s vybranými štítky napříč všemi stránkami tak, že vyberete Vybrat všech <NUMBER> pravidel.
-
Aktualizujte jedno nebo více nastavení vybraných pravidel pomocí tlačítek zobrazených v pravém horním rohu tabulky (například Nastavit stav).
-
Vyberte Next.
-
Zobrazí se dialogové okno s dotazem, zda se mají všechna nová pravidla s vybranými štítky nakonfigurovat s vybranými hodnotami polí.
- Vyberte Zahrnout nová pravidla pokud chcete své konfigurace použít na všechna nová pravidla s vybranými značkami.
- Vyberte Pouze vybraná pravidla k použití vašich konfigurací pouze na vybraná pravidla.
-
Vyberte Save.
Konfigurace na úrovni pravidla
V dashboardu můžete konfigurovat (nebo přepsat) následující nastavení sady Cloudflare Managed Ruleset pro vybraná pravidla:
- Akce pravidla: Nastaví akci jednoho pravidla, nebo pokud vyberete více pravidel, akci pro vybraná pravidla. Dostupné akce jsou: Block, Log, Non-Interactive Challenge, Managed Challenge, a Interactive Challenge. Jakmile změníte konfiguraci pravidla, můžete ji kdykoli vrátit zpět na výchozí konfiguraci definovanou v Cloudflare Managed Ruleset.
- Stav pravidla: Nastaví stav (povoleno nebo zakázáno) jednoho pravidla, nebo pokud vyberete více pravidel, stav pro vybraná pravidla.
Jakmile máte nasadili Cloudflare Managed Ruleset, pro konfiguraci jednotlivých pravidel sady pravidel v dashboardu postupujte takto:
-
V dashboardu Cloudflare přejděte na Bezpečnostní pravidla stránce.
Přejděte na Bezpečnostní pravidla ↗ -
(Volitelné) Filtrujte podle Spravovaná pravidla.
-
Vyhledejte Cloudflare Managed Ruleset. Vyhledejte pravidlo s Spustit jako akci.
-
Vyberte název pravidla (obsahující název spravované sady pravidel) a poté vyberte Procházet pravidla.
-
Vyhledejte pravidla pomocí dostupných filtrů.
-
V seznamu výsledků upravte hodnoty jednotlivých pravidel podle potřeby pomocí zobrazených rozevíracích seznamů a přepínačů. Stav pravidla například změníte pomocí Stav přepínač vedle pravidla.
Chcete-li nakonfigurovat více pravidel se stejnou hodnotou, zaškrtněte políčka u všech pravidel, která chcete nakonfigurovat. Pokud se na aktuální stránce nezobrazují všechna pravidla, můžete výběr rozšířit na všechna pravidla na všech stránkách tak, že vyberete Vybrat všech <NUMBER> pravidel. Poté použijte tlačítka zobrazená v pravém horním rohu tabulky, například Nastavit stav, k aktualizaci jednoho nebo více polí u vybraných pravidel.
-
Vyberte Next, a poté vyberte Save.
Nastavení přes API
Chcete-li nasadit Cloudflare Managed Ruleset pro danou zónu přes API, vytvořte pravidlo s execute akce v vstupní sada pravidel pro http_request_firewall_managed fáze.
Příklad
Následující příklad nasadí Cloudflare Managed Ruleset do http_request_firewall_managed fáze dané zóny ($ZONE_ID) vytvořením pravidla, které spouští spravovanou sadu pravidel.
-
Vyvolejte Získání vstupní sady pravidel zóny operaci k získání definice vstupní sady pravidel pro
http_request_firewall_managedfáze. Budete potřebovat ID zóny pro tento úkol.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": { "description": "Zone-level phase entry point", "id": "<RULESET_ID>", "kind": "zone", "last_updated": "2024-03-16T15:40:08.202335Z", "name": "zone", "phase": "http_request_firewall_managed", "rules": [ // ... ], "source": "firewall_managed", "version": "10" }, "success": true, "errors": [], "messages": [] } -
Pokud vstupní sada pravidel již existuje (to znamená, pokud jste obdrželi
200 OKstavový kód a definici sady pravidel), poznamenejte si ID sady pravidel z odpovědi. Poté zavolejte Vytvoření pravidla sady pravidel zóny operaci pro přidáníexecutepravidlo do stávající sady pravidel nasazující Cloudflare Managed Ruleset (s IDefb7b8c949ac4650a09736fc376e9aee). Ve výchozím nastavení se pravidlo přidá na konec seznamu pravidel, která už v sadě pravidel jsou.Vytvoření pravidla sady pravidel zónycurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "true", "description": "Execute the Cloudflare Managed Ruleset" }'{ "result": { "id": "<RULESET_ID>", "name": "Zone-level phase entry point", "description": "", "kind": "zone", "version": "11", "rules": [ // ... any existing rules { "id": "<RULE_ID>", "version": "1", "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee", "version": "latest" }, "expression": "true", "description": "Execute the Cloudflare Managed Ruleset", "last_updated": "2024-03-18T18:08:14.003361Z", "ref": "<RULE_REF>", "enabled": true } ], "last_updated": "2024-03-18T18:08:14.003361Z", "phase": "http_request_firewall_managed" }, "success": true, "errors": [], "messages": [] } -
Pokud vstupní sada pravidel neexistuje (to znamená, pokud jste obdrželi
404 Not Foundstavový kód v kroku 1), vytvořte ji pomocí Vytvoření rulesetu zóny operaci. Zahrňte jedno pravidlo dorulespole, které spouští Cloudflare Managed Ruleset (s IDefb7b8c949ac4650a09736fc376e9aee) pro všechny příchozí požadavky v zóně.Vytvoření rulesetu zónycurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "name": "My ruleset", "description": "Entry point ruleset for WAF managed rulesets", "kind": "zone", "phase": "http_request_firewall_managed", "rules": [ { "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "true", "description": "Execute the Cloudflare Managed Ruleset" } ] }'
Další kroky
Chcete-li nakonfigurovat Cloudflare Managed Ruleset přes API, vytvořte přepisy pomocí Rulesets API. Můžete provést následující konfigurace:
Zadejte akci, kterou chcete provést pro všechna pravidla v sadě pravidel vytvořením přepsání sady pravidel.
Zakažte nebo přizpůsobte akci jednotlivých pravidel vytvořením rule overrides.
Příklady vytváření přepisů pomocí API najdete v Přepsání spravované sady pravidel.
Další zdroje
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.
Konfigurace pomocí Terraformu
Následující příklad nasadí Cloudflare Managed Ruleset pro zónu a přepíše akci a stav konkrétního pravidla.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:
Zone WAF Write
Nakonfigurujte cloudflare_ruleset ↗ prostředek:
# Configure a ruleset at the zone level for the "http_request_firewall_managed" phase
resource "cloudflare_ruleset" "zone_level_managed_waf" {
zone_id = var.cloudflare_zone_id
name = "Managed WAF entry point ruleset"
description = "Zone-level WAF Managed Rules config"
kind = "zone"
phase = "http_request_firewall_managed"
# Execute Cloudflare Managed Ruleset
rules = [{
ref = "execute_cloudflare_managed_ruleset"
description = "Execute Cloudflare Managed Ruleset on my zone-level phase entry point ruleset"
expression = "true"
action = "execute"
action_parameters = {
id = "efb7b8c949ac4650a09736fc376e9aee"
overrides = {
rules = [{
id = "5de7edfa648c4d6891dc3e7f84534ffa"
action = "log"
enabled = true
}]
}
}
}]
}# Configure a ruleset at the zone level for the "http_request_firewall_managed" phase
resource "cloudflare_ruleset" "zone_level_managed_waf" {
zone_id = var.cloudflare_zone_id
name = "Managed WAF entry point ruleset"
description = "Zone-level WAF Managed Rules config"
kind = "zone"
phase = "http_request_firewall_managed"
# Execute Cloudflare Managed Ruleset
rules {
ref = "execute_cloudflare_managed_ruleset"
description = "Execute Cloudflare Managed Ruleset on my zone-level phase entry point ruleset"
expression = "true"
action = "execute"
action_parameters {
id = "efb7b8c949ac4650a09736fc376e9aee"
overrides {
rules {
id = "5de7edfa648c4d6891dc3e7f84534ffa"
action = "log"
enabled = true
}
}
}
}
}Další informace najdete v tématu Konfigurace WAF Managed Rules pomocí Terraformu.