«¿Cómo apagar una sartén ardiendo y no quemar tu casa en el intento?»
Instalar y configurar mod_evasive
-Descargamos
cd /usr/src wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz tar -zxf mod_evasive_*.tar.gz cd mod_evasive
-Instalar
apxs -cia mod_evasive20.c
-¿Problemas? apxs no instalado Solución :
yum install httpd-devel
-Configurar
vi /etc/httpd/conf/httpd.conf
Añadimos
<IfModule mod_evasive.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 3600 DOSEmailNotify tuemaildenotificación@loquesea </IfModule>
Podemos añadir más cositas 😀
<IfModule mod_evasive.c> DOSHashTableSize 3097 DOSPageCount 1 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 </IfModule> <IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 5 DOSSiteCount 100 DOSPageInterval 2 DOSSiteInterval 2 </IfModule>
Detalles de los parámetros
DOSHashTableSize
Cuanto más grande sea el tamaño de la tabla de Hash, más memoria requerirá, pero el rastreo de Ips será más rápido.
Es útil aumentar su tamaño si nuestro servidor recibe una gran cantidad de peticiones, pero así mismo la memoria del servidor deberá ser también mayor.
DOSPageCount
Número de peticiones a una misma página para que una IP sea añadida a la lista de bloqueo
, dentro del intervalo de bloqueo en segundos especificado en el parámetro DOSPageInterval
DOSSiteCount
Igual que ‘DOSPageCount’, pero corresponde al número de peticiones al sitio en general, usa el intervalo de segundos especificado en ‘DOSSiteInterval’.
DOSPageInterval
Intervalo en segundos para el parámetro umbral de DOSPageCount.
DOSSiteInterval
Intervalo en segundos para el parámetro umbral DOSSiteCount.
DOSBlockingPeriod
Periodo de bloqueo para una IP si se supera alguno de los umbrales anteriores.
El usuario recibirá un error403 (Forbidden) cuando sea bloqueado, si el atacante lo sigue intentando, este contador se reseteará automáticamente, haciendo que siga más tiempo bloqueada la IP.
DOSEmailNotify
Dirección de correo electrónico que recibirá información sobre los ataques.
DosWhitelist
Podemos especificar una IP o rango que será excluido del rastreo por mod_evasive.
* Algo que he leído y todavía no he verificado por lo que no estoy muy seguro de opinar, ¿fallo de programación en el módulo? => http://el-blog-de-thor.blogspot.com/2009/04/fallo-de-programacion-en-modevasive.html