Merkwürdige DoS-Attacke in den Griff bekommen
Posted: 2007-03-03 17:50
Hi all,
ich hab seit einigen Tagen ein Problem mit einer täglichen (aber nicht regelmnäßigen) DDoS-Attacke. Die Besonderheit: Die Attacke dauert nur 1-2 Minuten, reicht aber um den Server eben für diese kurze Zeit lahm zu legen.
Ich nutze Apache 2 mit prefork-MPM, es ist ein Maximum von 750 Prozessen eingestellt. Fast täglich kommen nun binnen weniger (fast einer) Sekunde mehrere 100 Anfragen auf ein und die selbe PHP-Seite (>200kb), dadurch werden alle Prozesse ausgelastet und der Apache steht.
mod_evasive zieht nicht, da eben wirklich fast nur 1 Request pro Child-Prozess ausgeführt wird und der Apache also schon am Boden ist, bevor die Blacklist überhaupt in Kraft tritt.
Die IP-Adressen wechseln täglich (teilweise kommen die Attacken zeitgleich von verschiedenen IPs). Die IPs sind meist aus dem asiatischen Raum, ab und an sind auch europäische dabei.
Jetzt meine Frage: Hast jemand eine Idee, wie ich so etwas in den Griff bekommen könnte? Gibt es Skripte, die global alle TCP/IP-Connections auf Port 80 anschauen (netstat-output) und bei einer zu großen Zahl der Connections (welchen Wert haltet ihr für sinnvoll) die IP in eine deny.hosts einträgt (oder die Connections direkt killt)?
Oder muss ich sowas selbst erfinden?
Bin für jede Hilfe diesbezüglich dankbar!
Gruß Os-T
ich hab seit einigen Tagen ein Problem mit einer täglichen (aber nicht regelmnäßigen) DDoS-Attacke. Die Besonderheit: Die Attacke dauert nur 1-2 Minuten, reicht aber um den Server eben für diese kurze Zeit lahm zu legen.
Ich nutze Apache 2 mit prefork-MPM, es ist ein Maximum von 750 Prozessen eingestellt. Fast täglich kommen nun binnen weniger (fast einer) Sekunde mehrere 100 Anfragen auf ein und die selbe PHP-Seite (>200kb), dadurch werden alle Prozesse ausgelastet und der Apache steht.
mod_evasive zieht nicht, da eben wirklich fast nur 1 Request pro Child-Prozess ausgeführt wird und der Apache also schon am Boden ist, bevor die Blacklist überhaupt in Kraft tritt.
Die IP-Adressen wechseln täglich (teilweise kommen die Attacken zeitgleich von verschiedenen IPs). Die IPs sind meist aus dem asiatischen Raum, ab und an sind auch europäische dabei.
Jetzt meine Frage: Hast jemand eine Idee, wie ich so etwas in den Griff bekommen könnte? Gibt es Skripte, die global alle TCP/IP-Connections auf Port 80 anschauen (netstat-output) und bei einer zu großen Zahl der Connections (welchen Wert haltet ihr für sinnvoll) die IP in eine deny.hosts einträgt (oder die Connections direkt killt)?
Oder muss ich sowas selbst erfinden?
Bin für jede Hilfe diesbezüglich dankbar!
Gruß Os-T