Aquí hay una solución. Esto no afectará a las personas que usan un proxy. El equipo de Apache Tomcat no considera esto como una vulnerabilidad en Tomcat ni planea lanzar un parche. Este código también detendrá otros métodos de ataque ddos. ps no escribí esto.
BLACKLIST = cat /usr/local/AS/etc/blacklist.txt
para i en $ BLACKLIST; hacer
iptables -A ENTRADA -p tcp -m tcp --dport http -s $ i -j DROP
hecho
- # IPs que nunca serán rechazadas - hosts anfitriones
WHITELIST=**** INSERTE SU LISTA BLANCA PERMANENTE AQUÍ ** * ***
para i en $ WHITELIST; hacer
iptables -A ENTRADA -p tcp -m tcp --dport http -s $ i -j ACEPTAR
hecho
- # no baje demasiado: los navegadores abren varias conexiones
OVERLIM_NEW = 500
- # límite global para nuevas conexiones por segundo
INDILIM_NEW = 30
- # límite para IP individual, nuevas conexiones por segundo - evita inundaciones
INDILIM_CURRENT = 200
- # límite para IP individual, conexiones totales - evita el uso excesivo
CURRENT_EVAL_INTERVAL = 300
- # longitud del intervalo para la evaluación del uso de IP
iptables -N LIMIT_INDIVIDUAL_NEW
iptables -N LIMIT_INDIVIDUAL_CURRENT
iptables -N LIMIT_OVERALL_NEW
iptables -A ENTRADA -p tcp --dport 80 -m estado --estado ESTABLECIDO -j LIMIT_INDIVIDUAL_CURRENT
iptables -A ENTRADA -p tcp --dport 80 --syn -m estado --estado NEW -j LIMIT_INDIVIDUAL_NEW
iptables -A LIMIT_INDIVIDUAL_CURRENT -m recent --set
iptables -A LIMIT_INDIVIDUAL_CURRENT -p tcp --tcp-flags FIN FIN -m reciente --remove
iptables -A LIMIT_INDIVIDUAL_CURRENT -m reciente --update --seconds $ CURRENT_EVAL_INTERVAL --hitcount $ INDILIM_CURRENT -j DROP
iptables -A LIMIT_INDIVIDUAL_CURRENT -j ACEPTAR
iptables -A LIMIT_INDIVIDUAL_NEW -m recent --set
iptables -A LIMIT_INDIVIDUAL_NEW -m reciente --update --seconds 1 --hitcount $ INDILIM_NEW -j DROP
iptables -A LIMIT_INDIVIDUAL_NEW -j LIMIT_OVERALL_NEW
iptables -A LIMIT_OVERALL_NEW -m limit --limit $ OVERLIM_NEW / second -j ACEPTAR
iptables -A LIMIT_OVERALL_NEW -j DROP