Translation(s): English - Français

Le module mod_evasive pour Apache2 permet de contrer des attaques de déni de service (DoS : Denial of Service), DDOS et Brute force. Ce module va chercher a détecter les demandes trop importantes qui sollicitent une page sur un site web en un délai de temps très court.

Mod Evasive

Le module mod_evasive pour Apache2 permet de contrer des attaques de déni de service (DoS : Denial of Service), DDOS et Brute force. Ce module va chercher a détecter les demandes trop importantes qui sollicitent une page sur un site web en un délai de temps très court.

Utiliser mod_evasive n'est pas suffisant pour une bonne sécurité, le travail de détection et de filtrage doit s'effectuer à un niveau beaucoup plus proche de la couche réseau, voire, à un niveau matériel. La détection d'attaques et le filtrage sur adresse IP n'est pas le travail normal d'un serveur Web comme Apache. Ce module facile à utiliser pourra tout de même vous aider a améliorer la sécurité de votre serveur.

Il conviendra d'utiliser mod_evasive conjointement à d'autres outils complémentaires comme mod_security et ?Fail2Ban. L'adresse IP de l'attaquant pourra être bloquée sur la durée avec ?Fail2Ban.

Si une attaque est lourde et persistante, il faudra peut-être envisager une solution d’atténuation des attaques DDoS basée sur le matériel. Sans un pare-feu et une bonne infrastructure, une attaque DDoS lourde risque de mettre vos services hors ligne.

Installation

Pour installer mod_evasive, vérifier l'ensemble des modules présents :

Installer mod_evasive :

Afficher la liste des modules activés :

Les fichiers evasive.conf et evasive.load ont été ajoutés. Le fichier /etc/apache2/mods-available/mod-evasive.conf contient les directives de configuration du module. Le fichier /etc/apache2/mods-available/mod-evasive.load indique à Apache2 où trouver le module dans le système de fichiers.

Le module mod-evasive se charge tout seul. vous pouvez le vérifier avec la commande

Créer le dossier qui va stocker les logs :

Configuration

Pour configurer mod_evasive :

Les directives présentes dans le fichier /etc/apache2/mods-enabled/evasive.conf seront appliquées à tous les sites gérés par Apache. Pour utiliser mod_evasive avec un site en particulier, ajouter les directives de mod_evasive dans le fichier de configuration du site. Configurer le site /etc/apache2/sites-available/mon-site.conf avec les balises <?IfModule mod_evasive20.c> et <?IfModule>. Les directives contenues dans ce fichier remplaceront alors celles de la configuration globale.

Liste des paramètres

DOSHashTableSize

DOSPageCount

DOSSiteCount

DOSPageInterval

DOSSiteInterval

DOSBlockingPeriod

DOSWhitelist

DOSEmailNotify admin@example.org

DOSLogDir "/var/log/apache2/mod_evasive/"

DOSSystemCommand

Tests de mod_evasive

Résultats attendus avec le script test.pl proposé dans l'installation de mod_evasive

Résultats affichés lors du lancement de test.pl proposé par défaut

Adapter le script test.pl

commenter # DOSWhitelist 127.0.0.1 depuis le fichier de configuration.

Test de mod_evasive avec Apache bench

Test de mod_evasive avec LOIC pour Windows

LOIC est un programme de Stress Test Réseau fonctionnant sous Windows. Télécharger la version Low Orbit Ion Cannon | When harpoons, air strikes and nukes fails | v. 1.0.8.0 depuis Sourceforge : https://sourceforge.net/projects/loic/files/latest/download . Une version plus transparente et récente est proposée depuis Github : https://github.com/NewEraCracker/LOIC

Pour générer une charge de travail, suivre l'ordre indiqué dans la capture d'écran ci-dessous et ne toucher à rien d'autre :

Purger le fichier de blacklist

Avis complémentaires

Ezra-S, le 7 août 2017 à 18:12 (source : https://serverfault.com/questions/867101/mod-evasive-doesnt-do-anything-on-ubuntu-server-16-04) : Je n’utiliserais jamais les modules httpd (tiers ou non) pour faire le travail d'un pare-feu ou d’ids/ips. Chaque couche a ses outils appropriés pour le travail, et utiliser un serveur http pour bloquer les ips dynamiquement ne convient tout simplement pas.

Lien externes