Installation de ModSecurity sur Apache (Ubuntu)

Voici les étapes pour installer ModSecurity sur Apache sous Ubuntu :

Étape 1: Mise à jour des dépôts logiciels

        
sudo apt update -y
        
    

Étape 2: Téléchargement et installation du module ModSecurity pour Apache

        
sudo apt install libapache2-mod-security2
        
    

Tapez "Y" lorsqu'on vous le demande pour confirmer l'installation.

Étape 3: Téléchargement du jeu de règles Core Rule Set (CRS) d'OWASP

        
wget https://github.com/coreruleset/coreruleset/archive/v3.3.0.zip
        
    

Vérifiez la somme de contrôle de votre fichier téléchargé en utilisant les commandes spécifiques à votre système d'exploitation.

        
# Windows
certutil -hashfile v3.3.0.zip sha1; echo ProvidedChecksum

# Mac
shasum v3.3.0.zip && echo ProvidedChecksum

# Linux/Unix
sha1sum v3.3.0.zip && echo ProvidedChecksum 
        
    

Assurez-vous que les sommes de contrôle correspondent avant de continuer.

        
unzip v3.3.0.zip
mv coreruleset-3.3.0/crs-setup.conf.example /etc/modsecurity/crs-setup.conf
mv coreruleset-3.3.0/rules/ /etc/modsecurity/
        
    

Étape 4: Modification du fichier de configuration d'Apache pour charger les règles ModSecurity

        
nano /etc/apache2/mods-enabled/security2.conf
        
    

Assurez-vous que les deux fichiers de configuration ModSecurity sont listés :

        
IncludeOptional /etc/modsecurity/*.conf
Include /etc/modsecurity/rules/*.conf
        
    

Étape 5: Redémarrage d'Apache

        
sudo systemctl restart apache2
        
    

Problèmes lors du redémarrage d'Apache

        
systemctl status apache 
        
    

Si Apache échoue à redémarrer, vérifiez le statut pour obtenir des informations sur l'erreur.

        
/etc/apache2/mods-enabled/security2.conf
# Commentez la ligne suivante en ajoutant un # au début : # IncludeOptional /usr/share/modsecurity-crs/owasp-crs.load
        
    

Enregistrez les modifications et redémarrez Apache :

        
sudo systemctl restart apache2
        
    

Étape 6: Test de la configuration ModSecurity

        
sudo nano /etc/apache2/sites-available/000-default.conf
        
    

Ajoutez la règle ModSecurity personnalisée à la fin du fichier :

        
SecRuleEngine On
SecRule ARGS:testparam "@contains test" "id:999,deny,status:403,msg:'Test Successful'"
        
    

Changez le numéro d'ID et le message (msg) selon vos préférences.

        
sudo systemctl restart apache2
        
    

Essayez d'accéder à une URL sur le serveur avec "?testparam=test" à la fin. Vous devriez recevoir une erreur 403 Forbidden.

        
cat /var/log/apache2/error.log | grep 'Test Successful'