¿Cómo puedo bloquear una IP, si recibo muchas solicitudes http en un segundo?

13

Si alguien ha intentado un ataque de fuerza forzada en mi sitio web, ¿cómo puedo bloquearlo?

Idealmente, quiero bloquear una IP si tengo muchas solicitudes http / Apache en un segundo.

    
pregunta lee peat 12.05.2013 - 08:01
fuente

3 respuestas

7

fail2ban puede configurarse para hacer esto. Puede configurarlo para que se active en una coincidencia de expresiones regulares en un archivo de registro y si sucede demasiadas veces por minuto (no estoy seguro de que vaya a la segunda resolución, sino simplemente multiplique lo que estaba pensando por segundo por 60) y puede eliminar la IP del cliente en el filtro de paquetes de iptables o cualquier otra acción que desee realizar. O puede usar el módulo reciente de iptables y adaptar lo que he hecho aquí para los ataques de fuerza bruta SIP para usar con su servidor web:

enlace

    
respondido por el Tracy Reed 12.05.2013 - 08:08
fuente
9

fail2ban es una solución fácil de implementar en estos casos.

Agregue un archivo block-all-dem-noobs.conf a su directorio filter.d , algo como esto

[Definition]
failregex = ^<HOST> -.*"GET.*

Traducción: un RegExp para encontrar solicitudes GET

Luego crea una nueva entrada en tu jail.conf , algo como esto

[block-all-dem-noobs]
enabled = true
port = http,https
filter = block-all-dem-noobs
logpath = /var/log/httpd/access.log
maxretry = 100
findtime = 5
bantime = 600
action = iptables[name=HTTP, port=http, protocol=tcp]

Traducción: revise mi archivo access.log , luego bloquee durante 600 segundos (10 minutos) las direcciones IP que realizaron 100 solicitudes en 5 segundos

Un gran inconveniente, sin embargo, es que esto podría producir falsos positivos para los usuarios de NAT , ya que todos aparecer como una dirección IP para ti.

    
respondido por el Adi 12.05.2013 - 09:57
fuente
1

Puedes configurar Apache mod_evasive module. Este módulo proporciona una función muy básica al mantener una tabla hash de IP y páginas solicitadas y, cuando se supera un nivel de umbral en una página o sitio de destino, "bloqueará" la IP con un error 403 "Prohibido". Para los detalles de configuración, lea " Cómo detener un ataque DDoS Apache con mod_evasive ".

    
respondido por el Ali Ahmad 12.05.2013 - 09:58
fuente

Lea otras preguntas en las etiquetas