El módulo mod_evasive
en Apache es una herramienta de seguridad que protege el servidor contra ataques de tipo DoS (Denial of Service) y DDoS (Distributed Denial of Service), así como ataques de fuerza bruta. Este módulo detecta y bloquea automáticamente los intentos de acceso malintencionados, protegiendo el rendimiento y estabilidad del servidor.
mod_evasive
es un módulo de Apache que actúa contra múltiples solicitudes desde una misma IP en un corto período de tiempo, bloqueando temporalmente el acceso de dicha IP y enviando alertas para notificar al administrador del sistema. Esto permite reducir el riesgo de saturación y protege el servidor de posibles interrupciones del servicio.
Para instalar mod_evasive
, sigue estos pasos:
1. Actualizar los repositorios del sistema:
sudo apt update
2. Instalar el módulo mod_evasive:
sudo apt install libapache2-mod-evasive
3. Activar el módulo en Apache:
sudo a2enmod evasive
4. Reiniciar Apache para aplicar cambios:
sudo systemctl restart apache2
La configuración de mod_evasive
se encuentra en el archivo /etc/apache2/mods-available/evasive.conf
. Aquí se pueden definir varios parámetros para personalizar el funcionamiento del módulo:
Parámetro | Descripción |
---|---|
DOSHashTableSize
|
Tamaño de la tabla hash utilizada para hacer seguimiento de las IP. Valores comunes: 2048, 4096, etc. |
DOSPageCount
|
Número de accesos permitidos a una misma página antes de bloquear la IP. |
DOSSiteCount
|
Número de accesos permitidos a cualquier página antes de bloquear la IP. |
DOSPageInterval
|
Intervalo de tiempo (en segundos) para restablecer el conteo de DOSPageCount .
|
DOSSiteInterval
|
Intervalo de tiempo (en segundos) para restablecer el conteo de DOSSiteCount .
|
DOSBlockingPeriod
|
Tiempo (en segundos) que se bloqueará la IP después de alcanzar el límite de acceso. |
DOSEmailNotify
|
Dirección de correo electrónico para recibir notificaciones sobre ataques. |
DOSLogDir
|
Directorio donde se almacenan los registros de mod_evasive. |
DOSWhitelist
|
Lista de direcciones IP que estarán exentas de las reglas de bloqueo (por ejemplo, servicios internos). |
<IfModule mod_evasive20.c>
DOSHashTableSize 4096
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify admin@tusitio.com
DOSLogDir "/var/log/mod_evasive"
</IfModule>
En este ejemplo, el módulo bloquea una IP tras 2 solicitudes a la misma página en 1 segundo o 50 solicitudes al sitio completo en 1 segundo.
1. Bloqueo de ataques DoS pequeños: Configurando DOSPageCount
en 2 y DOSBlockingPeriod
en 10, el servidor bloqueará IPs que realicen más de 2 solicitudes en 1 segundo.
2. Whitelist de IPs de confianza: Utiliza DOSWhitelist
para agregar IPs de confianza y evitar su bloqueo.
Para más información, visita la documentación oficial de mod_evasive.
Jorge García
Fullstack developer