Ich möchte eine Ratenbegrenzung pro Quell-IP in iptables durchführen. Begrenzen Sie beispielsweise die Rate, mit der ein Host neue SSH-Verbindungen herstellen kann, auf 5 pro Minute. Meines Wissens gibt es zwei Möglichkeiten, dies zu tun:
Mit dem Hash-Limit-Modul
iptables -A INPUT -p tcp --dport 22 -m state --state NEW \
-m hashlimit --hashlimit-name SSH --hashlimit-above 5/min \
--hashlimit-mode srcip -j REJECT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
Mit dem letzten Modul
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent \
--rcheck --seconds 60 --hitcount 5 --name SSH --rsource -j REJECT
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW \
-m recent --set --name SSH --rsource -j ACCEPT
Meine Fragen:
- Gibt es einen Unterschied im Verhalten dieser beiden?
- Welches ist mit Schwerpunkt auf Leistung vorzuziehen?
- Gibt es einen erheblichen Nachteil bei der Verwendung beider Module?