← Dokumentace WAF / detections / malicious-uploads
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.