
Framework basado en YAML para probar reglas de Firewall de Aplicaciones Web (WAF) utilizando líneas base del Conjunto de Reglas Básicas de OWASP. Automatiza la detección de regresiones y valida reglas WAF personalizadas mediante simulaciones repetibles de ataques HTTP.
Este proyecto fue creado por investigadores de ModSecurity y Fastly para ayudar a proporcionar pruebas rigurosas para las reglas de WAF. Utiliza el OWASP Core Ruleset V3 como referencia para probar reglas en un WAF. Cada regla del conjunto se carga en un archivo YAML que emite solicitudes HTTP que activarán estas reglas. Los usuarios pueden verificar la ejecución de la regla después de que se emiten las pruebas para asegurarse de que se recibe la respuesta esperada ante un ataque.
Los objetivos / casos de uso incluyen:
Para nuestro anuncio de lanzamiento 1.0, consulte el Blog de 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/yamlEl núcleo de FTW son sus pruebas extensibles basadas en yaml. Esta sección enumera algunos recursos sobre cómo están formateadas, cómo escribirlas y cómo puedes usarlas.
OWASP CRS escribió una excelente entrada de blog que describe cómo se escriben y ejecutan las pruebas de FTW.
YAMLFormat.md es la fuente de verdad de todos los campos yaml que actualmente entiende FTW.
Después de leer estos dos recursos, deberías poder comenzar a escribir pruebas. Lo más probable es que estés verificando respuestas de código de estado, o respuestas de solicitudes web usando la directiva log_contains. Para integrar FTW para probar expresiones regulares dentro de tus registros de WAF, consulta ExtendingFTW.md
Si necesitas un entorno para probar reglas de WAF, se ha creado uno con Apache, Modsecurity y la versión 3.0.0 del conjunto de reglas básicas de OWASP. Esto se puede implementar mediante:
git clone https://github.com/fastly/waf_testbed.gitvagrant up