Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Nginx et Sécurité Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

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

nginx-default-header

Vous pouvez le faire rapidement en ajoutant une ligne

SecServerSignature GeekFlare

Et maintenant cela ressemble à

nginx-modsecurity-header

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.

  • Chandan Kumar
    Auteur
    Chandan Kumar est le fondateur de Geekflare. Il a aidé des millions de personnes à exceller dans le domaine numérique. Passionné de technologie, il s'est donné pour mission d'explorer le monde et d'amplifier la croissance des professionnels et des entreprises.
Merci à nos sponsors
Plus de lectures sur Nginx
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus