1. Descargar y descomprimir
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
2. Compilamos
2.1 Apache 1.X
apxs -cia mod_evasive.c2.2 Apache 2.0-2.2
apxs -cia mod_evasive20.c2.3 Apache 2.4
cp mod_evasive{20,24}.c3. Añadimos a httpd.conf
sed s/remote_ip/client_ip/g -i mod_evasive24.c
apxs -cia mod_evasive24.c
Include conf/modevasion.conf4. Configuramos conf/modevasion.conf
<IfModule mod_evasive20.c>5. En caso de querer bloquear con el CSF en vez de mostrar un 403:
DOSHashTableSize 3097
DOSPageCount 3
DOSSiteCount 100
DOSPageInterval 3
DOSSiteInterval 5
DOSBlockingPeriod 300
DOSLogDir "/var/log/httpd/modevasive/"
DOSEmailNotify [email protected]
</IfModule>
5.1 Instalamos sudo si no está
5.2 visudo
User_Alias APACHE = apache, <usuarioDA> # si tenemos el mod_ruid2 instaldo o suphp5.3 Añadimos a conf/modevasion.conf
Cmnd_Alias FIREWALL = /sbin/iptables, /usr/sbin/csf, /sbin/ifconfig, /sbin/route
APACHE ALL = (ALL) NOPASSWD: FIREWALL
DOSSystemCommand "/usr/bin/sudo /usr/sbin/csf -td %s 3600"