Mod_evasive : un module anti-dos pour Apache


Earth
Mod_evasive est un module Apache pour contrer les attaques DOS. Celui-ci 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. Voici comment l'installer et le configurer pour une utilisation basique.

Installation de Mod_evasive

Pour installer Mod_evasive sur une distribution à base de RPM (Red Hat, centOS, Fedora...), ouvrez un terminal et lancez la commande suivante en root :

yum install mod_evasive

Ou celle-ci pour une distribution à base de Debian :

sudo apt-get install libapache2-mod-evasive

Configuration basique de Mod_evasive

Toute la configuration de Mod_evasive se trouve dans le fichier /etc/httpd/conf.d/mod_evasive.conf (ou /etc/apache2/conf.d/mod-evasive pour une distribution à base de debian). Voici un exemple de configuration à utiliser :

<IfModule mod_evasive20.c>
  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 seconde pendant laquelle on bloque le client
  DOSBlockingPeriod 10
  # Dossier contenant les IP blaclistes
  DOSLogDir "/var/lock/mod_evasive"
</IfModule>

On met ensuite en place le dossier qui va stocker les adresses IP blacklistées :

mkdir -p /var/lock/mod_evasive
chown -R apache:apache /var/lock/mod_evasive

Et on relance le serveur Apache pour prendre en compte les modifications, avec cette commande pour une distribution à base de RPM :

/etc/init.d/httpd restart

Ou celle-ci pour une distribution à base de Debian :

/etc/init.d/apache2 restart

Pour tester le module, je vous recommande de mettre des valeurs assez faibles et de regarder ce qui se passe. Normalement, toutes les images de vos sites ne s'afficheront pas et le dossier /var/lock/mod_evasive devrait se remplir.

Pour finir, on peut mettre en place la crontab suivante pour puger le dossier de blacklist de temps en temps :

# Menage mod_evasive
00 5 * * * find /var/lock/mod_evasive -mtime +1 -type f -exec rm -f '{}' \;

3 Commentaires pour "Mod_evasive : un module anti-dos pour Apache"

Flux des commentaires de cet article Ajouter un commentaire
  •  

    Très bien ! j'ai limite envie de vous dire, le ddos n'est plus un problème après avoir mis en place ce petit module !

    RépondreRépondre
    LulYOp , le 7 juin 2013 à 19:15
  •  

    Alors, 2 petites choses :
    1) Pour répondre à LulYOp : Ce module pare des DOS, pas des Ddos ... D'ailleurs, je pense que vu le fonctionnement, il n'aura aucun, voir peu d'intérêt contre un DDOS.
    2) Si on a déjà une instance de fail2ban configuré, celui-ci ne fera pas double usage ? Qu'en est-il de la ressource nécessaire ? Est-ce plus avantageux qu'une règle fail2ban ?

    RépondreRépondre
    Nono , le 6 août 2014 à 15:00
  •  

    Merci beaucoup
    tu m'as beaucoup aidé.

    RépondreRépondre
    Merci , le 14 décembre 2014 à 23:43
 

Ajouter un commentaire

actualité android apache apple astuce astuces bash bilboblog blog boot chrome clavier commande commandes conky date debian Desktop développement elementary exploit faille fedora firefox flash gimp gnome google graphique Graphisme hack hacking Hardware humour intel internet iphone jailbreak Jeux Kde kernel libre Linux log logiciels Logiciels Libres lucid lynx maemo mail maquette metasploit microsoft mobile mockup monitoring mozilla multi-touch musique mysql n900 nautilus nokia noyau openoffice open source password photos php Planet publicité redhat red hat rpm réseau screenshot script serveur serveurs shell sql ssh statistiques sysadmin system Sécurité thème tux-planet tv twitter ubuntu unity vidéo vidéos vlc voyage wallpaper windows wordpress yum