Ich verwende iptables auf Ubuntu Server. Es ist ein Webserver auf einem VPS.
Ich würde gerne wissen, ob ich Pakete auf Raten beschränken soll. Wenn ja, was sollte ich bewerten? Und sollte ich das global oder per IP-Adresse tun?
Referenz
Ich habe Leute gesehen, die dies vorgeschlagen haben:
# 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
Das oben Gesagte, ein globales Zinslimit, scheint zumindest für die Fälle, die ich mir vorstellen kann, nicht sehr nützlich zu sein. Gibt es einen Fall, in dem ich das Ratenlimit global festlegen sollte?
Ich glaube, dass ein Ratenlimit pro IP normalerweise besser ist:
# 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
Zusätzliche Frage: Remote-IPs können gefälscht werden. Wie kann man sie richtig einschränken?
Hierzu wurde eine weitere Frage hinzugefügt:
/server/340258/how-to-rate-limit-spoofed-ips-with-iptables
Das Ziel
Ich versuche, das Risiko einiger D / DoS-Angriffe und allgemeinen Missbrauchs zu verringern.
Verwandte
Wie kann ich SSH-Verbindungen mit iptables einschränken?
PS : Ich habe gerade eine verwandte Frage nur für ICMP geöffnet und sie enthält eine Ratenbegrenzung für dieses Protokoll: iptables | Arten von ICMP: Welche sind (potenziell) schädlich?