¿Cuál es la mejor manera de defender su sitio web contra los ataques POST / GET de inundación HTTP?
dependiendo de su implementación, se puede hacer de tres (3) maneras:
Esto es mucho más práctico considerando que está decidiendo por el destino del paquete justo antes de que llegue al otro extremo o incluso si ya hubiera completado el protocolo de enlace de 3 vías. Considere estos ejemplos:
a. restrinja el número de conexiones simultáneas por IP en su firewall. Esto le dará la capacidad de definir cuántas conexiones puede solicitar un cliente simultáneamente.
en iptables, puedes hacer esto mediante:
# iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP
en openbsd, puedes hacer esto en pf.conf:
pass in on $ext_if proto tcp to $web_server \
port www keep state \
(max 200, source-track rule, max-src-nodes 100, max-src-states 3)
donde significa:
Limit the absolute maximum number of states that this rule can create to 200
Enable source tracking; limit state creation based on states created by this rule only
Limit the maximum number of nodes that can simultaneously create state to 100
Limit the maximum number of simultaneous states per source IP to 3
b. para pf, puede filtrar el tráfico al hacer coincidir los paquetes TCP basados en indicadores y decidir la próxima regla.
Aunque no hay una solución que pueda proporcionar una protección completa contra los ataques DoS, como las inundaciones. La mitigación contra los ataques DoS puede requerir la ayuda del ISP ascendente. Pero lo que podemos hacer para defender nuestro sitio web es escalar nuestro sitio web con un equilibrador de carga y almacenamiento en caché. Recomiendo una lectura en este documento "Evitar el equilibrio de carga para combatir las DDoS ".
Lea otras preguntas en las etiquetas attacks denial-of-service http flooding