
Framework basato su YAML per testare le regole del Web Application Firewall (WAF) utilizzando baseline dell'OWASP Core Rule Set. Automatizza il rilevamento di regressioni e convalida regole WAF personalizzate tramite simulazioni ripetibili di attacchi HTTP.
Questo progetto è stato creato da ricercatori di ModSecurity e Fastly per fornire test rigorosi per le regole WAF. Utilizza l'OWASP Core Ruleset V3 come linea di base per testare le regole su un WAF. Ogni regola del ruleset viene caricata in un file YAML che emette richieste HTTP che attiveranno queste regole. Gli utenti possono verificare l'esecuzione della regola dopo che i test sono stati emessi per assicurarsi che la risposta prevista venga ricevuta da un attacco.
Obiettivi / Casi d'uso includono:
Per il nostro annuncio della versione 1.0, dai un'occhiata al Blog di OWASP CRS
git clone https://github.com/coreruleset/ftw.gitcd ftwvirtualenv env && source ./env/bin/activatepip install -r requirements.txtpy.test -s -v test/test_default.py --ruledir=test/yamlIl cuore di FTW sono i suoi test estensibili basati su yaml. Questa sezione elenca alcune risorse su come sono formattati, come scriverli e come puoi usarli.
OWASP CRS ha scritto un ottimo post sul blog che descrive come vengono scritti ed eseguiti i test FTW.
YAMLFormat.md è la verità fondamentale di tutti i campi yaml attualmente compresi da FTW.
Dopo aver letto queste due risorse, dovresti essere in grado di iniziare a scrivere test. Molto probabilmente controllerai le risposte del codice di stato o le risposte delle richieste web utilizzando la direttiva log_contains. Per integrare FTW per testare le regex nei tuoi log WAF, fai riferimento a ExtendingFTW.md
Se hai bisogno di un ambiente per testare le regole WAF, ne è stato creato uno con Apache, Modsecurity e la versione 3.0.0 dell'OWASP core ruleset. Può essere distribuito tramite:
git clone https://github.com/fastly/waf_testbed.gitvagrant up