31 de mayo de 2010

Apache y Mod_Evasive: Protegiendo nuestro sitio web de ataques DOS

Mod_evasive es un módulo de Apache pensado para proteger nuestros sitios web de ataques de Denegación de Servicio (DOS). Para configurarlo de forma adecuada, seguir los siguientes pasos.

En CentOS editamos el archivo /etc/httpd/conf.d/mod_evasive.conf

LoadModule evasive20_module modules/mod_evasive20.so

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify root@localhost
DOSLogDir "/var/lock/mod_evasive"
</IfModule>

Descripción de los parámetros

  • DOSHashTableSize: Define en cuantos directorios (ubicados en memoria) serán divididos los registros ade accesos.
  • DOSPageCount: Indica el máximo número de accesos permitidos a la misma página dentro del tiempo establecido en DOSPageInterval.
  • DOSSiteCount: Indica el máximo número de accesos permitidos a cualquier elemento (imágenes, multimedia, html) del sitio web dentro del tiempo establecido en DOSSiteInterval.
  • DOSPageInterval: Tiempo en segundos.
  • DOSSiteInterval: Tiempo en segundos.
  • DOSBlockingPeriod: Tiempo, en segundos, durante el cual, el atacante recibirá errores 403.
  • DOSEmailNotify: Correo al cual notificar cada vez que un IP ha sido bloqueada.
  • DOSLogDir: Directorio en el cual el usuario bajo el que está ejecutándose el Apache puede registrar los bloqueos que han sido efectuados.

Parámetros adicionales

  • DOSSystemCommand: Comando que será ejecutado cada vez que una IP sea bloqueada. Por ejemplo si deseamos bloquear la IP de forma permanente, podemos ejecutar asignar al parámetro el valor: "iptables -A INPUT -s %s -j DROP" donde %s es la direccón IP a bloquear.
  • DOSWhitelist: IP para el cual este módulo no estará activo (registrar más de un DOSWhitelist en caso se quiera registrar más de una IP). Ejemplos de IPs: 127.0.0.1, 192.168.0.*

No hay comentarios:

Publicar un comentario