Apache est un serveur Web. Dans le cas de grosses entreprise il convient de définir une politique de répartition des charges (Load Balancing) afin de pouvoir supporter le nombre de clients et limiter les attaques de grande ampleur sur le service.
Nous allons étudier le paquet mod-evasive (anciennement appelé mod-dosevasive) qui permettra de limiter la charge de votre serveur et permettre ainsi de parer aux attaques de type Denial Of Service
Afin d’installer mod-evasive tapez la commande :
# Debian
apt-get install libapache-mod-evasive
# Redhat
yum install mod-evasive
Pour pouvoir configurer le module il est nécessaire d’ajouter le fichier de configuration /etc/apache2/conf.d/evasive.
touch /etc/apache2/conf.d/evasive
# ou
echo "" > /etc/apache2/conf.d/evasive
et ensuite éditez le fichier afin d’ajouter le contenu suivant permettant d’utiliser le module :
<ifmodule mod_evasive20.c>
</ifmodule>
Pour configurer mod-evasive, il suffit d’ajouter les directives entre les balises ifmodule du fichier /etc/apache2/conf.d/evasive.
Voyons maintenant les diverses options du module.
Voici maintenant quelques exemples de configuration suivant le trafic que vous devrez emmagasiner.
Pour moins de 100 connexions simultanées :
DOSPageCount 100
DOSPageInterval 1
DOSSiteInterval 1
DOSSiteCount 120
DOSBlockingPeriod 30
Pour 100 à 500 connexions simultanées ou si le moyen principal est via une passerelle natée (donc une seule IP) :
DOSPageCount 500
DOSPageInterval 1
DOSSiteCount 1000
DOSBlockingPeriod 20
Pour de plus de 1000 connexions simultanées :
DOSPageCount 2000
DOSPageInterval 1
DOSSiteCount 5000
DOSBlockingPeriod 20
Vous savez désormais gérer le trafic efficacement sur votre Apache. N’oubliez pas d’augmenter la valeur de la directive MaxKeepAliveRequests dans le fichier /etc/apache2/apache2.conf afin de pouvoir supporter le trafic.