
Comment installer et configurer ModSecurity sur Nginx


Le serveur Web Nginx est utilisé sur plus de 30 % de site Web dans le monde entier et en croissance.
Compte tenu de l'augmentation des menaces Web en ligne, l'un des défis pour l'ingénieur Web est de bien durcissement et sécurisation de Nginx.
Nginx est bien connu pour ses performances et son serveur / proxy Web léger et utilisé sur de nombreux sites les plus fréquentés.
- Pinterest.com
- Reddit.com
- wordpress.com
- Stackoverflow.com
- Mail.ru
Si vous hébergez vos applications Web sur Nginx et que vous êtes préoccupé par la sécurité, l'une des premières choses que vous souhaitez mettre en œuvre est Pare-feu d'applications Web (WAF).
Mod Security est un WAF Open Source de Trustwave SpiderLabs et a été rendu disponible pour Nginx en 2012.
Dans ce guide, je vais vous expliquer comment Télécharger, installer et configurer Mod Security avec Nginx.
La démonstration suivante est effectuée sur CentOS hébergé avec DigitalOcean.
Si vous êtes nouveau sur Nginx, je vous recommanderais de prendre ceci cours fondamental.
Download Nginx and ModSecurity
Vous pouvez soit télécharger le nginx directement sur votre serveur, soit sur votre PC local puis le transférer.
- Téléchargez la dernière version à partir du lien ci-dessous
http://nginx.org/en/download.html
- Si vous téléchargez directement sur le serveur, vous pouvez utiliser wget comme ci-dessous
wget http://nginx.org/download/nginx-1.9.15.tar.gz
- Extrayez-les en utilisant la commande gunzip
gunzip -c nginx-1.9.15.tar.gz | tar xvf -
- Vous verrez le nouveau dossier créé
drwxr-xr-x 8 1001 1001 4096 19 avril 12:02 nginx-1.9.15
- Téléchargez la dernière version de Mod Security à partir du lien ci-dessous
https://www.modsecurity.org/download.html
- Vous pouvez utiliser les commandes ci-dessous à partir du serveur directement
wget https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz
gunzip -c modsecurity-2.9.1.tar.gz | tar xvf -
Faisons les installer
Install Nginx with Mod Security
Il est important de compiler le code source de sécurité Nginx et mod.
- Connectez-vous à un serveur et assurez-vous d'avoir l'autorisation root.
Remarque : si vous faites sur un tout nouveau serveur, vous devrez peut-être installer les bibliothèques suivantes.
yum installer gcc make automake autoconf libtool pcre pcre-devel libxml2 libxml2-devel curl curl-devel httpd-devel
Prénom, compilons la sécurité des mods. Aller à modsecurity-2.9.1 dossier et utilisez les commandes ci-dessous.
./configure --enable-standalone-module make
Suivant, installez Nginx avec la sécurité mod
./configure --add-module = .. / modsecurity-2.9.1 / nginx / modsecurity make make install
Cela conclut que Nginx est installé avec Mod Security et qu'il est temps de le configurer.
Configure Mod Security with Nginx
Copier modsecurity.conf-recommandé & mappage unicode fichier du dossier extrait du code source ModSecurity téléchargé ci-dessus vers le dossier nginx conf. Vous pouvez également utiliser le trouver commander.
find / -name modsecurity.conf-recommandé find / -name unicode.mapping
[[email protected] conf] # cp /opt/nginx/binary/modsecurity-2.9.1/modsecurity.conf-recommended / usr / local / nginx / conf / [[email protected] conf] # cp /opt/nginx/binary/modsecurity-2.9.1/ unicode.mapping / usr / local / nginx / conf / [[email protected] conf] #
Renommons modsecurity.conf-recommandé à modsecurity.conf
mv modsecurity.conf-recommandé modsecurity.conf
- Faites une sauvegarde du fichier nginx.conf
- Ouvrez le fichier nginx.conf et ajoutez ce qui suit sous la directive «location /»
ModSecurityEnabled on; ModSecurityConfig modsecurity.conf;
Donc ça devrait ressembler à ça
location / {ModSecurityEnabled on; ModSecurityConfig modsecurity.conf; }
Désormais, Mod Security est intégré à Nginx. Redémarrez le Nginx pour vous assurer qu'il monte sans aucune erreur.
Vérifions…
Il existe deux méthodes possibles pour confirmer que Nginx est compilé avec Mod Security.
Première…
Répertoriez le module compilé en utilisant –V avec le fichier exécutable nginx.
[[email protected] sbin] #./ nginx -V version nginx: nginx / 1.9.15 construit par gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) configure les arguments: --add-module = .. / modsecurity-2.9.1 / nginx / modsecurity [[email protected] sbin] #
Seconde…
Accédez au dossier des journaux et affichez le fichier d'erreur, vous devriez voir ce qui suit
2016/05/21 21:54:51 [notice] 25352 # 0: ModSecurity pour nginx (STABLE) /2.9.1 (http://www.modsecurity.org/) configuré. 2016/05/21 21:54:51 [notice] 25352 # 0: ModSecurity: APR version compilée = "1.3.9"; version chargée = "1.3.9" 2016/05/21 21:54:51 [notice] 25352 # 0: ModSecurity: version compilée PCRE = "7.8"; version chargée = "7.8 2008-09-05" 2016/05/21 21:54:51 [notice] 25352 # 0: ModSecurity: version compilée LIBXML = "2.7.6"
Cela conclut que vous avez configuré avec succès ModSecurity avec Nginx.
Par défaut, la configuration est en mode détection uniquement, ce qui signifie qu'elle n'exécutera aucune action et protégez vos applications web.
Dans mon prochain article, j'ai expliqué comment configurer Ensemble de règles OWASP et activation de la sécurité des mods pour se protéger des vulnérabilités de sécurité Web.
Plus de bonnes lectures sur Nginx
-
Comment rediriger la page AMP vers non-AMP dans Nginx, Apache, Cloudflare ?Abhishek Nair le 27 septembre 2021
-
Comment bloquer .git dans Apache, Nginx et Cloudflare?Chandan Kumar le 27 octobre 2020
-
Comment protéger la page avec un mot de passe dans Apache, Nginx, WordPress, hébergement?Chandan Kumar le 11 septembre 2020
-
Comment implémenter le certificat ZeroSSL dans Apache et Nginx?Asad Ali le 24 mai 2020
-
Configuration de Nginx pour les performances et la sécuritéMichael Aboagye le 24 février 2020
-
Comment activer CORS dans Apache et Nginx?Chandan Kumar le 18 octobre 2019
Plus vous apprenez, mieux vous devenez.
Chaque semaine, nous partageons des articles et des outils tendance dans notre newsletter. Plus de 10,000 XNUMX personnes aiment lire, et vous allez adorer aussi.