Estoy usando iptables en Ubuntu Server. Es un servidor web en un VPS.
Me gustaría saber si debo limitar los paquetes de velocidad. Si es así, ¿qué debo limitar? ¿Y debo hacerlo globalmente o por dirección IP?
Referencia
vi gente sugiriendo esto:
# Limit packet traffic on a TCP or UDP port:
iptables -A INPUT -p $proto --destination-port $port --syn -m state --state NEW -m limit --limit $lim/s --limit-burst $lb -j ACCEPT
# Limit established/related packet traffic:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit $lim/s --limit-burst $lb -j ACCEPT
Lo anterior, un límite de tasa global no parece muy útil, al menos para los casos que puedo imaginar. ¿Hay algún caso en el que deba limitar la tasa globalmente?
Creo que un límite de velocidad por IP suele ser mejor:
# Add the IP to the list:
iptables -A INPUT -p $proto --destination-port $port --syn -m state --state NEW -m recent --set --name RATELIMITED
# Drop if exceeded limit:
iptables -A INPUT -p $proto --destination-port $port --syn -m state --state NEW -m recent --update --seconds $sec --hitcount $hc --rttl --name RATELIMITED -j DROP
# Accept if inside limit:
iptables -A INPUT -p $proto --destination-port $port --syn -m state --state NEW -j ACCEPT
Pregunta adicional: las IP remotas pueden ser falsificadas. ¿Cómo limitarlos adecuadamente?
Se agregó otra pregunta para esto:
/server/340258/how-to-rate-limit-spoofed-ips-with-iptables
El objetivo
que estoy tratando de mitigar el riesgo de algunos ataques D / DoS y abuso general.
Relacionado
¿Cómo puedo calificar las conexiones de límite SSH con iptables?
PD : Acabo de abrir una pregunta relacionada solo para ICMP e incluye la limitación de velocidad para este protocolo: iptables | Tipos de ICMP: ¿cuáles son (potencialmente) dañinos?