← Dokumentace WAF / managed-rules / reference
Cloudflare Managed Ruleset
Tato sada pravidel, vytvořená bezpečnostním týmem Cloudflare, poskytuje rychlou a účinnou ochranu pro všechny vaše aplikace. Sada je často aktualizována, aby pokrývala nové zranitelnosti a omezovala falešně pozitivní výsledky.
Cloudflare doporučuje povolit pravidla, jejichž tagy odpovídají vašemu technologickému stacku. Pokud například používáte WordPress, povolte pravidla s tagem wordpress.
Cloudflare Changelog WAF vám umožňuje sledovat průběžné změny ve spravovaných sadách pravidel WAF.
Nasazení Cloudflare Managed Ruleset
-
V Cloudflare dashboardu přejděte na Security Settings stránku.
Přejděte na Settings ↗ -
(Volitelné) Filtrujte podle Exploity webových aplikací.
-
Zapněte Spravovaná sada pravidel Cloudflare.
-
Zkontrolujte nastavení nasazení. V případě potřeby upravte rozsah, aby se sada pravidel aplikovala na podmnožinu příchozích požadavků, nebo nakonfigurujte vlastní nastavení (známá také jako overrides).
-
Vyberte Save.
Tato operace nasadí spravovanou sadu pravidel pro aktuální zónu a vytvoří nové pravidlo s Execute akci.
Konfigurace v dashboardu
Cloudflare Managed Ruleset můžete konfigurovat (nebo přepsat jeho výchozí konfiguraci) na několika úrovních:
Když vytvoříte několik přepsání na různých úrovních, konkrétnější konfigurace (úroveň tagu a pravidla) mají přednost před méně konkrétními (úroveň sady pravidel). Viz Přepis spravované sady pravidel v dokumentaci Ruleset Engine pro více informací.
Konfigurace na úrovni sady pravidel
V dashboardu Cloudflare můžete nakonfigurovat (nebo přepsat) následující nastavení Cloudflare Managed Ruleset:
-
Rozsah: Když pro rozsah definujete vlastní filtrovací výraz, Cloudflare Managed Ruleset se uplatní pouze na podmnožinu příchozích požadavků. Ve výchozím nastavení se spravovaná sada pravidel nasazená v dashboardu uplatňuje na veškerý příchozí provoz.
-
Akce sady pravidel: Když definujete akci pro sadu pravidel, přepíšete výchozí akci definovanou pro každé pravidlo. Dostupné akce jsou: Block, Log, Non-Interactive Challenge, Managed Challenge a Interactive Challenge. Chcete-li odstranit přepsání akce na úrovni sady pravidel, nastavte akci sady na Výchozí.
-
Stav sady pravidel: Zapne nebo vypne všechna pravidla v sadě.
-
Logování payloadů: Pokud je zapnuto, loguje informace o požadavku (payload), který spustil konkrétní pravidlo spravované sady pravidel. Pro šifrování payloadu musíte nakonfigurovat veřejný klíč.
Jakmile jste nasadili Cloudflare Managed Ruleset, proveďte následující kroky pro jeho konfiguraci v dashboardu:
-
V Cloudflare dashboardu přejděte na Bezpečnostní pravidla stránku.
Přejděte na Bezpečnostní pravidla ↗ -
(Volitelné) Filtrujte podle Spravovaná pravidla.
-
Vyhledejte Cloudflare Managed Ruleset. Hledejte pravidlo s Execute akci.
-
Vyberte název pravidla (obsahující název spravované sady pravidel) pro otevření stránky konfigurace nasazení.
-
(Volitelné) Chcete-li Cloudflare Managed Ruleset spouštět jen pro podmnožinu příchozích požadavků, vyberte Edit scope a nakonfigurujte 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 Cloudflare Managed Ruleset nastavením jednoho nebo více polí pomocí rozbalovacích seznamů.
Například vyberte akci, která se má provést pro všechna pravidla v sadě.
-
Vyberte Save.
Konfigurace na úrovni tagů
V dashboardu můžete nakonfigurovat (nebo přepsat) následující nastavení Cloudflare Managed Ruleset pro pravidla označená alespoň jedním z vybraných tagů:
- Akce pravidla: Nastaví akci pravidla pro všechna pravidla s vybranými tagy. 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 tagy.
Jakmile jste nasadili Cloudflare Managed Ruleset, proveďte následující kroky pro konfiguraci pravidel s konkrétními tagy v dashboardu:
-
V Cloudflare dashboardu přejděte na Bezpečnostní pravidla stránku.
Přejděte na Bezpečnostní pravidla ↗ -
(Volitelné) Filtrujte podle Spravovaná pravidla.
-
Vyhledejte Cloudflare Managed Ruleset. Hledejte pravidlo s Execute akci.
-
Vyberte název pravidla (obsahující název spravované sady pravidel) a poté vyberte Browse rules.
-
Vyberte jeden nebo více tagů pod vyhledávacím polem pro filtrování pravidel s těmito tagy a poté zaškrtněte políčko v levém horním rohu tabulky pro výběr všech pravidel zobrazených 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 tagy napříč všemi stránkami výběrem Select all <NUMBER> rules.
-
Aktualizujte jedno nebo více nastavení vybraných pravidel pomocí tlačítek zobrazených v pravém horním rohu tabulky (například Nastavení stavu).
-
Vyberte Next.
-
Zobrazí se dialog s dotazem, zda mají být nová pravidla s vybranými tagy nakonfigurována s hodnotami polí, které jste vybrali.
- Vyberte Include new rules pokud chcete své konfigurace aplikovat i na nová pravidla s vybranými tagy.
- Vyberte Pouze vybraná pravidla pro aplikaci konfigurace pouze na vybraná pravidla.
-
Vyberte Save.
Konfigurace na úrovni pravidla
V dashboardu můžete nakonfigurovat (nebo přepsat) následující nastavení Cloudflare Managed Ruleset pro vybraná pravidla:
- Akce pravidla: Nastaví akci jednoho pravidla, nebo pokud vyberete více pravidel, vybraných pravidel. Dostupné akce jsou: Block, Log, Non-Interactive Challenge, Managed Challenge a Interactive Challenge. Jakmile změníte konfiguraci pravidla, máte možnost ji resetovat 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, vybraných pravidel.
Jakmile jste nasadili Cloudflare Managed Ruleset, proveďte následující kroky pro konfiguraci jednotlivých pravidel sady v dashboardu:
-
V Cloudflare dashboardu přejděte na Bezpečnostní pravidla stránku.
Přejděte na Bezpečnostní pravidla ↗ -
(Volitelné) Filtrujte podle Spravovaná pravidla.
-
Vyhledejte Cloudflare Managed Ruleset. Hledejte pravidlo s Execute akci.
-
Vyberte název pravidla (obsahující název spravované sady pravidel) a poté vyberte Browse rules.
-
Vyhledávejte pravidla pomocí dostupných filtrů.
-
V seznamu výsledků změňte hodnoty jednotlivých pravidel podle potřeby pomocí zobrazených rozbalovacích seznamů a přepínačů. Například změňte stav pravidla pomocí Stav přepínač vedle pravidla.
Pro konfiguraci více pravidel se stejnou hodnotou zaškrtněte políčka u všech pravidel, která chcete konfigurovat. Pokud se na aktuální stránce nezobrazují všechna pravidla, můžete výběr rozšířit na všechna pravidla napříč stránkami výběrem Select all <NUMBER> rules. Poté použijte tlačítka zobrazená v pravém horním rohu tabulky — například Nastavení stavu — k aktualizaci jednoho nebo více polí u vybraných pravidel.
-
Vyberte Next a poté vyberte Save.
Konfigurace přes API
Chcete-li nasadit Cloudflare Managed Ruleset pro danou zónu přes API, vytvořte pravidlo s execute akci v vstupní sada pravidel (entry point ruleset) pro http_request_firewall_managed fáze.
Příklad
Následující příklad nasazuje 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 entry point rulesetu pro fázi
http_request_firewall_managedfázi. Budete potřebovat ID zóny pro tuto úlohu.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 entry point ruleset již existuje (tedy 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 v sadě pravidel zóny operaci k přidáníexecutepravidlo do existující sady pravidel nasazující Cloudflare Managed Ruleset (s IDefb7b8c949ac4650a09736fc376e9aee). Ve výchozím nastavení bude pravidlo přidáno na konec seznamu pravidel, která již v sadě jsou.Vytvoření pravidla v sadě 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 entry point ruleset neexistuje (tedy pokud jste obdrželi
404 Not Foundstavový kód v kroku 1), vytvořte jej pomocí Vytvoření sady pravidel zóny operace. Zahrňte jediné pravidlo do polerulespole, které vykonává Cloudflare Managed Ruleset (s IDefb7b8c949ac4650a09736fc376e9aee) pro všechny příchozí požadavky v zóně.Vytvoření sady pravidel 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
Pro konfiguraci Cloudflare Managed Ruleset přes API vytvořte overrides pomocí Rulesets API. Můžete provést následující konfigurace:
Zadejte akci, která se má provést pro všechna pravidla v sadě, vytvořením přepisu sady pravidel.
Zakažte nebo přizpůsobte akci jednotlivých pravidel vytvořením přepsání pravidel (rule overrides).
Příklady vytváření overrides pomocí API najdete v Přepis spravované sady pravidel.
Další zdroje
Další informace o práci se spravovanými sadami pravidel přes API viz Práce se spravovanými sadami pravidel v dokumentaci 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ň jedno z následujících oprávnění tokenu je vyžadováno:
Zone WAF Write
Nakonfigurujte cloudflare_ruleset ↗ zdroj:
# 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 viz Konfigurace WAF Managed Rules pomocí Terraformu.