Si vous sécurisez Nginx avec Mod Security, vous aimeriez que l'ensemble de règles de base (CRS) de l'OWASP soit activé pour vous protéger contre les menaces suivantes
- Protection contre les violations du protocole HTTP
- Attaques web courantes
- Protection contre les robots, les robots d'indexation et les activités malveillantes
- Protection contre les chevaux de Troie
- Protection contre les fuites d'informations
- Attaques de type "Cross Site Scripting
- Attaques par injection SQL
Vous êtes d'accord?
Dans mon article précédent, j'ai expliqué comment installer Nginx et Mod Sécurité et comme promis voici comment vous pouvez les configurer avec OWASP CRS pour une meilleure sécurité.
ModSecurity est un pare-feu d'application Web(WAF) open source, et par défaut, il est configuré pour détecter uniquement. Cela signifie que vous devez activer la configuration nécessaire(comme suit) pour commencer à protéger vos sites web.
Téléchargez ModSecurity CRS
- Téléchargez le dernier fichier zip CRS à partir du lien suivant et transférez-le sur le serveur
https://github.com/SpiderLabs/owasp-modsecurity-crs/zipball/master
- décompressez le fichier
décompressez SpiderLabs-owasp-modsecurity-crs-2.2.9-26-gf16e0b1.zip
- Copiez ce qui suit dans le dossier conf de nginx
modsecurity_crs_10_setup.conf.example base_rules
Configurer Nginx pour intégrer OWASP ModSecurity CRS
Puisque vous avez décidé d'utiliser le CRS OWASP, vous devez fusionner le fichier conf inclus dans le CRS OWASP de SpiderLabs, que vous venez de copier (modsecurity_crs_10_setup.conf.example ) dans le dossier nginx.
Nginx ne supporte pas plusieurs directives ModSecurityConfig comme Apache, vous devez donc rassembler toutes les règles conf dans un seul fichier
C'est ce que nous allons faire..
- Ajoutez base_rules & modsecurity_crs_10_setup.conf.example au fichier modsecurity.conf
cat modsecurity_crs_10_setup.conf.example base_rules/*.conf >>/usr/local/nginx/conf/modsecurity.conf
Vous devez également copier tous les fichiers *.data dans le dossier conf de nginx
cp base_rules/*.data /usr/local/nginx/conf/
Vérification rapide
Assurez-vous d'avoir ajouté les directives ModSecurityEnabled et ModSecurityConfig dans le fichier nginx.conf sous location. Si ce n'est pas le cas, ajoutez-les comme ci-dessous
emplacement / { ModSecurityEnabled on ; ModSecurityConfig modsecurity.conf ;
}
- Redémarrez Nginx
En faisant tout ce qui précède, vous avez réussi à intégrer les OWASP CRS dans Mod Security sur Nginx. Il est temps de faire les petites modifications essentielles
Configurer l'ensemble de règles OWASP Core pour commencer à protéger
Dans cette section, toutes les modifications se feront dans le fichier modsecurity.conf donc n'oubliez pas de faire une sauvegarde
Première chose
Activez la journalisation d'audit
Il est essentiel de générer des journaux, afin que vous sachiez ce qui est bloqué. Ajoutez la directive SecAuditLog si elle n'existe pas
SecAuditLog /usr/local/nginx/logs/modsec_audit.log
Redémarrez Nginx, et vous verrez le fichier journal généré
–
rw-r----- 1 root root 0 May 22 07:54 /usr/local/nginx/logs/modsec_audit.log
Activez le moteur de règles de sécurité
Commencez la protection de Mod Security en activant le moteur de règles comme suit
SecRuleEngine On
Activez l'action par défaut comme Deny
Configurez l'action par défaut en tant que "blocage" pour toute demande correspondant aux règles
SecDefaultAction "phase:1,deny,log"
Les trois configurations ci-dessus sont essentielles et ModSecurity est maintenant prêt à exécuter l'action et à protéger
Voici une autre configuration qui pourrait vous intéresser
Changez la bannière d'en-tête du serveur
La configuration par défaut de Nginx expose les informations du serveur avec sa version, ce qu'il est fortement recommandé de masquer si vous travaillez dans un environnement PCI-DSS
Vous pouvez également le faire sans Mod Security comme expliqué ici
En-tête par défaut
Vous pouvez le faire rapidement en ajoutant une ligne
SecServerSignature GeekFlare
Et maintenant cela ressemble à
J'espère que les instructions ci-dessus vous aideront à intégrer l'OWASP Core Rule Set avec le serveur web Nginx pour une meilleure protection.