Installation du module
- Récupération de mod_evasive :
Récupération de la dernière version stable de mod_evasive sur le site de l’éditeur ou en bas de page.
wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
On décompresse le fichier téléchargé :
tar xzvf mod_evasive_1.10.1.tar.gz
On se déplace dans le dossier obtenu :
cd mod_evasive
- Installation du module
Pour l’installation du module à proprement parler, on se sert de la commande apxs2
apxs (et donc apxs2) est un outil pour construire et installer des modules d’extension pour le serveur de protocole de transfert Hypertexte (HTTP) Apache
S’il n’est pas installé, on s’en charge immédiatement :
apt-get install apache2-threaded-dev
On installe le module par la commande (pour apache2) :
apxs2 -ic mod_evasive20.c
( pour apache, la commande est : apxs -ic mod_evasive.c )
Ensuite, on créé un fichier mod_evasive20.load dans /etc/apache2/mods-available dont le contenu sera :
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
Paramétrage du module
Dans apache2.conf ou plus simplement dans httpd.conf, on insère les paramètres de configuration du module.
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSLogDir "/var/log/apache2/mod_evasive"
</IfModule>- Explications des paramètres
Dans les paramètres, on parlera de plusieurs seuils, définis dans ces mêmes paramètres.
Une fois ce que seuil aura été dépassé, l’adresse ip du client est ajoutée à la liste du blocage.
DOSHashTableSize : table de hashage
DOSPageCount : seuil du nombre de demande de la même page (url identique) pendant l’ intervalle temps définie par DOSPageInterval.
DOSSiteCount : seuil du nombre de demande de pages différentes (url différentes) autorisés durant l’intervalle temps définie par DOSSiteInterval.
DOSPageInterval : seuil de l’intervalle temps en secondes attaché à DOSPageCount. Défaut : 1 seconde.
DOSSiteInterval : seuil de l’intervalle temps en secondes attaché à DOSSiteCount. Défaut : 1 seconde.
DOSBlockingPeriod : Période en secondes durant laquelle l’ip du visiteur est bloquée. Les demandes ultérieures du client se traduiront par une réponse 403 (Interdit) . La période court à compter de la dernière requête. Si le client émet une nouvelle requête durant le compte à rebours, le compte à rebours reprend dans son intégralité.
- Paramètres optionnels :
DOSEmailNotify : Quand ce paramètre est présent, le module enverra un mail au destinataire losqu’une ip se trouvera bloquée.
DOSSystemCommand : Lorsque se paramètre est présent, le module exécutera une commande lorsqu’une ip se trouvera bloquée.
DOSLogDir : Adresse du fichier log. Défaut : /tmp
- Passage en production :
On active le module
a2enmod mod_evasive20
puis, on recharge la configuration du serveur :
/etc/init.d/apache2 force-reload