
El año pasado lanzamos Nemesida WAF Free, un módulo dinámico para NGINX que bloquea ataques a aplicaciones web. A diferencia de la versión comercial que se basa en el aprendizaje automático, la versión gratuita analiza las solicitudes únicamente mediante el método de firmas.
Características de la versión Nemesida WAF 4.0.129
Hasta la versión actual, el módulo dinámico Nemesida WAF solo era compatible con Nginx Stable 1.12, 1.14 y 1.16. La nueva versión añade soporte para Nginx Mainline, comenzando con 1.17, y Nginx Plus, comenzando con 1.15.10 (R18).
¿Por qué hacer otro WAF?
NAXSI y mod_security son probablemente los módulos WAF gratuitos más populares, y mod_security es ampliamente promovido por Nginx, aunque originalmente solo se utilizaba en Apache2. Ambas soluciones son gratuitas, tienen código abierto y cuentan con numerosos usuarios en todo el mundo. Para mod_security hay conjuntos de firmas disponibles tanto gratuitos como comerciales, por $500 al año, y para NAXSI hay un conjunto de firmas 'listo para usar', además de que se pueden encontrar conjuntos adicionales de reglas como doxsi.
Este año realizamos pruebas de funcionamiento de NAXSI y Nemesida WAF Free. Resumiendo los resultados:
- NAXSI no realiza doble URL-decode en las cookies
- NAXSI es muy difícil de configurar; por defecto, las configuraciones de reglas bloquearán la mayoría de los requerimientos al interactuar con la aplicación web (autenticación, edición de perfil o material, participación en encuestas, etc.), y será necesario generar listas de excepciones, lo que afecta negativamente la seguridad. Nemesida WAF Free, con la configuración predeterminada, no registró ningún falso positivo durante su operación en el sitio.
- el número de ataques que NAXSI deja pasar es significativamente mayor, etc.
A pesar de sus desventajas, NAXSI y mod_security tienen al menos dos ventajas: código abierto y una gran cantidad de usuarios. Apoyamos la idea de revelar el código fuente, pero no podemos hacerlo por el momento debido a posibles problemas con la 'piratería' de la versión comercial; sin embargo, para compensar esta deficiencia, revelamos completamente el contenido del conjunto de firmas. Valoramos la privacidad y ofrecemos verificarlo por uno mismo usando un proxy.servidores.
Característica de Nemesida WAF Free:
- una base de firmas de alta calidad con un mínimo de Falsos Positivos y Falsos Negativos.
- instalación y actualización desde el repositorio (es rápido y conveniente);
- eventos simples y claros de incidentes, no una "ensalada" como en NAXSI;
- completamente gratuito, sin restricciones en el tráfico, hosts virtuales, etc.
Para concluir, proporcionaré algunas consultas para evaluar el funcionamiento del WAF (se recomienda utilizar en cada una de las zonas: URL, ARGS, Headers & Body):
')) un","ion se","lect 1,2,3,4,5,6,7,8,9,0,11#"]
')) union/**/select/**/1,/**/2,/**/3,/**/4,/**/5,/**/6,/**/7,/**/8,/**/9,/**/'some_text',/**/11#"]
union(select(1),2,3,4,5,6,7,8,9,0x70656e746573746974,11)#"]
')) union+ /*!select*/ (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"]
')) /*!uion*/ /*!seect*/ (1),(2),(3),(4),(5),(6),(7),(8),(9.),(0x70656e746573746974),(11)#"]
')) **union**select (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"]
1807182982union
select123456789%2some_text11
cat /et?/?pa?swd
cat /et'c/pa'ss'wd
cat /et*//pa**wd
e'c'ho 'swd test pentest' |awk '{print "cat /etc/pas"$1}' |bas'h
cat /etc/passwd
cat$u+/etc$u/passwd$u
<svg/onload=alert()//
Si las consultas no son bloqueadas, es probable que el WAF permita una ataque real. Antes de usar los ejemplos, asegúrese de que el WAF no bloquee consultas legítimas.
Fuente: habr.com
