Blogspam: Denial of Service? distributed?

Heute hat’s den ersten richtigen Einschlag beim Blogspam-Projekt gegeben. Um ca. 18 Uhr ist der Server (auf dem auch die meisten anderen Projekte von mir laufen) unter der Last der Spammer zusammengebrochen. Binnen weniger Minuten sind mehrere Tausend Spamversuche auf einmal eingeprasselt, was letztendlich Web- und Datenbankserver gekillt hat.

Glücklicherweise war ich nicht weit weg vom Rechner und konnte direkt eingreifen.

So sahen die Requests der Spammer aus:

xxxxxx - - [07/Jun/2007:18:48:42 +0200] "POST /2007-04/spam-comment-spam-und-trackback-spam/ HTTP/1.0" 200 5002070 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)"

Keine IP-Adresse war soweit ich es überblicken konnte mehr als einmal vorhanden. Sie scheinen als in diesem Fall mit einem Trojaner zu arbeiten, der weltweit seine Dienste auf ungeschützten Rechnern verrichtet und auf Kommando loslegt. Anders ist der schlagartige Anstieg von 0 auf 100 nicht zu erklären. Da stellt sich natürlich die Frage ob Spam der primär Zweck dieser Aktion ist., oder ob’s unterm Strich doch eine dDOS-Attacke sein soll. Eines der Hauptprobleme war sicherlich, dass es sich um einen Artikel handelt, der schon 2000+ Kommentare zu dem Zeitpunkt hatte.

Glücklicherweise gab sich dieser Trojaner gleich via Useragent zu erkennen und so hat ein einfaches:

SetEnvIfNoCase User-Agent "Maxthon" spammer=yes
order deny,allow
deny from env=spammer

in der .htaccess gereicht um die Request im Logfile danach so aussehen zu lassen:

xxxxxx - - [07/Jun/2007:19:55:28 +0200] "POST /2007-04/spam-comment-spam-und-trackback-spam/ HTTP/1.0" 403 1503 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)"

für die Laien unter den Lesern. im zweiten Request steht „403“ was kennzeichnet, dass der Aufruf nur ein „forbidden“ gesehen hat im Gegensatz zum Beispiel oben (Status Code 200 für erfolgreich).

Zum Schluß bleibt noch festzuhalten, dass keiner dieser Requests in einem Kommentar geendet ist. Warum weiß ich aktuell selber noch nicht – jemand Ideen?

P.S.: Ganz dickes sorry an die SimpleSnip-User die so zu Beginn gleich einen Ausfall des Dienstes in Kauf nehmen mussten.

Nachtrag: Bleibt noch zu vermerken, dass die Serverlast zwischendurch bei 158 angekommen war. Der Normalwert liegt unter 1. Mittlerweile ist sie wieder auf 1.5 gesunken. Die Requests dauern aber an. Die Trojaner sind offenbar dumm genug um selbst wenn sie ausgesperrt werden nicht den Blog/Server zu wechseln.

Nachtrag 2: So sah das dann im Apache-Status Frontend aus – das war aber schon nachdem alles im Griff war.
blogspam_attacke.jpg

Ähnliche Beiträge

  • Video: Die Robert Basic Story

    Zugegebenermaßen nervt mich der Hype um Roberts Blogverkauf ziemlich, weshalb ich mich auch weitestgehend zurückgehalten habe bisher und das auch weiterhin vorhabe. Mich freut es dennoch, dass er viel Geld dafür bekommen hat und wem jetzt BT gehört ist mir weitestgehend egal. Worüber ich aber eben wirklich lachen konnte ist dieses echt toll gemachte Video…

  • Wir haben die Wahl gewonnen!

    In knapp 4 Wochen ist Bundestagswahl. Auf das Ergebnis darf man gespannt sein – so klar wie es in Sachen schwarz/gelb vor einiger Zeit schon ausgesehen hat, ist es wohl noch lange nicht – glücklicherweise. Meine persönliche Devise für die diesjährige Wahl ist „abwählen“. Denn darüber bin ich mir schon länger klar: CDU/CSU oder SPD…

  • ExpressionEngine Tools, Links und Tricks

    Seit ein paar Tagen beschäftige ich mich wieder mal etwas intensiver mit ExpressionEngine. Passenderweise haben die Jungs beim Smashing Magazine heute jede Menge Links, Tools und Tricks rund um das kommerzielle CMS vorgestellt. Da ist für Anfänger und Fortgeschrittene was dabei – viel Spaß damit. Link: Smashing Magazine – ExpressionEngine Developer’s Toolbox

  • Wer bist Du?

    Ja genau Du, der Du das nun liest. Ich bin auf der Suche nach den Lesern meines Blogs. Jetzt sind Blogs ja schon weitaus kommunikativer als herkömmliche Websites es in der Vergangenheit jemals waren. Dennoch erfährt man nur von einigen wenigen Lesern über Kommentare oder Trackbacks/Pingbacks überhaupt von ihrer Existenz. Ich will wissen. Wie heisst…

  • Danke, Steffi

    Heute ist es an der Zeit einmal danke zu sagen. In wenigen Stunden ist unser Tag. Nein, nicht weil Valentinstag ist – natürlich auch ein klein wenig deswegen. Aber auch, weil es unser Jahrestag ist. Der fünfte erst, aber in den wenigen Jahren haben wir schon einiges – positives wie negatives – zusammen erlebt. Kein…

8 Kommentare

  1. Enthielten die Requests denn auch Text? Ich bin mir jetzt nicht sicher, aber wenn der Spam ohne Kommentartext gesendet wird, dürfte er normalerweise auch nicht in den Kommentaren landen.

  2. wenn wirklich nur auf einen Artikel geschossen wurde, dann tippe ich drauf, dass ein Spammer sein Botnet auf dich losgelassen hat. Resultat ist dann diese dDoS-Attacke.
    Dafür spricht auch, dass nur einfache Verbindungen aufgebaut wurden und keine Kommentare abgeliefert wurden. Der Server sollte einfach nur jede Menge Daten ausliefern und belastet werden. Ein typischer DoS

  3. Wenn selbst im User-Agent etwas auffällig ist, dann wird es ja wohl kaum ein erfahrener Spammer gewesen sein. Möglicherweise sollte es aber auch nur ein Test sein :o

  4. habe auf der seite *url entfernt* seit ein paar daten auch jeden tag so zwichen 22:30 23 uhr bis so 12 uhr am anderen tag ddos attacken wie würde da ein sicheres HTACCESS aussehen? gerne per mail

    EDIT by admin: URL entfernt.

  5. ach ja ich weiß das es damit zu tun hat das ich einigen stress mit dem admin von *irgendeinedomain* (die haben sich auf meiner board icq nummer gemeldet und mir auch gedroht und um zahlung gebeten, da dort was von dieser url stand habe ich nich damal anmeldet was wie wohl gemerkt habe da ich dort wegen der ddos attacken eine pn bekommen habe (das war vor dem angriff)) kann man durch das HTACCESS die ddos attacken auch zurück leiten?

    EDIT by admin: URL entfernt

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert