Module anti-dos pour Apache {Mod_evasive}

Mod_evasive est un module Apache qui a pour fonction de contrer les attaques HTTP-DoS et Bruteforce. Il est par exemple capable de détecter lorsqu’un utilisateur demande un trop grand nombre de pages sur un site web, sur un délai de temps très court et de bloquer son IP par iptables.

Installation :

1. Ouvrez un terminal et tapez :

sudo apt-get install libapache2-mod-evasive

2. Puis activez le module s’il ne l’est pas encore :

sudo a2enmod mod-evasive

Configuration :

1. Créez le fichier de configuration du module :

sudo nano /etc/apache2/conf.d/mod_evasive

2. Ajoutez les lignes suivantes, puis fermez et enregistrez le fichier :

DOSHashTableSize 3097
#Pas plus de 2 pages par seconde
DOSPageCount 2
DOSPageInterval 1
#Pas plus de 150 requetes par seconde (images, CSS...)
DOSSiteCount 150
DOSSiteInterval 1
#Periode en secondes pendant laquelle on bloque le client
DOSBlockingPeriod 10
#Permet l'envoie d'un email de notification lors du blocage d'une adresse IP
DOSEmailNotify "admin@localhost"
#Liste blanche d'IPs à ne pas bannir (ceux de Google par exemple)
DOSWhiteList 66.249.65.*
DOSWhitelist 66.249.66.*
DOSWhitelist 66.249.71.*
#Commande à exécuter lorsqu'une attaque est détectée
DOSSystemCommand "/bin/echo %s >> /var/log/mod_evasive/dos_evasive.log && /bin/date >> /var/log/mod_evasive/dos_evasive.log"
#Dossier contenant les IP blaclistées
DOSLogDir "/var/log/mod_evasive"

3. Mettez ensuite en place le dossier qui contiendra les adresses IP blacklistées :

sudo mkdir -p /var/log/mod_evasive
    sudo chown -R www-data:www-data /var/log/mod_evasive

4. Pour finir, redémarrez Apache pour que les modifications soient prises en compte :

sudo service apache2 restart

Test du module:

1. Nous allons ensuite procéder au test du module :

perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl

2. S’il vous retourne des erreurs « 403 Forbidden » au bout de quelques requêtes, c’est que le module fonctionne !

mod_evasive