Dokumentace Domluvit pilot

Příklady konfigurace Terraformu

Následující ukázkové konfigurace Terraform řeší běžné scénáře správy, konfigurace a používání kontroly obsahu WAF.

Další informace naleznete v Dokumentace Terraform Cloudflare provider ↗.

Pokud používáte Cloudflare API, přečtěte si Běžná volání API.

Zapnutí kontroly obsahu WAF

Použijte cloudflare_content_scanning prostředek pro povolení kontroly obsahu u zóny. Například:

resource "cloudflare_content_scanning" "zone_content_scanning_example" {
	zone_id = var.cloudflare_zone_id
	enabled = true
}

Konfigurace vlastního výrazu pro kontrolu

Použijte cloudflare_content_scanning_expression prostředek pro přidání vlastního výrazu skenování. Například:

resource "cloudflare_content_scanning_expression" "my_custom_scan_expression" {
  zone_id = var.cloudflare_zone_id
  payload = "lookup_json_string(http.request.body.raw, \"file\")"
}

Další informace najdete v tématu Vlastní skenovací výrazy.

Přidat vlastní pravidlo pro blokování škodlivých nahrávek

Tento příklad přidává vlastní pravidlo které blokuje požadavky s jedním nebo více objekty obsahu považovány za škodlivé pomocí jedné z pole skenování obsahu ve výrazu pravidla.

Chcete-li použít cf.waf.content_scan.has_malicious_obj pole musíte povolení kontroly obsahu.

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:

resource "cloudflare_ruleset" "zone_custom_firewall_malicious_uploads" {
  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         = "block_malicious_uploads"
    description = "Block requests uploading malicious content objects"
    expression  = "(cf.waf.content_scan.has_malicious_obj and http.request.uri.path eq \"/upload.php\")"
    action      = "block"
  }]
}
resource "cloudflare_ruleset" "zone_custom_firewall_malicious_uploads" {
  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         = "block_malicious_uploads"
    description = "Block requests uploading malicious content objects"
    expression  = "(cf.waf.content_scan.has_malicious_obj and http.request.uri.path eq \"/upload.php\")"
    action      = "block"
  }
}

Další zdroje

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

Požádejte o pilot zdarma

Domluvit pilot