Ça va pas être possible avec vos baskets
by Emile `iMil' Heitor - 2012-04-22
Dans ma boîte, l’équipe sécurité a publié voila quelques mois de cela un module pour nginx: un firewall applicatif du nom de naxsi.
Ce module, sous licence GPLv2, je viens de le publier dans pkgsrc current sous la forme d’une option de www/nginx
. Je me propose de vous montrer ici comment sécuriser simplement votre serveur web / proxy inverse nginx grâce à naxsi.
Premièrement, si comme moi (et comme il se doit) vous utilisez une branche stable de pkgsrc, mettez simplement à jour www/nginx
comme ceci:
Puis spécifiez à pkgsrc que vous souhaitez activer l’option naxsi pour le paquet nginx:
Ceci fait, reconstruisez le paquet comme d’habitude:
Dans la configuration de nginx, incluez les règles par défaut de naxsi de cette façon:
Comme vous pourrez le constater, le fichier /usr/pkg/etc/nginx/naxsi_core.rules
contient un set de règles déjà très efficaces contre bon nombre d’attaques connues.
Reste alors à activer le filtrage sur une location
et choisir quels types d’attaques vous souhaitez bloquer; par exemple:
location / {
SecRulesEnabled;
CheckRule “$SQL >= 8” BLOCK;
CheckRule “$RFI >= 8” BLOCK;
CheckRule “$TRAVERSAL >= 4” BLOCK;
CheckRule “$EVADE >= 4” BLOCK;
CheckRule “$XSS >= 8” BLOCK;
Un redémarrage de nginx plus loin, on essayera par exemple d’accéder à une adresse louche:
Et de constater dans /var/log/nginx/error.log
:
Moi j’trouve ça assez classe tout de même.
Toutes les infos relatives à la configuration de naxsi sont disponibles sur le Wiki de ce dernier.