INTEGRITY Dokumentace

Začínáme

1. Zapněte detekci

V plánech Free je detekce uniklých přihlašovacích údajů ve výchozím stavu povolena a není vyžadována žádná akce. V placených plánech můžete detekci zapnout v Cloudflare dashboardu, přes API nebo pomocí Terraformu.

  1. V Cloudflare dashboardu přejděte na Security Settings stránku.

    Přejděte na Settings ↗
  2. (Volitelné) Filtrujte podle Detekční nástroje.

  3. Zapněte Detekce uniklých přihlašovacích údajů.

Použijte POST požadavek podobný následujícímu:

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
  • Account WAF Write
Aktualizujte stav Leaked Credential Checks pro zónu.
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 resource k zapnutí detekce uniklých přihlašovacích údajů pro zónu. 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 HTTP logy k ověření, že Cloudflare správně detekuje uniklé přihlašovací údaje v příchozích požadavcích.

Viz Otestujte svou konfiguraci pro více informací o testovacích přihlašovacích údajích, které můžete použít k ověření konfigurace.

Případně vytvořte vlastní pravidlo podobné tomu z dalšího kroku pomocí Log akci (dostupná pouze zákazníkům Enterprise). Toto pravidlo vygeneruje bezpečnostní události které vám umožní ověřit konfiguraci.

3. Mitigujte požadavky s uniklými přihlašovacími údaji

Pokud jste na plánu Free, nasaďte navrhovaná pravidlo rate limitingu šablonu dostupnou v Security > Bezpečnostní pravidla.

Když nasadíte pravidlo z této šablony, získáte okamžitou ochranu před IP adresami, které se pokoušejí přistoupit k vaší aplikaci s uniklým heslem více než pětkrát za 10 sekund. Toto pravidlo může útoky zpomalit jejich blokováním po určitou dobu. Případně můžete vytvořit vlastní pravidlo.

Placené plány mají při vytváření pravidla přístup ke granulárnějším možnostem. Pokud jste na placeném plánu, vytvořit vlastní pravidlo které předkládá challenge požadavkům obsahujícím uniklé přihlašovací údaje:

Pole Operátor Hodnota
User and Password Leaked rovná se True

Pokud používáte Expression Editor, zadejte následující výraz:

(cf.waf.credential_check.username_and_password_leaked)

Akce pravidla: Managed Challenge

Toto pravidlo odpovídá požadavkům, u nichž Cloudflare detekuje 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ů viz Pole uniklých přihlašovacích údajů.

Kombinace s dalšími poli jazyka Rules

Předchozí výraz můžete kombinovat s dalšími pole a funkce jazyka Rules. Díky tomu můžete přizpůsobit rozsah pravidla nebo kombinovat kontrolu uniklých přihlašovacích údajů s dalšími bezpečnostními funkcemi. Například:

Další příklady najdete v Příklady mitigačních pravidel.

Zpracování detekovaných uniklých přihlašovacích údajů na origin serveru

Kromě toho můžete chtít uniklé přihlašovací údaje detekované Cloudflare zpracovat na svém origin server:

  1. Zapnout Add Leaked Credentials Checks Header managed transform.

  2. Pro požadavky přijaté na vašem origin serveru obsahující Exposed-Credential-Check hlavičky můžete koncové uživatele při detekci dříve uniklých přihlašovacích údajů přesměrovat na stránku pro reset hesla.

4. (Volitelné) Nakonfigurujte vlastní umístění detekce

Pro kontrolu uniklých přihlašovacích údajů způsobem, který výchozí konfigurace nepokrývá, přidejte vlastní umístění detekce.

  1. V Cloudflare dashboardu přejděte na Security Settings stránku.

    Přejděte na Settings ↗
  2. (Volitelné) Filtrujte podle Detekční nástroje.

  3. V části Detekce uniklých přihlašovacích údajů > Konfigurace, vyberte ikonu úprav.

  4. Vyberte Add custom username and password location.

  5. 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 použít například 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 skenovat příchozí HTTP požadavky obsahující JSON tělo se strukturou podobnou následující:

    {"user": "<USERNAME>", "secret": "<PASSWORD>"}

    Viz lookup_json_string() dokumentaci pro více informací o této funkci.

  6. Vyberte Save.

Použijte POST požadavek podobný následujícímu:

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
  • Account WAF Write
Vytvoření vlastního umístění detekce pro zónu.
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 skenovat příchozí HTTP požadavky obsahující JSON tělo se strukturou podobnou následující:

{"user": "<USERNAME>", "secret": "<PASSWORD>"}

Viz lookup_json_string() dokumentaci pro více informací o této funkci.

Použijte cloudflare_leaked_credential_check_rule resource k přidání vlastního umístění 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() dokumentaci pro více informací o této funkci.

U vlastních umístění detekce stačí zadat výraz pouze 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ů (s rozlišením velikosti písmen) pro testování konfigurace detekce uniklých přihlašovacích údajů.

Po zapnutí a konfiguraci detekce můžete v testovacích HTTP požadavcích použít přihlašovací údaje uvedené v této části.

Testovací přihlašovací údaje pro uživatele na plánu Free (fungují i na placených plánech):

Testovací přihlašovací údaje pro uživatele na placených plánech (na plánech Free nefungují):

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.