Proteger son serveur apache des attaques DDOS

Les serveurs web sont souvents exposés à des attaques de type DDOS . Afin de protèger un minimum notre serveur web .
Apache nous propose un module nommé mod_evasive . Son but est de pouvoir stopper (blacklisté) une ip suspectée de faire du DDOS .

Installation du module

  1. /*
  2. apt-get install libapache2-mod-evasive
  3. */

Configuration du module

  1. /*
  2. cat /etc/apache2/conf.d/evasive.conf
  3. <IfModule mod_evasive20.c>
  4. DOSHashTableSize 3097
  5. DOSPageCount 2
  6. DOSPageInterval 1
  7. DOSSiteCount 150
  8. DOSSiteInterval 1
  9. DOSBlockingPeriod 10
  10. DOSLogDir « /var/log/mod_evasive »
  11. DOSWhitelist 127.0.0.1
  12. DOSWhitelist 5.5.5.1
  13. DOSEmailNotify « votre_adresse_mail »
  14. DOSSystemCommand « /sbin/iptables -I INPUT -s %s -j DROP » #Avant de mettre cette ligne vérifier bien que vous êtes dans la « DOSWhitelist » Ca vous évitera d’être dans la merde 😉
  15. </IfModule>
  16. */
  • DOSPageCount : Nombre de requête de la même page sur un intervalle définit par DOSPageInterval .
  • DOSSiteCount : Nombre de requête sur des pages différentes autorisés sur un intervalle définit par DOSSiteInterval.
  • DOSPageInterval : Iintervalle temps en secondes utilisé par DOSPageCount.
  • DOSSiteInterval : Intervalle temps en secondes utilisé par DOSSiteCount. Défaut : 1 seconde.
  • DOSBlockingPeriod : Laps de temps temps lequel l’utilisateur aura doit à un beau 403
  • DOSLogDir : Dossier qui contiendra l’ensemble de IP blacklistés
  • DOSEmailNotify : Envoi un mail à l’adresse définit par ce paramètre
  • DOSSystemCommand : Utilisation d’une commande externe lorsqu’une IP est blacklisté

Vérifier que le module est bien pris en compte

  1. /*
  2. # apache2ctl -t -D DUMP_MODULES
  3. */

Problème de connu . Vous ne recevez pas les mails quand une IP est Blacklistée . Ceci est du au fait que le module tente d’envoyer le mail avec le binaire qui se situe dans /bin/mail .
Cependant ce binaire se situe autre part . Pour recevoir ce fameux mail :

  1. /*
  2. cd /bin/
  3. ln -s /usr/bin/mail mail
  4. */

Voir aussi cet article qui parle de mod_security, peut être utilisé en complément du mod_evasive.

Related posts

Leave a Comment