← Dokumentace WAF / detections / malicious-uploads
Příklady pravidel
Logování požadavků s nahraným obsahovým objektem
Tento vlastní pravidlo příklad loguje všechny požadavky s alespoň jedním nahraným content objectem:
-
When incoming requests match:
Pole Operátor Hodnota Has content object rovná se True Pokud používáte Expression Editor:
(cf.waf.content_scan.has_obj) -
Akce: Log
Blokování požadavků na cestu URI se škodlivým content objectem
Tento příklad vlastního pravidla blokuje požadavky adresované na /upload.php které obsahují alespoň jeden nahraný obsahový objekt považovaný za škodlivý:
-
When incoming requests match:
Pole Operátor Hodnota Má škodlivý content object rovná se True And URI Path rovná se /upload.phpPokud používáte Expression Editor:
(cf.waf.content_scan.has_malicious_obj and http.request.uri.path eq "/upload.php") -
Akce: Block
Blokování požadavků s nahrávanými soubory jinými než PDF
Tento příklad vlastního pravidla blokuje požadavky adresované na /upload s nahranými obsahovými objekty, které nejsou soubory PDF:
- When incoming requests match:
any(cf.waf.content_scan.obj_types[*] != "application/pdf") and http.request.uri.path eq "/upload" - Akce: Block
Blokování požadavků s nahrávanými soubory nad 500 KB
Tento příklad vlastního pravidla blokuje požadavky adresované na /upload s nahranými obsahovými objekty většími než 500 KB (512 000 bajtů):
- When incoming requests match:
any(cf.waf.content_scan.obj_sizes[*] > 512000) and http.request.uri.path eq "/upload" - Akce: Block
Blokování požadavků s nahranými soubory nad limitem skenování obsahu (50 MB)
Tento příklad vlastního pravidla blokuje požadavky s nahranými content objecty nad 50 MB (aktuální limit skenování obsahu):
- When incoming requests match:
any(cf.waf.content_scan.obj_sizes[*] >= 52428800) - Akce: Block
V tomto příkladu musíte testovat i rovnost, protože jakýkoli soubor nad 50 MB se v současnosti interně zpracovává, jako by měl velikost 50 MB (52 428 800 bajtů). To znamená, že použití > (větší než) porovnávací operátor by pro toto konkrétní pravidlo nefungovalo — měli byste použít >= (větší nebo rovno).