INTEGRITY Dokumentace

Příklady Terraform konfigurace

Následující příklady konfigurace Terraformu pokrývají běžné scénáře správy, konfigurace a používání detekce uniklých přihlašovacích údajů.

Více informací najdete v Dokumentace Terraform provideru Cloudflare.

Pokud používáte Cloudflare API, viz Běžná volání API.

Zapnutí detekce uniklých přihlašovacích údajů

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
}

Konfigurace vlastního umístění detekce

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\")"
}

U vlastních umístění detekce stačí zadat výraz pouze pro uživatelské jméno.

Přidání vlastního pravidla vystavujícího challenge požadavkům s uniklými přihlašovacími údaji

Tento příklad přidává vlastní pravidlo které u požadavků s uniklými přihlašovacími údaji vynutí challenge pomocí jedné z pole uniklých přihlašovacích údajů ve výrazu pravidla.

Chcete-li použít cf.waf.credential_check.username_and_password_leaked pole musíte zapnout detekci uniklých přihlašovacích údajů.

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:

resource "cloudflare_ruleset" "zone_custom_firewall_leaked_creds" {
  zone_id     = var.cloudflare_zone_id
  name        = "Phase entry point ruleset for custom rules in my zone"
  description = ""
  kind        = "zone"
  phase       = "http_request_firewall_custom"

  rules = [{
    ref         = "challenge_leaked_username_password"
    description = "Challenge requests with a leaked username and password"
    expression  = "(cf.waf.credential_check.username_and_password_leaked)"
    action      = "managed_challenge"
  }]
}
resource "cloudflare_ruleset" "zone_custom_firewall_leaked_creds" {
  zone_id     = var.cloudflare_zone_id
  name        = "Phase entry point ruleset for custom rules in my zone"
  description = ""
  kind        = "zone"
  phase       = "http_request_firewall_custom"

  rules {
    ref         = "challenge_leaked_username_password"
    description = "Challenge requests with a leaked username and password"
    expression  = "(cf.waf.credential_check.username_and_password_leaked)"
    action      = "managed_challenge"
  }
}

Další zdroje

Další příklady konfigurace Terraformu najdete v Konfigurace vlastních pravidel WAF pomocí Terraformu.