Mod_evasive est un module Apache qui fournit une action d’évitement en cas d’attaque HTTP DoS ou DDoS ou d’attaque par force brute. mod_evasive signale actuellement les activités malveillantes par e-mail et syslog. Le module mod_evasive fonctionne en créant une table de hachage dynamique interne d’adresses IP et d’URI et en refusant toute adresse IP unique dans l’une des conditions suivantes :
Dans ce tutoriel, je vais expliquer comment installer, configurer et utiliser mod_evasive sur votre serveur Apache. Ce tutoriel utilise un serveur Ubuntu 14.04.
Contenu
Installation de mod_evasive
Tout d’abord, assurez-vous que le serveur Apache est installé et en cours d’exécution.
Ensuite, vous pouvez installer le module mod_evasive en exécutant :
Après avoir installé mod_evasive, vous pouvez vérifier ce module en exécutant les commandes suivantes :
Si mod_evasive est activé, vous verrez la sortie suivante :
Configurer Mod_evasive
Le module mod_evasive lit sa configuration dans « /etc/apache2/mods-enabled/evasive.conf ». Vous pouvez facilement personnaliser le module mod_evasive via le fichier de configuration « evasive.conf ». Par défaut, les options de configuration mod_evasive sont désactivées, vous devrez donc d’abord les activer. Pour cela, éditez le fichier « evasive.conf » :
Supprimez # des lignes suivantes :
Enregistrez le fichier et redémarrez Apache pour que vos modifications prennent effet :
Vous pouvez modifier les valeurs ci-dessus en fonction de la quantité et du type de trafic que votre serveur Web doit gérer.
DOSHashTableSize : cette directive spécifie comment mod_evasive garde une trace de qui accède à quoi. L’augmentation de ce nombre permettra une recherche plus rapide des sites que le client a visités dans le passé.
DOSPageCount : cette directive spécifie le nombre de requêtes identiques à un URI spécifique qu’un visiteur peut effectuer sur l’intervalle DOSPageInterval.
DOSSiteCount : Ceci est similaire à DOSPageCount mais correspond au nombre de requêtes globales qu’un visiteur peut effectuer sur votre site au cours de l’intervalle DOSSiteInterval.
DOSBlockingPeriod : Si un visiteur dépasse les limites fixées par DOSSPageCount ou DOSSiteCount, son IP sera bloquée pendant la durée DOSBlockingPeriod. Pendant cet intervalle, il recevra une erreur 403 (Interdit).
DOSEmailNotify : Un e-mail sera envoyé à l’adresse e-mail spécifiée chaque fois qu’une adresse IP est sur liste noire.
DOSLogDir : Cette directive spécifie l’emplacement du répertoire des journaux.
Tester Mod_evasive
Il est maintenant temps de tester si le module mod_evasive fonctionne ou non. Vous pouvez le faire en utilisant un script perl « test.pl » situé dans le répertoire « /usr/share/doc/libapache2-mod-evasive/examples/ ».
Vous pouvez exécuter le script en exécutant la commande suivante :
Vous devriez voir la sortie suivante :
Le script envoie 100 requêtes à votre serveur Web. Le code de réponse 403 indique que l’accès est refusé par le serveur Web.
Conclusion
mod_evasive est un outil très important pour sécuriser un serveur web Apache contre plusieurs menaces. Vous pouvez expérimenter avec mod_evasive et différentes options dans un environnement de test. Si vous avez des questions, vous pouvez les écrire dans la zone de commentaire ci-dessous.
Cet article est-il utile ? Oui Non