Mir ist aufgefallen, dass ich in meinem Skript einen Fehler gemacht habe. Gibt es bei einem Angriff zu viele Anfragen an den Apachen, hilft sie. Dafür müssen aber alle draußen bleiben, nicht nur der Angreifer.
Code: Select all
$IPTABLES -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
$IPTABLES -A INPUT -p tcp --syn -j DROP
Also sollte ich mich auf die IP-Adresse beziehen. Jedoch können beim Surfen schnell mal einige Anfragen an einen Server gesendet werden. Deshalb darf man das Limit nicht zu niedrig ansetzen. Daher bin ich mir jetzt unsicher, wie ich das anstellen soll.
Code: Select all
$IPTABLES -A INPUT -p tcp --syn -m recent --set
$IPTABLES -A INPUT -p tcp --syn -m recent --update --seconds 60 --hitcount 60 --rttl -j DROP
Damit müsste es eigentlich gehen.
EDIT: Keine Wirkung. Bei
--seconds 5 --hitcount 1 geht nichts mehr.
--seconds 60 --hitcount 5 bringt garnichts. :(