Matando conexiones IP que "envían spam" con solicitudes

3

¿Cómo puedo eliminar las conexiones IP que parecen estar enviando muchas solicitudes al mismo URL? Digamos que tengo a alguien que solicita el mismo url por más de 10 veces en 5 segundos, quiero "enfriarlo". ¿Alguna idea sobre cómo se hace?

    
pregunta Itai Sagi 19.12.2011 - 22:12
fuente

2 respuestas

5

En * nix, puedes usar fail2ban con algo como esto en tu jail.conf (100 solicitudes en 30 segundos significa una suspensión de 5 minutos). Por supuesto, tendrá que ajustar esto para la cantidad de solicitudes que espera de un usuario legítimo. Como @Jeff Ferland señala en los comentarios a continuación, debe tener en cuenta la cantidad de solicitudes que recibe en una carga de página normal. (por ejemplo, tiene muchas imágenes en la página).

[apache-spammer]

enabled = true
banaction = apache
port    = http,https
filter  = apache-spammer
logpath = /srv/*/log/access.log
maxretry = 100
findtime = 30
bantime = 300

y un filtro como este en /etc/fail2ban/filter.d/apache-spammer.conf :

[Definition]

# Option:  failregex
# Notes.:  regex to match the request messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
#
failregex = ^<HOST>.*/path/to/content.html

Esto es no probado : tendrás que experimentar un poco para encontrar lo que funciona. Mira tu fail2ban.log para verificar que no estás prohibiendo a usuarios inocentes.

Una alternativa sería una regla de firewall que limite las solicitudes de una dirección IP en particular.

    
respondido por el bstpierre 19.12.2011 - 22:53
fuente
2

¿ mod_evasive sería lo que estás buscando? Se centra en los ataques DoS y limita la cantidad de solicitudes a una página por segundo. De lo contrario, podrías adaptar fail2ban para ayudar.

    
respondido por el Jeff Ferland 19.12.2011 - 22:54
fuente

Lea otras preguntas en las etiquetas