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
Merkwürdige DoS-Attacke in den Griff bekommen
-
- Posts: 65
- Joined: 2006-06-05 16:06
Re: Merkwürdige DoS-Attacke in den Griff bekommen
Keiner eine Idee oder einen Hint?
-
- Posts: 2138
- Joined: 2002-12-15 00:10
- Location: Bergheim
Re: Merkwürdige DoS-Attacke in den Griff bekommen
Ich würde vermuten das verschickt jemand Spam.
-
- Posts: 65
- Joined: 2006-06-05 16:06
Re: Merkwürdige DoS-Attacke in den Griff bekommen
Du meinst über ein PHP-Formular?
Nein die entsprechende File enthält keinerlei Formular. Der Mailserver tut in diesem Momenten auch nicht sonderlich viel. Spam scheint also ausgeschlossen zu sein.
Nein die entsprechende File enthält keinerlei Formular. Der Mailserver tut in diesem Momenten auch nicht sonderlich viel. Spam scheint also ausgeschlossen zu sein.
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Merkwürdige DoS-Attacke in den Griff bekommen
Dafür lässt sich mod_evasive einspannen. Mit DOSSystemCommand kannst du dann das entsprechende iptables-Kommando aufrufen.os-t wrote: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)?
-> http://www.zdziarski.com/projects/mod_evasive/
-> http://www.debianhowto.de/doku.php/de:h ... od_evasive
-
- Posts: 65
- Joined: 2006-06-05 16:06
Re: Merkwürdige DoS-Attacke in den Griff bekommen
Ich setze mod_evasive schon ein, allerdings (wie schon versucht zu beschreiben) greift mod_evasive nicht rechtzeitig, weil ich zu viele Prozesse des Apachen forke und damit das Ding schon ausgelastet ist, bevor die Blacklist überhaupt greift...
Ich werd aber mal sehen ob ich damit die Verbindungen per iptables direkt kappen kann, dan könnte es funktionieren.
Gruß
Os-T
Ich werd aber mal sehen ob ich damit die Verbindungen per iptables direkt kappen kann, dan könnte es funktionieren.
Gruß
Os-T
-
- Administrator
- Posts: 2639
- Joined: 2004-01-21 17:44
Re: Merkwürdige DoS-Attacke in den Griff bekommen
Du könntest Dir ansonsten mal recent und limit bei iptables anschauen - vielleicht kannst Du Dir damit was basteln...
-
- Posts: 264
- Joined: 2005-02-02 11:15
Re: Merkwürdige DoS-Attacke in den Griff bekommen
.. pro laufendes CMS promlemlos 200 Requests/Sekundeweil ich zu viele Prozesse des Apachen forke und damit das Ding schon ausgelastet ist
mit ein paar hundert ist IMHO Apche noch lange nicht ausgelastet
...doch, ganz gewissDafür lässt sich mod_evasive einspannen
Fehler kann auch ein korruptes Filesystem sein. die Partition mit den vhosts checken. Scheint mir eine typische Verhaltensweise von apache zu sein.
-
- Posts: 65
- Joined: 2006-06-05 16:06
Re: Merkwürdige DoS-Attacke in den Griff bekommen
Hi,
ich habe ein maximal Limit von 750 Prozessen eingestellt. Dieses Limit wird durch die Attacken einfach erreicht und der Apache nimmt keine Requests mehr entgegen -> der Apache ist nicht mehr erreichbar.
ich habe ein maximal Limit von 750 Prozessen eingestellt. Dieses Limit wird durch die Attacken einfach erreicht und der Apache nimmt keine Requests mehr entgegen -> der Apache ist nicht mehr erreichbar.