← Dokumentace WAF / detections / leaked-credentials
Začínáme
1. Zapněte detekci
V plánu Free je detekce uniklých přihlašovacích údajů ve výchozím nastavení zapnutá a není potřeba žádná akce. V placených plánech můžete detekci zapnout v Cloudflare dashboardu, přes API nebo pomocí Terraformu.
-
V dashboardu Cloudflare přejděte na Security Nastavení stránce.
Přejděte na Nastavení ↗ -
(Volitelné) Filtrujte podle Nástroje pro detekci.
-
Zapněte Detekce uniklých přihlašovacích údajů.
Použijte POST požadavek podobný tomuto:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Zone WAF WriteAccount WAF Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/leaked-credential-checks" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"enabled": true
}'Použijte cloudflare_leaked_credential_check prostředek pro povolení detekce uniklých přihlašovacích údajů u zóny. Například:
resource "cloudflare_leaked_credential_check" "zone_lcc_example" {
zone_id = var.cloudflare_zone_id
enabled = true
}2. Ověřte chování detekce uniklých přihlašovacích údajů
Použijte Security Analytics a protokoly HTTP, abyste ověřili, že Cloudflare správně rozpoznává uniklé přihlašovací údaje v příchozích požadavcích.
Viz Otestujte svou konfiguraci s dalšími informacemi o testovacích přihlašovacích údajích, které můžete použít k ověření své konfigurace.
Alternativně vytvořte vlastní pravidlo podobné tomu, které je popsáno v dalším kroku, pomocí Log akce (dostupná pouze zákazníkům s plánem Enterprise). Toto pravidlo vygeneruje bezpečnostní události který vám umožní ověřit vaši konfiguraci.
3. Zmírněte požadavky s uniklými přihlašovacími údaji
Pokud máte plán Free, nasaďte navrhované pravidlo pro omezení frekvence šablonu dostupnou v Security > Bezpečnostní pravidla.
Když nasadíte pravidlo pomocí této šablony, získáte okamžitou ochranu proti IP adresám, které se pokoušejí přistupovat k vaší aplikaci s uniklým heslem více než pětkrát za 10 sekund. Toto pravidlo dokáže útoky zpomalit tím, že je na určitou dobu zablokuje. Případně můžete vytvořit vlastní pravidlo.
Placené plány mají při vytváření pravidla přístup k podrobnějším možnostem nastavení. Pokud máte placený plán, vytvořit vlastní pravidlo které vyzývá k ověření požadavky obsahující uniklé přihlašovací údaje:
| Pole | Operátor | Hodnota |
|---|---|---|
| Uniklé uživatelské jméno a heslo | equals | True |
Pokud používáte editor výrazů, zadejte následující výraz:
(cf.waf.credential_check.username_and_password_leaked)Akce pravidla: Managed Challenge
Toto pravidlo bude odpovídat požadavkům, u kterých Cloudflare zjistí dříve uniklou sadu přihlašovacích údajů (uživatelské jméno a heslo). Seznam polí poskytovaných detekcí uniklých přihlašovacích údajů najdete v Pole uniklých přihlašovacích údajů.
Kombinujte s dalšími poli jazyka Rules
Předchozí výraz můžete zkombinovat s dalšími pole a funkce jazyka Rules. Díky tomu můžete přizpůsobit rozsah pravidla nebo zkombinovat leaked credential checking s dalšími bezpečnostními funkcemi. Například:
-
Následující výraz odpovídá požadavkům obsahujícím uniklé přihlašovací údaje směřujícím na ověřovací koncový bod:
Pole Operátor Hodnota Logika Uniklé uživatelské jméno a heslo equals True And URI Path contains /admin/login.phpVýraz při použití editoru:
(cf.waf.credential_check.username_and_password_leaked and http.request.uri.path contains "/admin/login.php") -
Následující výraz odpovídá požadavkům od botů, které obsahují ověřovací údaje:
Pole Operátor Hodnota Logika Zjištěno ověření equals True And Bot Score menší než 10Výraz při použití editoru:
(cf.waf.auth_detected and cf.bot_management.score lt 10)
Další příklady najdete v Příklad pravidel zmírnění.
Zpracování zjištěných uniklých přihlašovacích údajů na origin serveru
Kromě toho můžete chtít zpracovat uniklé přihlašovací údaje zjištěné službou Cloudflare na svém origin server:
-
Zapnout Přidání hlavičky Leaked Credentials Checks spravovaná transformace.
-
U požadavků přijatých na vašem origin serveru obsahujících
Exposed-Credential-Checkhlavičku, můžete své koncové uživatele při zjištění dříve uniklých přihlašovacích údajů přesměrovat na stránku pro obnovení hesla.
4. (Volitelné) Nakonfigurujte vlastní umístění detekce
Chcete-li kontrolovat uniklé přihlašovací údaje způsobem, který výchozí konfigurace nepokrývá, přidejte vlastní umístění detekce.
-
V dashboardu Cloudflare přejděte na Security Nastavení stránce.
Přejděte na Nastavení ↗ -
(Volitelné) Filtrujte podle Nástroje pro detekci.
-
V části Detekce uniklých přihlašovacích údajů > Konfigurace, vyberte ikonu úprav.
-
Vyberte Přidat vlastní umístění uživatelského jména a hesla.
-
V Umístění uživatelského jména a Umístění hesla (volitelné), zadejte výrazy pro získání uživatelského jména a hesla z HTTP požadavku. Můžete například použít následující výrazy:
- Umístění uživatelského jména:
lookup_json_string(http.request.body.raw, "user") - Umístění hesla:
lookup_json_string(http.request.body.raw, "secret")
Tato konfigurace bude prohledávat příchozí HTTP požadavky obsahující tělo JSON se strukturou podobnou následující:
{"user": "<USERNAME>", "secret": "<PASSWORD>"}Viz
lookup_json_string()další informace o této funkci. - Umístění uživatelského jména:
-
Vyberte Save.
Použijte POST požadavek podobný tomuto:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Zone WAF WriteAccount WAF Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/leaked-credential-checks/detections" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"username": "lookup_json_string(http.request.body.raw, \"user\")",
"password": "lookup_json_string(http.request.body.raw, \"secret\")"
}'Tato dvojice vyhledávacích výrazů (pro uživatelské jméno a heslo) bude prohledávat příchozí HTTP požadavky obsahující tělo JSON se strukturou podobnou následující:
{"user": "<USERNAME>", "secret": "<PASSWORD>"}Viz lookup_json_string() další informace o této funkci.
Použijte cloudflare_leaked_credential_check_rule prostředek pro přidání vlastního místa detekce. Například:
resource "cloudflare_leaked_credential_check_rule" "custom_location_example" {
zone_id = var.cloudflare_zone_id
username = "lookup_json_string(http.request.body.raw, \"user\")"
password = "lookup_json_string(http.request.body.raw, \"secret\")"
}Viz lookup_json_string() další informace o této funkci.
Ve vlastních detekčních lokacích stačí zadat výraz pro uživatelské jméno.
Další příklady vlastních umístění detekce pro různé typy požadavků najdete v Vlastní umístění detekce.
Otestujte svou konfiguraci
Cloudflare poskytuje speciální sadu přihlašovacích údajů rozlišujících velká a malá písmena pro testování konfigurace detekce uniklých přihlašovacích údajů.
Po povolení a nakonfigurování detekce můžete ve svých testovacích požadavcích HTTP použít přihlašovací údaje uvedené v této části.
Testovací přihlašovací údaje pro uživatele s plánem Free (budou fungovat i v placených plánech):
- Uživatelské jméno:
CF_LEAKED_USERNAME_FREE - Heslo:
CF_LEAKED_PASSWORD
Testovací přihlašovací údaje pro uživatele s placenými plány (nebudou fungovat v plánu Free):
- Uživatelské jméno:
CF_EXPOSED_USERNAMEnebo[email protected] - Heslo:
CF_EXPOSED_PASSWORD
Cloudflare tyto konkrétní přihlašovací údaje považuje za dříve uniklé. Použijte je ve svých testech k ověření chování aktuální konfigurace.