got him?

Fast glaube ich den Schmutzbeutel, der seit Wochen meinen Server mehr oder weniger regelmäßig in die Knie gezwungen hat,  erwischt zu haben.

Ein intensives Studium der Log-Files blieb bis dato leider ohne Ergebnis, absolut nichts auffälliges zu finden. Selbst als ich die Logs einem Profi zur Ansicht aushändigte, konnte der mir nicht weiter helfen. So fürchtete ich, dass der unnütze Mensch eine unbekannte Lücke in Debian oder Apache, oder PHP oder MySQL ausnutzt und sah meine Möglichkeiten schon schwinden. Die endgültige Alternative wäre, vom Provider eine Firewall/Proxy vor den Server stellen zu lassen, doch zuvor wollte ich mit meinen Möglichkeiten versuchen der Sache auf den Grund zu gehen. Lernen heißt auch Erfahrungen machen.

Seit Tagen lies ich tagsüber eine Art Monitor in der Konsole meines Servers mitlaufen um nach Möglichkeit genau einen Zeitpunkt zu erwischen, wann „es“ passiert. Dafür nutzte ich top -u %APACHE-USER% , nur um die httpd Prozesse des Apache-Users im Blick zu haben. Im Schnitt gibt zwischen 10 und 30 dieser Prozesse auf meinem Server, je nachdem wie viele Besucher sich hier tummeln, ein Besucher entspricht einem httpd Prozess. Wenn ein Besucher für längere Zeit (600 Sekunden) nicht mehr geklickt hat, wird ’sein‘ Prozess (child) automatisch beendet.

Vergangene Woche ist es wieder passiert, mit einem Schlag und binnen Sekunden stieg die Anzahl der httpd Prozesse rapide an, bei weit über 150 lies der Apache dann letztlich seine Flügel hängen, er wurde überlastet und stieg daraufhin aus. Da ich ja schon in der Konsole war, konnte ich dann ziemlich zeitnah dann Maßnahmen einleiten, um den Apachen wieder zum laufen zu bekommen.

Ein anschließendes Studium der access_log (main) blieb jedoch immer ohne greifbares Ergebnis, bis auf ein paar normale Aufrufe war das Log zu dem Zeitpunkt leider leer. Der Apache war also so ausgelastet, dass er nicht man mehr ins Log schreiben konnte. Dran bleiben ist die Devise und so ritt ich noch einige seiner Attacken ab, begrenzte die Clients im Apache, setzte den  Timeout herab, die Menge der gleichzeitigen Zugriffe usw. Mehr oder weniger fummelt ich an Sachen herum, die ich so noch nicht kannte, aber durchaus interessant waren zu erfahren. Ob ich das in 2 Wochen jedoch noch weiß, wird sich allerdings dann noch zeigen.

Gestern hat hat dieses Stück Dreck gleich 2 Attacken gefahren, morgens um ca. 11Uhr und mittags. Bei der 2. Attacke hatte der Apache endlich ausreichend Zeit etwas in sein Log zu schreiben:

Endlich ein verwertbarer Hinweis um in den Logs der letzten Wochen nach ‚merkwürdigen‘ Aufrufen für diese Datei zu suchen. Siehe da, kurz bevor die Überlastungen stattfanden wurde immer zuerst diese PHP-Datei aufgerufen und kurz danach schmierte der Apache dann ab. Das ist das Muster, nachdem ich sucht habe.

Die PHP-Datei macht nichts anderes, als in der Sidebar ein Bild in zufälliger Reihenfolge aus meiner 365-Tage Knipserei einzublenden. Aber scheinbar war das sein Angriffspunkt, warum und wozu auch immer. Mittlerweile habe ich diese Funktion gegen die Flickr-Badge ersetzt. Aber ich habe endlich eine IP, die laut ripe.net zur Telekom gehört. Über deren Interface http://www.t-com.de/ip-abuse habe ich die IP gemeldet, zusätzlich habe ich die IP per deny.hosts generell für meinen Server gesperrt. Nun bin ich gespannt.

So sehr ich mich auch wegen dieses Idioten geärgert habe, das Verfolgen und das Nachvollziehen hatte auch wieder einen gewissen Reiz und hat mir merkwürdigerweise auch wieder Spaß gemacht, irgendwie zumindest

13 Gedanken zu „got him?

  1. Hm darf man die IP erfahren? Wird wohl eine ausm Pool sein, dann bringt das verbieten nicht viel 🙁

    Du hättest mal den Datentraffic mitsniffen sollen, dann hätte ich dir vermutlich erzählen können, welcher Angriff da gelaufen ist 🙂 Aber du hast recht, es macht durchaus auch Spaß, sowas rauszufinden – ist ja eine Herrausforderung.

    Und…. gut gemacht Keule! :top:

  2. @DeserTStorM
    Die 91.34.96.85 und ist scheinbar doch eine Kiste, denn die tauchte immer bei mir wieder auf.

    Merci. 😆 Für einen alten Mann nicht schlecht, eh? 😆 Sniffen … das ist mir beim lesen auch untergekommen. Leider kenne ich mich mit den Tools hierzu nicht aus, so ich es dann mit Boardmitteln versucht habe. Ob der Sniffer dann jedoch ein Muster aufgezeigt hätte, wage ich zu bezweifeln.

  3. Naja sniffen ist ja im Prinzip einfach das Mitlesen der Daten die so über die Leitung gehen. Ein Muster wirst du da nicht erkennen und es ist auch nicht einfach, entsprechende Logs zu lesen. Allerdings erkennt man an der Art der Daten, welche fließen, welche Attacken gefahren werden bzw. was erreicht werden soll.

    Zudem sieht man, was getan wird, und kann sich entsprechend dagegen wehren. So macht man das als White Hat 😉 So werden Sicherheitslücken geschlossen usw.

    Wenn du es mal testen willst, empfehle ich dir Wireshark. Das ist für den Anfang ein recht einfacher, aber Leistungsfähiger Sniffer. 🙂

    Hm die IP scheint laut ripe whois aus dem Pool der T-Com zu stammen :-/

  4. @schrecklichschoenesleben
    geteilte Freude ist schöne Freude. :hachz:

    @DeserTStorM
    Danke, also muss ich mich damit beschäftigen. *hmpf* // Wireshark *äh* nix GUI, Linux-Server => console. 🙂

  5. wird, falls das von einem halbwegs normalen Anschluss ohne feste IP kommt, diese nicht alle 24 h gewechselt?
    oder gibt es das nicht mehr?

  6. @noch ein Markus
    Die IP ist mit dem Aufruf über Tage hinweg im Log. Wenn der eine 24h Trennung hat, frage ich mich, wie er das macht.

  7. Glückwunsch Herr Detektiv!

    Auch wenn ich fast nichts verstanden hab folge ich dir in soweit, dass du dem Übeltäter einen Strich durch die Rechnung gemacht hast :top:

  8. @Axy
    Details verstehe ich auch wenig, ich hangle mich so durch, lerne beim tun. Zumindest versuche ich dem Dreckbeutel in die Suppe zu spucken. Leider kann ich im Wesentlich nur reagieren, nicht agieren.

  9. @noch ein Markus
    Japp, trotz der vermeintlichen dialin Domain gingen stetige Request von der IP aus. Sehr rätselhaft wie man das macht, Dauerverbindung per Keep-Alive mit Auto-Connect? Ob das bei der T-Com geht?

Schreibe einen Kommentar

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