Volver a la página principal
miércoles 13 noviembre 2024
46

Cómo configurar mod_evasive en Apache para prevenir ataques

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.

¿Qué es mod_evasive?

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.

Instalación de mod_evasive en Apache

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

Configuración de mod_evasive

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ámetros importantes de mod_evasive

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).

Ejemplo de configuración de mod_evasive

<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.

Ejemplos de uso

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.

Referencias adicionales

Para más información, visita la documentación oficial de mod_evasive.

Etiquetas:
bash apache
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer