
Framework piloté par YAML pour tester les règles de pare-feu d'applications Web (WAF) en utilisant les références OWASP Core Rule Set. Automatise la détection de régressions et valide les règles WAF personnalisées via des simulations d'attaques HTTP reproductibles.
Ce projet a été créé par des chercheurs de ModSecurity et Fastly pour fournir des tests rigoureux pour les règles WAF. Il utilise l'OWASP Core Ruleset V3 comme base pour tester les règles sur un WAF. Chaque règle du jeu de règles est chargée dans un fichier YAML qui émet des requêtes HTTP qui déclencheront ces règles. Les utilisateurs peuvent vérifier l'exécution de la règle après l'émission des tests pour s'assurer que la réponse attendue est reçue d'une attaque.
Objectifs / cas d'utilisation incluent :
Pour notre annonce de version 1.0, consultez le blog 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/yamlLe cœur de FTW est ses tests extensibles basés sur YAML. Cette section liste quelques ressources sur leur format, comment les écrire et comment les utiliser.
OWASP CRS a écrit un excellent billet de blog décrivant comment les tests FTW sont écrits et exécutés.
YAMLFormat.md est la source de vérité de tous les champs YAML actuellement compris par FTW.
Après avoir lu ces deux ressources, vous devriez pouvoir commencer à écrire des tests. Vous vérifierez très probablement les codes de réponse de statut ou les réponses de requêtes web à l'aide de la directive log_contains. Pour intégrer FTW afin de tester des expressions régulières dans vos logs WAF, consultez ExtendingFTW.md
Si vous avez besoin d'un environnement pour tester les règles WAF, un a été créé avec Apache, Modsecurity et la version 3.0.0 de l'OWASP core ruleset. Il peut être déployé par :
git clone https://github.com/fastly/waf_testbed.gitvagrant up