
L'année dernière, nous avons lancé Nemesida WAF Free - un module dynamique pour NGINX qui bloque les attaques contre les applications web. Contrairement à la version commerciale, qui est basée sur l'apprentissage automatique, la version gratuite analyse les requêtes uniquement par méthode de signature.
Caractéristiques de la version Nemesida WAF 4.0.129
Avant cette version, le module dynamique Nemesida WAF ne supportait que Nginx Stable 1.12, 1.14 et 1.16. Dans la nouvelle version, la prise en charge de Nginx Mainline, à partir de 1.17, et de Nginx Plus à partir de 1.15.10 (R18), a été ajoutée.
Pourquoi créer un autre WAF ?
NAXSI et mod_security sont probablement les modules WAF gratuits les plus populaires, mod_security étant activement promu par les forces de Nginx, bien qu'il ait été initialement utilisé uniquement dans Apache2. Les deux solutions sont gratuites, open source et comptent de nombreux utilisateurs dans le monde entier. Pour mod_security, un ensemble de signatures gratuit et commercial est disponible pour 500 $ par an, tandis que NAXSI dispose d'un ensemble de signatures gratuit « prêt à l'emploi », ainsi que d'ensembles de règles supplémentaires comme doxsi.
Cette année, nous avons testé le fonctionnement de NAXSI et de Nemesida WAF Free. En résumé des résultats :
- NAXSI ne réalise pas de double URL-decode dans les cookies
- NAXSI est très long à configurer - par défaut, les règles standard bloqueront la plupart des accès lors de l'interaction avec l'application web (authentification, modification de profil ou de contenu, participation à des sondages, etc.), et il est nécessaire de générer des listes d'exceptions, ce qui nuit à la sécurité. Nemesida WAF Free, avec des paramètres par défaut, n'a pas déclenché de faux positifs lors de l'utilisation du site.
- Le nombre de faux positifs bloqués par NAXSI est de plusieurs ordres de grandeur supérieur, etc.
Malgré leurs inconvénients, NAXSI et mod_security ont au moins deux avantages : un code source ouvert et un grand nombre d'utilisateurs. Nous soutenons l'idée d'ouvrir le code source, mais nous ne pouvons pas le faire pour le moment en raison de problèmes potentiels de « piraterie » de la version commerciale. Cependant, pour compenser ce manque, nous révélons entièrement le contenu de l'ensemble de signatures. Nous apprécions la confidentialité et proposons de vérifier cela par vous-même via un proxy.de serveurs.
Caractéristiques de Nemesida WAF Free :
- Une base de signatures de qualité avec un minimum de faux positifs et de faux négatifs.
- Installation et mise à jour depuis le dépôt (rapide et pratique) ;
- Événements d'incidents simples et clairs, et non une « bouillie » comme avec NAXSI ;
- entièrement gratuit, sans restrictions sur le nombre de trafic, d'hôtes virtuels, etc.
Pour conclure, je vais fournir quelques requêtes pour évaluer le fonctionnement du WAF (il est recommandé de les utiliser dans chacune des zones : 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/pas's'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 les requêtes ne sont pas bloquées, il est probable que le WAF passe également une véritable attaque. Avant d'utiliser les exemples, assurez-vous que le WAF ne bloque pas les requêtes légitimes.
Source : habr.com
