Avec le développement continu d'Internet, les applications Web sont devenues un élément indispensable de la vie quotidienne de nombreuses personnes. Cependant, diverses attaques Web sont suivies, telles que l'injection SQL, le cross-site scripting, etc. Ces attaques peuvent entraîner des problèmes de sécurité majeurs et menacer sérieusement la sécurité et la stabilité des applications Web. Afin de résoudre ces problèmes, Nginx introduit le module de pare-feu d'application (WAF). Cet article présentera en détail comment Nginx empêche les attaques Web en utilisant le module WAF.
Qu'est-ce que WAF ?
Le pare-feu d'application est un dispositif de contrôle de sécurité pour les applications Web qui peut se défendre contre diverses attaques, telles que l'injection SQL, les attaques XSS, les attaques CSRF, etc. WAF surveille les sites Web, détecte et se défend contre les attaques par divers moyens tels que les expressions régulières, les moteurs de règles et les signatures de données. En détectant les requêtes, WAF peut déterminer si la requête est malveillante, empêcher tout accès illégal et protéger les applications Web contre les attaques.
Pourquoi avez-vous besoin d'un WAF ?
Bien que de nombreuses applications Web utilisent diverses mesures de sécurité pour protéger leur propre sécurité, telles que SSL, la vérification de la force du mot de passe, le contrôle d'accès, etc. Mais les aléas des attaques Web rendent ces mesures facilement inefficaces. Par exemple, les attaques par injection SQL sont aujourd’hui l’une des attaques les plus courantes. Les attaquants peuvent injecter directement des instructions SQL en écrivant du code malveillant pour manipuler la base de données ou obtenir des informations sensibles. Dans ce cas, l'utilisation de WAF peut mieux protéger la sécurité des applications Web et empêcher les attaques de bases de données ou le vol d'informations sensibles.
Comment protéger Nginx grâce au module WAF ?
Nginx implémente les fonctions WAF en introduisant des modules tiers, et vous pouvez choisir d'utiliser OpenResty, ModSecurity et d'autres modules. Ce qui suit utilise le module ModSecurity comme exemple pour présenter comment utiliser le module WAF pour protéger Nginx.
Vous pouvez installer le module ModSecurity via la commande suivante :
sudo apt-get install libmodsecurity3 libmodsecurity-dev
Après l'installation est terminé, entrez dans le fichier de configuration Nginx Core, ajoutez la configuration suivante :
location / { # 引入ModSecurity防火墙定义文件 ModSecurityEnabled on; ModSecurityConfig /etc/nginx/modsec/modsecurity.conf; }
L'étape suivante consiste à configurer les règles pour ModSecurity, vous pouvez choisir d'utiliser OWASP, etc. Il existe des ensembles de règles ou écrire des règles personnalisées en fonction de vos besoins. Nous pouvons créer un nouveau fichier de règles dans le dossier /etc/nginx/modsec :
sudo nano /etc/nginx/modsec/modsecurity_custom_rules.conf
Modifiez le fichier pour ajouter des règles personnalisées, par exemple :
SecRuleEngine On # 防止SQL注入 SecRule ARGS "@rx ((select|union|insert|update|drop|delete))" "id:1,deny,status:403,msg:'SQL Injection attempt'"
dans le ci-dessus. Dans l'exemple, nous avons ajouté une règle pour empêcher les attaques par injection SQL. Lorsqu'une requête GET contient les mots-clés "select", "union", "insert", "update", "drop" et "delete", ModSecurity interceptera la requête et enverra une erreur 403, indiquant que l'accès est refusé.
Après avoir terminé les étapes ci-dessus, utilisez la commande suivante pour redémarrer le service Nginx :
sudo systemctl restart nginx
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!