Configurer le WAF NAXSI pour NGINX et WordPress

//Configurer le WAF NAXSI pour NGINX et WordPress
1/52/53/54/55/5 (1 votes, moyenne: 3,00 sur 5)
Loading...

Configurer le WAF NAXSI pour NGINX et WordPress

Bonjour à tous,

Aujourd’hui on va voir comment configurer le Web Application Firewall ou WAF NAXSI pour NGINX.

La chose importante, c’est que l’on va utiliser une branche de NAXSI qui supporte HTTP2.

On va aussi importer des règles de base pour WordPress et voir comment protéger un site.

 

Installation de NGINX et du WAF NAXSI :

Nous allons utiliser mon script de build pour installer NGINX avec le support de NAXSI : https://github.com/stylersnico/nginx-openssl-chacha-naxsi/ 

On ne va pas revoir en détail comment compiler nginx : https://www.abyssproject.net/2016/11/compiler-nginx-pourquoi-comment/

 

Téléchargez et lancez le script de build :

cd /tmp && wget --no-check-certificate https://raw.githubusercontent.com/stylersnico/nginx-openssl-chacha/master/build.sh && sh build.sh

 

Répondez N à la première question et Y à la deuxième pour installer NAXSI.

 

Ensuite, allez dans le répertoire NGINX et téléchargez les règles pour wordpress :

cd /etc/nginx
 mkdir naxsi
 mv naxsi_core.rules naxsi/
 cd naxsi && wget https://raw.githubusercontent.com/nbs-system/naxsi-rules/master/wordpress.rules

 

Ouvrez votre fichier de configuration avec la commande suivante :

nano /etc/nginx/nginx.conf

 

Et ajoutez la configuration de NAXSI dans la section HTTP :

http {
        #NAXSI
        include /etc/nginx/naxsi/naxsi_core.rules;

 

Mon nginx.conf complet est disponible ici : https://github.com/stylersnico/my-webserver/blob/master/etc/nginx/nginx.conf

 

Maintenant, ouvrez le vhost de votre site wordpress :

nano /etc/nginx/sites-enabled/abyssproject.vhost

 

Et maintenant, éditez votre section location pour ajouter les blocages de base et les règles spécifiques à WordPress :

        location / {
           try_files $uri $uri/ /index.php?$args;
           SecRulesEnabled;
           CheckRule "$SQL >= 8" BLOCK;
           CheckRule "$RFI >= 8" BLOCK;
           CheckRule "$TRAVERSAL >= 4" BLOCK;
           CheckRule "$EVADE >= 4" BLOCK;
           CheckRule "$XSS >= 8" BLOCK;
           DeniedUrl "/gfy.html"; 
           include /etc/nginx/naxsi/wordpress.rules;
        }

 

Créez un message d’erreur sympathique à la racine de votre site pour les gens qui essayerait de trouver des failles dessus et de les exploiter :

echo "Get the fuck out" > /var/www/wordpress/abyssproject.net/gfy.html

 

Validez la configuration avec nginx :

nginx -t

 

Redémarrez votre serveur web :

systemctl restart nginx

 

 

Et tentez de passer une commande louche par l’URL de votre site pour tester,merci à @Djerfy pour le screen  🙂

 

By |2017-07-10T11:40:00+00:0010 juillet 2017|GNU/Linux|14 Comments

About the Author:

Diplômé d'un BTS SIO SISR et travaillant actuellement en Suisse, je suis passionné par tout ce qui touche à l'informatique et la musique hard rock et métal depuis ma plus tendre enfance. Je suis le créateur et l'unique rédacteur d'Abyss Project, ce blog qui me sert de bloc-notes public en quelque sorte.

14
Poster un Commentaire

avatar
1 Comment threads
13 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Nicolas SimondBastien Recent comment authors

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Plus récents Plus anciens Populaires
Bastien
Invité
Bastien

Bonjour,

Je suis en BTS SIO SISR et j’ai pour projet de monter un Reverse Proxy avec NGINX, mais je bloque…

On me demande de rajouter un Firewall Applicatif (donc NAXSI). Mais ayant déjà fais toute la configuration que je voulais sur NGINX je voudrais savoir si il était possible de rajouter le module NAXSI ? Ou je suis obligé de refaire une VM pour installer le pack des deux ?

Merci pour ton aide.

Cordialement.

Bastien
Invité
Bastien

Oui mais ma configuration NGINX va être effacer alors non ?

Et pour l’installation et la compilation j’ai juste a suivre totalement ta procédure ?

Merci beaucoup pour ton aide.

Bastien
Invité
Bastien

Je suis du genre à vouloir comprendre ce que je fais donc il n’y a pas de soucis la dessus.

Par contre le seul problème est que NGINX et NAXSI ne vont pas se mettre à jour automatiquement du coup ..?

Bastien
Invité
Bastien

C’est pas trop bon ça…

Donc pour installer un Firewall Applicatif sur un Reverse Proxy, tu es obligé de compiler ?

Bastien
Invité
Bastien

Même avec ModSecurity ?

Bastien
Invité
Bastien

Mais attend, juste une petite chose…
Tu dois compiler NGINX aussi ? ou seulement NAXSI ?

Bastien
Invité
Bastien

Mon problème serait résolu si on devait compiler uniquement NAXSI, car le principal est que NGINX se mette à jour seul…