Tatort Internet: Nach uns die SYN-Flut

S02E01: Wenn das Forum eines kommerziellen Online-Rollenspiels in die Knie geht, ist Alarm. Wenn der Server wieder läuft, geht es daran, den Täter aufzuspüren.

Lesezeit: 21 Min.
In Pocket speichern
vorlesen Druckansicht
Von
  • Jasper Bongertz
Inhaltsverzeichnis

Ich kam gerade aus der Mittagspause zurück ins Büro, als mein Kollege auf den Überwachungsmonitor deutete und mir mitteilte, da sei vor ein paar Minuten „etwas rot geworden“. Auf dem Bildschirm sah ich, dass tatsächlich einer der überwachten Server nicht mehr ansprechbar war

Nicht gut – der Status des Forumsservers leuchtete rot.

Auf diesem Webserver lief nur eine kommerzielle Software für ein Forum zu einem kleineren Online-Rollenspiel. Ich verwarf sofort den eigentlich auf dem Weg zum Büro gefassten Entschluss, erst mal in Ruhe einen Kaffee zu trinken. Wenn das Forum wirklich „down“ war, würde es in Kürze sehr ungemütlich werden.

Noch während ich meinen PC entsperrte, klingelte mein Handy. Das konnte nur Christian sein, der Projektleiter des Spiels. Ich nahm das Gespräch trotzdem an.  “Hi. Ja, das Forum ist down. Ich habs gesehen und kümmere mich darum. Nein, ich weiß noch nicht, was das sein könnte, lass mich erst mal schauen. Ach, und sag bitte den GMs, sie sollen mir nicht auf die Nerven gehen, sonst dauert es noch länger.“ GMs, das sind Gamemaster, also Mitarbeiter, die die Spieler als Betreuer begleiten. Nette Jungs eigentlich, wenn sie nicht gerade nachbohren, wann es denn wieder weitergeht, bevor man auch nur im geringsten weiß, was los ist. Christian versprach mir, er kümmere sich um die Rasselbande und ich legte auf.

Schon die ersten Tests zeigten, dass da was im Argen lag: Die Ping-Anfragen auf die IP-Adresse des Management-Interfaces lieferten vor allem Verlustmeldungen. Die wenigen ankommenden ICMP Echo-Reply-Pakete wiesen extrem hohen Latenzzeiten im Sekundenbereich auf; normal wären bei unserer Standleitung etwa 10 Millisekunden. Der Webbrowser bemühte sich vergeblich, die Login-Seite zu laden. Irgend etwas stimmte definitiv nicht: Der Server war nicht ganz tot, aber richtig lebendig eben auch nicht.

Und wenn die Spieler die Webseite nicht erreichen konnten, war das ein ziemliches Problem. Über das Forum lief extrem viel Interaktion der verschiedenen Spielerparteien, und da das Spiel sehr stark von einer aktiven Spielergemeinschaft abhing, musste das Forum unbedingt laufen. Genervte Spieler gleich weniger Spieler gleich weniger Abonnements – also nicht gut.

Ohne große Hoffnung versuchte ich, per ssh auf die Shell des Systems zu kommen. Wenn schon der Ping kaum klappt, würde eine richtige TCP-Verbindung kaum besser funktionieren. Und genau so war es – nach einer knappen Minute gab ich auf. Da der Forumsserver als virtuelle Maschine lief, hatte ich immerhin noch die Möglichkeit, über die Gastbetriebssystems-Konsole des Virtualisierungsservers mal nach dem Rechten zu sehen. Ich bekam den typischen Debian-Login-Prompt zu sehen und meldete mich an, allerdings nicht ohne sekundenlange „Denkpausen“ zwischen Usernamen- und Passworteingabe.

Auf der Kommando-Shell des virtuellen Servers angekommen, wollte ich zunächst sehen, woher die Last auf dem System stammte. Dazu nutzte ich das top-Kommando und staunte nicht schlecht: Die CPU Auslastung lag deutlich über 98 Prozent und das RAM war komplett in Verwendung, belegt von einer scheinbar ewig langen Liste von Apache-Threads. Typischerweise waren nur etwa eine Handvoll aktiv; der Server lief weit jenseits seiner Lastgrenzen.

Normal ist ein Reboot des Systems nur innerhalb der vorab angekündigten Wartungsfenster erlaubt. Aber da das Forum momentan sowieso nicht zu erreichen war, entschloss ich mich, als erstes einen kompletten Neustart zu versuchen. 

Zu meiner Zufriedenheit startete der Server nach einigen Minuten anstandslos; das Forum lebte wieder. Ich beobachtete, wie sich die Online-Nutzerliste des Forums  wieder füllte. Wenig überraschend war der Ausfall das aktivste Diskussionsthema. In der Zwischenzeit wurde auch das Icon des Servers im Nagios-Überwachungssystem wieder grün und die Sache schien ausgestanden.