iptables -A INPUT -m state --state NEW -m recent --set # If we receive more than 10 connections in 10 seconds block our friend.
iptables -A INPUT -m state --state NEW -m recent --update --seconds 5 --hitcount 15 -j Log-N-Drop
Ich habe diese beiden relevanten Regeln von iptables. Wenn mehr als 15 Verbindungen in 5 Sekunden hergestellt werden, wird der Versuch protokolliert und blockiert. Wie lange hält iptables den Zähler aufrecht? Wird er aktualisiert, wenn erneut versucht wird, Verbindungen herzustellen?
Antwort1
Wenn innerhalb von fünf Sekunden mehr als 15 Verbindungen hergestellt werden, werden deren Verbindungen bis fünf Sekunden nach dem Empfang des letzten Pakets abgelehnt.
Antwort2
Sie können Hilfe zu diesem Modul erhalten, indem Sie Folgendes ausführen iptables -m recent --help
:
Die wichtigsten Optionen im Zusammenhang mit Ihrer Frage sind:
[!] --update Match if source address in list, also update last-seen time.
Ich verstehe also, dass mit --update eine Aktualisierung erfolgt, aber Sie benötigen diese Aktualisierung vor dem Löschen. Wenn dies also zuerst geschieht, läuft es ab. Die Beispiele auf derAutorenseitekönnte auch helfen. Außerdem kommt der folgende Modulparameter ins Spiel, wenn weitere IPs kommen:
ip_list_tot=100 ; Anzahl der pro Tabelle gespeicherten Adressen
Edit: Ehrlich gesagt bin ich, wenn ich genauer darüber nachdenke, etwas verwirrt über all die möglichen Szenarien. Ich würde das ausführlich testen, indem ich verschiedene Quell-IP-Adressen mit etwas wie scapy für fping erstelle. Der folgende Modulparameter könnte auch hilfreich sein:
debug=0 ; Set to 1 to get lots of debugging info
Vielleicht hat jemand eine bessere Antwort, der mit den Optionen experimentiert hat, tut mir leid :-/