Hacker-Angriff auf tagSeoBlog – und was ich dabei gelernt habe

Hacker-Angriff auf tagSeoBlog – und was ich dabei gelernt habe

Angriff auf tagSeoBlog
Angriff auf tagSeoBlog

Vielleicht ist es jemandem aufgefallen: Am vergangenen Samstag war der tagSeoBlog für mehrere Stunden nicht erreichbar. Naja, so jeder dritte oder vierte Versuch ging doch. Immer blöd, wenn man Samstag früh aufsteht, kurz die Kommentare im Blog freischalten will, und dann feststellt, dass nichts geht. Im folgenden will ich kurz schildern, was passiert ist. Vielleicht kommt mal jemand in eine ähnliche Situation. Ich selber habe von dem Server-Backend-Gedöns kaum Ahnung, daher bin ich sehr dankbar für die Hilfe via Facebook und Google+ (Dankesliste unten :-)…

1und1 macht ...
1und1 macht …

Also, alles war down – „Fehler 500„, interner Serverfehler (Server-Überlastung), manchmal auch „zu viele Datenbank-Abfragen„. Und zwar auch alle anderen Seiten von mir. Nun muss man wissen: ich habe schon seit ca. 15 Jahren ein Business-Hosting-Paket bei 1und1, wo praktisch alle meine Projekte liegen. Falls nun jemand fragt, warum… Ich bin über all die Jahre gesehen ganz zufrieden. Es kommt zwar alle 6 – 12 Monate mal zu einem Ausfall, aber ehrlich gesagt, kann ich damit leben. Und da ich als „Platin-Kunde“ einen direkten Ansprechpartner habe, den ich in solchen Fälle ohne nervige Warteschleife erreiche, kann man die Probleme auch relativ gut und zügig beheben.

An diesem Samstag aber war es anders: mein Berater konnte die Ursache für den Ausfall nicht auf irgendwelche Leitungen oder Knotenpunkte zurückführen. Er konnte allerdings sehen, dass auf dem Server eine sehr hohe Aktivität herrschte. Es waren ununterbrochen zahlreiche Prozesse am Laufen. Nun kommt etwas, was ich vorher auch nicht wusste:

So arbeitet ein Webhostig-Server (bei 1und1)

Frust ...
Frust …

Die Anzahl der Prozesse, die parallel laufen können, ist in meinem Hosting-Paket auf 20 begrenzt. Wenn also mehr als 20 Leute zeitgleich auf eine meiner Seiten zugreifen wollen, müssen sie sich gedulden, ehe wieder ein Platz frei wird. Nun kann man denken: 20 ist ja sehr wenig. Ich war auch überrascht. Hier waren schon mehrfach mehr als 30.000 Besucher an einem Tag – nie hat das zu einem echten Ausfall geführt. Man muss bedenken, dass so ein Prozess in der Regel ein Seitenaufruf ist – und es dauert eben nur ein paar Millisekunden, ehe die Seite ausgeliefert ist und der Prozess beendet wird. Dann kommt der nächste dran. Daher: mit 20 gleichzeitigen Prozessen habe ich in der Vergangenheit gute Erfahrungen gemacht.

Ursachenforschung

Warum kam es aber nun am Samstag zu einem Ausfall aller Seiten? Ich habe mich also auf die Suche gemacht. Mit einem sehr coolen Hilfsprogramm namens „putty“ konnte ich eine direkte Verbindung zu meinem Server aufbauen. Das Programm zeigt dann die laufenden Prozesse in quasi Echtzeit an. So konnte ich ermitteln, dass ca. 18 von 20 Prozesse ununterbrochen die „xmlrpc.php“ Datei dieses Blogs aufriefen. Hmm, warum das? Habe ich vielleicht versehentlich so eine Art endlos-Script erzeugt, dass die ganze Zeit versucht, etwas zu verschicken? Die xmlrpc-Datei ist wohl für die Kommunikation meines WordPress-Blogs mit anderen Blogs zuständig, also zum Beispiel für das Handling von Ping- und Trackbacks. Woher kam die gigantische Aktivität dieser Datei?

Was hat der Googlebot damit zu tun?

Letztlich brachte ein Blick in die Logfiles die Lösung. Ich nutze dafür das sehr empfehlenswerte Tool „UltraEdit„, dass auch große Textdateien (das Logfile dieses Tages ist ca. 80 MB groß) handeln kann. Hier ein kleiner Ausschnitt:

Hacker-Angriff auf tagSeoBlog - Screenshot aus dem Logfile
Hacker-Angriff auf tagSeoBlog – Screenshot aus dem Logfile

Der Ausschnitt zeigt die Anfragen innerhalb einer Sekunde (!). Sie kamen alle von einer bestimmten IP – und griffen alle auf besagte Datei zu. Und zwar nicht nur ein – oder 10 oder 100 mal. nein, seit 0 Uhr Samstag nacht wurden ununterbrochen ca. 20 – 30 Aufrufe der Datei pro Sekunde getätigt.  Interessanterweise gab sich der Absender als „Googlebot/1.0“ aus (rechte Spalte). Nanu, Google hackt meine Seiten??? Nach einer kurzen Recherche kam jedoch heraus, dass es sich nicht um eine Google-IP handelte. Stattdessen liegt die IP, von der aus der Angriff erfolgte, bei einem Hoster/Provider namens Plusserver.

IP via htaccess aussperren

Als Sofortmaßnahme habe ich dann die IP via htacces ausgesperrt. Dafür habe ich folgenden Code in meine htaccess geschrieben:

order allow,deny
deny from 188.138.33.41
allow from all

Prompt wurden die Anfragen von besagte Server abgefangen und nicht mehr abgearbeitet. Und sofort waren alle meine Seiten wieder ohne Probleme erreichbar.

Bleiben natürlich ein paar Fragen …

Ich habe Plusserver eine entsprechende Email geschickt, auch mit der Bitte, zu ermitteln, wer diese IP benutzt hat. Nach einigen Stunden hörten die Anfragen auf, ich vermute, man hat das bei Plusserver gekappt. Eine Antwort oder ein Feedback habe ich allerdings bislang noch nicht bekommen. Aber vielleicht kommt das ja noch.

Die Hauptfrage ist aber natürlich: warum? Wer hat ein Interesse daran, mich von einem deutschen Server aus anzugreifen? Ein Versehen? Oder ein vermeintlicher Mit-Wettbewerber? Wobei ich eigentlich denke, dass ich in der Seo-Szene gar kein Konkurrent bin, weil ich praktisch alle Anfragen an andere weiterleite. Ich habe viel zu viel zu tun, als dass ich mich um Seo-Anfragen kümmern könnte.

Hat es möglicherweise mit dem Blogpost „Spamige Links / Linknetzwerke bei Google melden?“ zu tun? Das das Thema schwierig ist, war mir klar, aber ob das jemanden derart provoziert haben könnte?

Naja, mal sehen, ob zu dem Thema noch was kommt …

Hackerangriff auf tagSeoBlog
Hackerangriff auf tagSeoBlog

Danke … Social-Media rocks

Eines aber hat der Vorfall aber gezeigt: wie hilfreich ein funktionierendes Netzwerk ist. Das oben beschriebene hätte ich alleine nie herausgefunden. Ich hatte bei Google+ und bei facebook zwei Threads gestartet und um Mithilfe gebeten – und das hat wunderbar geklappt. Mein Dank geht an …

Ich hoffe, ich habe die Zusammenhänge richtig verstanden :-)

46 Gedanken zu „Hacker-Angriff auf tagSeoBlog – und was ich dabei gelernt habe

  1. Angriff auf tagSeoBlog, 1&1 macht… Frust … :) Interessante Bildunterschriften. Jetzt bist Du wieder einen Schritt näher dran auf der Stufe zum echten SysAdmin. Vielen Dank für die Dankeserwähnung. Hoffe, dass Du erstmal keinen Ärger mehr hast.

  2. Mal ein etwas anderer Artikel Martin, der allerdings nicht minder interessant war bzw. ist. Denn von einem solchen Vorgang kann jeder einmal betroffen werden, erst recht wenn man eine entsprechende Reichweite besitzt. Freut mich, dass du das Problem in Griff bekommen hast!

  3. Freut mich zum Einen, dass nun alles wieder läuft bei dir und zum Anderen natürlich, wenn ich dir helfen konnte :-)

    1. Die Freude über die Hilfe war am Ende des Tages deutlich größer als der Ärger über diesen elenden Angriff. Daher: nochmal vielen Dank. Da sieht man mal, wie gut und hilfreich so viele gute Social-Media-Kontakte sind :-)

  4. Heftige Sache. Aber wegen der Seo Competition kann das jetzt nicht sein, oder?
    Ok du hast jetzt die eine IP blockiert. Aber ich denke du solltest mal mit 1und1 reden, zwecks einer Lösung für solche Attacken. Hältst du uns auf dem laufenden?

    Lg Tom

    1. Ich habe 1und1 natürlich anschließend informiert, vor allem auch, weil ich das zwar via htaccess gesperrt habe, aber die Anfragen ja weitergingen. Da hat man mir allerdings lapidar gesagt: „von wem die Anfragen kommen, interessiert uns nicht!“. Offenbar nicht mal, wenn über Stunden mehr als 20 Anfragen pro Sekunde von einer IP kommen. Über die Antwort war ich doch recht verblüfft …

  5. Ein Versehen? Glaub ich nicht, hier will dir jemand was. Hoffe das Dir der Provider Plusserver eine Antwort liefert. Ich hatte es am samstag übrigens auch bemerkt, mir aber nichts dabei gedacht.

  6. Meiner Meinung nach sollte jeder, der sich im Netz mit eigenen Projekten bewegt, ein grundlegendes Verständnis für Server Architekturen haben. Der erste Blick nach einem Ausfall führt bei mir zu mindestens in mein Nagios Panel (http://www.nagios.org)…

    Gruß,

    Mathias

    1. Hmm, darüber kann man streiten … Ich vermute, dass das viele anders sehen. aber wie man in geschilderten Fall sieht, kann es nicht schaden :-)

  7. Hi Martin,

    interessanter Artikel. Hier noch ein paar Denkansätze/Ideen:

    ‚Angriffe‘ von deutschen Servern sind sogar sehr häufig. Ein Dritter hackt sich in den schlecht gesicherten Server ein und nutzt diesen dann für Unsinn wie Spam.

    Da die Server-IPs statisch sind, kannst die passende Domain zur IP herausfinden. In der Regel sollte der Serverbetreiber (plus) aber innerhalb von 24h antworten. Sogar inkl. Statement vom Serverbesitzer. So kenne ich das zumindest von andern Abuse-Fällen.

    Schau mal einige Tage oder Wochen vorher im Accesslog. Ein geplanter Angriff hinterlässt häufig schon Wochen vorher Spuren (Auskundschaften).

    Schließlich würde ich mich dennoch fragen, warum ein einzelner Server Deinen Server in die Knie zwingen kann. Das ist praktisch eine Einladung für Nachahmer. :) Kannst du die XML-Schnittstelle vielleicht abknipsen oder besser schützen?

    1. Danke, Marco, für die Hinweise. Warum ein einzelner Server das hinbekommt, verstehe ich auch nicht. Offenbar kann der in kürzester Zeit so viele Anfragen abesenden, dass es den 1und1-Server in die Knie zwingt. Im Grunde würde ich als Laie denken, dass es bei 1und1 eine Abfrage für solchen sich stets wiederholenden Anfragen geben müsste.
      Ui, nicht, dass ich andere jetzt erst auf die Idee gebracht habe :-(

  8. Ich hab’s leider nicht mitbekommen, sonst hätte ich auch gerne geholfen. Sowas ist leider Alltag im Netz. Da hast du noch Glück gehabt, dass der Angreifer so „schlau“ war und von einer statischen IP die Angriffe durchgeführt hat. Eine DDoS-Attacke mit einem riesen Botnetz wär da schon heftiger gewesen.

    Da ich mich schon lange und mit Leidenschaft mit dem Thema Hacking/IT-Security beschäftige, muss ich hier nochmal das Wort Hacker verteidigen. Denn in diesem Fall war es definitiv kein Hacker. Es wird immer so dargestellt, als seien alle Hacker böse und würden solche Angriffe, wie in diesem Fall machen. Daran haben sicher auch die Medien und Hollywood schuld. Dabei machen Hacker das Internet sicherer und haben sehr viel dazu beigetragen das Internet zu dem zu machen, was es jetzt ist. Ich rede hier von richtigen Hackern, klugen Köpfen, Sicherheitsspezialisten, Erfinder und Entdecker von neuen Methoden. Viele Hacker veröffentlichen regelmäßig Sicherheitslücken, die sie für sehr hohe Beträge verkaufen könnten. Sie machen es einfach, weil es sie begeistert, Lücken aufzusprüren, Code zu knacken und cleverer zu sein, als die Entwickler.

    Natürlich gibt es einige, die ihre Fähigkeiten ausnutzen. Aber meistens sind für solche Attacken Skriptkiddies verantwortlich, die nur vorgefertigte Tools nutzen und nicht verstanden haben, worum es geht. Oder eben (wie du schon erwähnt hast) Mitbewerber und Neider, die jemandem schaden wollen.

    Das musste jetzt einfach mal raus. :)

  9. Rein technisch gesehen handelt es sich dabei um einen Denial of Service-Angriff (kurz DOS). Von einem klassischen Hackerangriff würde man eher dann sprechen, wenn jemand versucht, sich „Zutritt“ zu Deinem Server zu verschaffen.

    1. Danke, das habe ich mir fast gedacht, danke für die Klarstellung. Ich kenne mich bei den Begriffen nicht so richtig aus. Aber Hacker ist wohl eher jemand, der sich irgendwo einloggen will. In meinem Fall ging es wohl nur ums „Schaden“.

      1. Ich würde mir da jetzt nicht so Gedanken über die Wortwahl machen. Im Allgemeinen sind da Hacker auch eher relaxter … gerade im „Hackerumfeld“ wird schnell mal von „hacken“ geredet obwohl man das sonst wohl eher nicht so nennen würde.. ich denke da mal nur an „sleep hacking“ .. oder wenn shackspace hier in stuttgart mal wieder foothacking angesagt ist (sprich: koch untericht)

        In dem Fall hier konnte mit 20 kontinuierlichen Anfragen offensichtlich einen DOS ausführen. ich würde auch mal in Frage stellen, ob es sich hier um Absicht handelt. Eine solch einfache Attacke von nur einer IP halte ich pers. ja nicht für einen geziehlten hacker angriff. Bei so einer Server Konfiguration kann man leicht mit einem proxy chain script die Proxys durchwechseln und das ganze wesentlich effektiver gestalten bei nur geringfügig mehr arbeit beim scripten.

        Ich würde das in Zukunft etwas beobachten, tippe aber trotzdem auf ein Versehen.

        Ich halte jedoch 20 Prozesse trotzdem für zu wenig bei höherem Besucheraufkommen. Du hast auch Webseiten mit vielen Bildern wo man eben mehr klickt. da können 300 gleichzeitige Besucher deinen Server ganz schnell an die Grenze bringen. Dein Argument mit „bei 30 000 Besuchern gings trotzdem“ find ich so nicht ganz richtig.. vlt wären es ja 40k geworden nur die restlcihen 10k hatten Probleme? Ruft ja nicht jeder eine Seite xfach auf!

        Gruß Matthias

        1. Ja, korrekter Einwand (das mit der Begrifflichkeit).
          Auch hinsichtlich der Besucher – nur dachte ich, die würden in eine Art Warteschleife gestellt und müssten nicht erneut reloaden. Das Ausliefern der Seiten dauert dann eben statt einer Sekunde 3 oder 5 Sekunden.
          Die Sache mit dem richtigen Server ist und bleibt eine Unsicherheit bis hin zum Problem. Das wird ein normaler Mensch wie ich wohl auch nie optimal lösen können :-)

    2. Naja, wir wissen nicht, ob jemand über die xmlrpc nur den Server in die Knie zwingen wollte oder tatsächlich Funktionen aufgerufen wurden. Die Befehle und Daten werden ja per POST übermittelt und erscheinen deshalb nicht im Server-Log. Das hätte mich schon mal interessiert, was da wirklich los war. :-)

      1. stimmt. Aber ich fürchte, Plusserver wird dazu nichts sagen (dürfen). Erst wenn ich eine Anzeige erstatte, und dazu habe ich eigentlich keine Lust…

  10. Die xmlrpc.php ist bei WordPress z.B. für die Pingbacks zuständig. Ich habe schon oft gesehen, dass ich plötzlich hunderte von falschen Pingbacks bekommen habe, die Spammer wollten also einen Link, ohne wirklich auf meinen Artikel zu verlinken.

    Ich vermute hier war ein Spammer am Werk, der ein Spam-Tool verwendet hat, es aber nicht richtig bedienen konnte (Scriptkiddie). Hast du denn irgendwelche merkwürden Trackbacks / Pingbacks gesehen danach?

    1. Nein, seit ich das „Captcha“ Plugin installiert habe, ist der Spam deutlich geringer geworden. Allerdings wundere ich mich manchmal schon, dass ca. 50 – 60 pro Tag ankommen. Irgendjemand hat das Captcha-Plugin scheinbar aufgedröselt und schafft es, die Fragen automatisiert korrekt zu lösen.

      1. captchas knacken ist weniger ein technisches problem als ein finazielles. es gibt decaptcha services. die kosten geld. funktionieren aber 1a :)

  11. hallo martin, schön, dass du das so schnell in den griff bekommen hast. vielleicht wurde ja auch eine in deutschland gehostete website gehackt und für den angriff verwendet? alles gute!

  12. Naja, ich möchte nicht den Klugscheißer raushängen lassen, aber 1&1 ist wahrlich nicht der Optimale Hosting Anbieter….

    1. Hallo, dem kann ich zustimmen. Bis vor kurzen war ich auch bei 1&1 und hatte dort meine Seite vor ca 2 Jahren mit dem HP Baukasten aufgebaut. Im laufe der Zeit ist meine Seite immer umfangreicher geworden und beinhaltete viel eigenen HTML Code. Dies war nach Aussage von 1&1 Schuld daran das ich meine Seite nicht mehr bearbeiten konnte (puplizieren ging nicht mehr und einzelen Seiten hatten plötzlich kein Inhalt mehr). Sicherheitsprobleme hatte ich bei 1&1 allerdings nicht. Nun bin ich vor 2 Wochen zu Jimdo gewechselt und bisher habe ich mit dem neuen Anbieter gute Erfahrungen gemacht.
      Schöne Grüße aus Nordeutschland

  13. Sehr sehr geiler Artikel! Freut mich zu sehen, dass ich nicht der einzige bin der Probleme mit 1und1 hat. Habe mein Webhosting Paket dort zwar erst seit vergangenem Dezember, durfte aber seitdem schon ein paar Ausfälle erleben und mich mit dem Support rumschlagen.

    Jetzt würde mich aber mal interessieren ob diese möglichen 20 Prozesse einen „Standard-Wert“ darstellen oder ob bei anderen Anbietern zu vergleichbaren Preisen mehr geht. Zumal ich mich sowieso bis heute frage, warum 1und1 es im Gegensatz zu kleineren Unternehmen wie Alfahosting oder All-inkl nicht schafft, insgesamt einen besseren Service (Performance und Support) zu bieten.

  14. Hi Martin. Nur ein Tipp von mir:

    domainfactory…selbe Problem, aber domainfactory hat mich SOFORT angeschrieben….die TECHNIK….IP gesperrt, etc….Kam aus dem Iran ;)

    1und1 =…..

    Empfehle dir ein Wechsel ;)

  15. Martin, ich hatte ja zu deinem G+ Beitrag kommentiert, wie man solche Zugriffe auf der Server-Ebene abfängt. Grade habe ich noch mal einen Beitrag aufgesetzt, der beschreibt, wie solche Angriffe via .htaccess erkannt und abgewehrt werden können – bevor es zu spät ist.

    Bis jetzt habe ich die Technik mündlich kommuniziert: Gute Erfolgsquote, doch der Feind liest bekanntlich mit, daher bis dato nicht public. Aber wo es jetzt schon so schlimm geworden ist, dann soll es halt öffentlich werden.

    Du erlaubst mir den Link? ;)
    http://cup.wpcoder.de/wordpress-xmlrpc-schutz/

  16. Ich kenne solch Attacken eher mit IPs aus dem asiatischen oder amerikanischen Raum … aber aus Deutschland?!

    Für alle Eingriffe, die schnell erledigt werden müssen, nutze ich eine „deny.conf“, die in alle Webprojekte serverseitig inkludiert ist. Hier kommt dann, wie in deine htaccess-Datei, ein entsprechender Eintrag der IP hinein und Ruhe ist. Das ist zwar eine Lebensaufgabe, aber passt für mich.

    Das von Sergej genannte Fail2Ban nutze ich eigentlich nur, um den SSH-Port vor zu vielen Login-Versuchen zu schützen. Aber ein 403-Error würde natürlich auch funktionieren …

  17. Kann man sich über die xmlrpc.php nicht auch einloggen? Gerade da der Angriff nur von einer IP gekommen ist, kann es sich doch auch um eine Bruteforce-Attacke handeln, die dann durch die hohe Anzahl an Anfragen in einen DOS umgeschlagen ist.

    Schade das die POST-Parameter nicht mitgeloggt worden sind…

  18. Solche Angriffe kommen immer wieder vor, nicht nur auf WordPress.
    Und die Angriffe haben fast immer den Sinn, neue Sklaven-Seiten für Spam, Phishing oder weitere Angriffe zu bekommen.
    Das ist wie ein Schneeballsystem, je mehr Seiten geknackt sind, mit desto mehr Seiten (bzw. IPs) kann man angreifen.

    Der 1und1 Server geht nicht wegen der paar Anfragen in die Knie, nur die Webseite ist wegen der Shared-Hosting Einstellungen nicht erreichbar.
    20 gleichzeitige Verbindungen sind schon wenig, aber manche haben vielleicht noch weniger und wissen es nur nicht.

    Wer Powerblogs oder andere vielbesuchte Seiten betreibt, sollte statt auf Apache vielleicht auf lighttpd oder nginx setzen. Die schaffen auch mal 10.000 gleichzeitige anfragen ohne in die Knie zu gehen. Aber das geht bei Shared-Hosting schlecht, da ist fast immer Apache drauf.

    Und oft hat man dann auch noch Beschränkungen bei Shared-Hosting, dass so gute Ratschläge wie die von Sergej oder anderen gar nicht umzusetzen sind.
    Momentan nerven mich die vielen (vergeblichen) Angriffe auf meinen Blog.
    So viel Besuch hatte ich in Jahren nicht wie seit einigen Wochen oder Monaten… :-)

  19. Ich kann mit diesen Dingen auch immer weniger anfangen. Bin heilfroh dass ich auch sowas wie ein „Platinzugriff“ habe. Mein Provider richtet Dinge, sofern notwendig die Dinge auch Sonntag nachmittag.

    Des anderen habe ich immer aktuelle Sicherungen. Das heißt im Notfall nehme ich die Seite vom Netz oder ich kann alles sehr schnell wieder herstellen falls was größeres passiert.

    Deine Liste der helfenden Personen – da ist schon die Cremé de la Cremé dabei. Da kann man sich sicher sein dass alles in guten Händen ist.

  20. Mich würde interessieren, ob und welche Angriffe von extern man der Polizei melden muss / sollte. Würdet ihr bzw. habt ihr schon mal einen Hackerangriff der Polizei gemeldet.

    1. Im Zweifel versteht die Polizei dann nur „Hacker“ und durchsucht dann deine Wohnung und beschlagnahmt alles, was irgendwie nach Computer und Zubehör aus sieht.

Kommentare sind geschlossen.

Kommentare sind geschlossen.