ModSecurity est un pare-feu pour applications Web (WAF) open source, qui fournit une protection robuste contre une variété d’attaques, y compris l’injection de code SQL et le cross-site scripting (XSS). Voici comment vous pouvez configurer ModSecurity.
Étape 1 : Installation de ModSecurity
Commencez par mettre à jour le système.
sudo apt-get update
sudo apt-get upgrade
Ensuite, installez ModSecurity avec cette commande.
sudo apt-get install libapache2-mod-security2
Étape 2 : Configuration de ModSecurity
Le fichier de configuration principal de ModSecurity est situé à /etc/modsecurity/modsecurity.conf. Vous pouvez l’éditer avec un éditeur de texte, comme vi ou nano.
sudo nano /etc/modsecurity/modsecurity.conf
Par défaut, ModSecurity fonctionne en mode « détection ». Pour le faire fonctionner en mode « blocage », changez la ligne « SecRuleEngine DetectionOnly » en « SecRuleEngine On ».
SecRuleEngine On
Étape 3 : Configuration des règles
ModSecurity utilise des règles pour déterminer quel type de trafic est considéré comme une menace. Vous pouvez utiliser l’ensemble de règles CRS (Core Rule Set) qui est maintenu par la communauté OWASP. Installez les règles CRS avec cette commande.
sudo apt-get install modsecurity-crs
Ensuite, activez les règles dans la configuration d’Apache.
sudo nano /etc/apache2/mods-enabled/security2.conf
Ajoutez la ligne suivante pour activer les règles CRS.
IncludeOptional "/usr/share/modsecurity-crs/*.conf"
Voici quelques règles supplémentaires pour renforcer la sécurité de votre serveur web :
Prévention de l’exploitation de l’Upload de fichiers :
Les attaques d’upload de fichiers peuvent être une menace sérieuse pour un serveur web. Vous pouvez ajouter une règle pour empêcher les utilisateurs de télécharger des fichiers potentiellement dangereux.
SecRule REQUEST_FILENAME "\.(exe|sh|bash)$" "id:'100',log,deny,status:404,msg:'File upload of potentially dangerous file type attempted!'"
Empêcher l’inclusion de fichiers à distance :
Les attaques d’inclusion de fichiers à distance (RFI) utilisent des scripts malveillants pour inclure des fichiers à partir de serveurs distants. Ces attaques peuvent être bloquées en empêchant l’inclusion de fichiers à partir d’URL externes.
SecRule ARGS "@rx ((http|https):\/\/){1,}.*?((\.exe)|(\.php)|(\.pl)|(\.py)|(\.jsp)|(\.asp)|(\.shtml)|(\.sh)|(\.cgi))" "id:'200',phase:2,t:none,deny,status:501,msg:'Remote File Inclusion (RFI) Attack. Matched signature '"
Étape 4 : Redémarrez Apache
Enfin, redémarrez Apache pour que les modifications prennent effet.
sudo service apache2 restart
Félicitations ! Vous avez maintenant configuré ModSecurity sur votre serveur Debian. N’oubliez pas de surveiller régulièrement les logs de ModSecurity pour vous assurer qu’il fonctionne correctement.