Gestern Vormittag liess sich unser Server nicht mehr verwalten. Verbindungsversuche endeten mit einer Meldung, die man selten sieht: «Exceeded MaxStartups». Die Websites unserer Kundschaft liefen die ganze Zeit normal weiter, die Auslastung war unauffällig, nichts war ausgefallen. Nur die Tür für die Verwaltung ging nicht mehr auf.
Der Grund war ein Angriff — aber nicht die Art, die man erwartet.
Was wir gefunden haben
Auf dem Server standen 36 offene Verbindungen zum Fernwartungszugang. Davon waren 33 unauthentifiziert: Sie hatten sich verbunden und danach nichts mehr getan. Angemeldet war niemand. Die Verbindungen kamen von 34 verschiedenen Adressen, jede genau einmal.
Aufschlussreich war, wem diese Adressen gehören. Es waren überwiegend Mailserver — in Russland, Vietnam, Brasilien, Nordafrika, dazu einige Mietserver bei grossen Anbietern. Das ist das typische Bild eines Botnetzes aus gekaperten Servern: Systeme, die selbst einmal übernommen wurden und seither fremde Ziele absuchen. Wer seinen eigenen Server nicht pflegt, arbeitet irgendwann unfreiwillig für jemand anderen.
Warum ein paar schweigende Verbindungen genügen
Ein Fernwartungsdienst nimmt nicht beliebig viele gleichzeitige Anmeldeversuche an. In der Standardeinstellung beginnt er zu drosseln, sobald zehn Verbindungen offen sind, die sich noch nicht angemeldet haben. Und er gibt jeder Verbindung zwei Minuten Zeit, sich anzumelden, bevor er sie schliesst.
Beides zusammen ergibt eine Lücke, durch die dieser Angriff passt: Wer sich verbindet und einfach schweigt, belegt zwei Minuten lang einen von zehn Plätzen. Mit ein paar Dutzend solcher Verbindungen ist der Dienst dauerhaft besetzt. Es braucht dafür kein einziges geratenes Passwort.
Die Abwehr, die hier nicht greifen kann
Auf dem Server läuft eine Sperrautomatik, die IP-Adressen nach mehreren Fehlversuchen ausschliesst. Sie arbeitet einwandfrei: 495 Adressen waren zu diesem Zeitpunkt gesperrt, knapp 50 000 seit der Einrichtung. Allein seit Ende August verzeichnete das Protokoll 17 000 fehlgeschlagene Anmeldungen von über 1500 verschiedenen Adressen — der gewöhnliche Dauerbeschuss, den jeder Server im Internet abbekommt.
Gegen diesen Angriff war sie trotzdem machtlos, und zwar aus einem grundsätzlichen Grund: Eine Verbindung, die sich nie anmeldet, erzeugt keinen Fehlversuch. Es entsteht keine Zeile im Protokoll, an der eine Sperrautomatik ansetzen könnte. Sie sieht nichts, weil es nichts zu sehen gibt.
Das ist der Punkt, der uns selbst überrascht hat, und der Grund, diesen Beitrag zu schreiben: Eine Schutzmassnahme kann tadellos funktionieren und für einen bestimmten Angriff dennoch völlig wirkungslos sein.
Die Behebung
Zwei Einstellungen genügten. Die Frist, die eine Verbindung zum Anmelden bekommt, haben wir von zwei Minuten auf zwanzig Sekunden gesenkt — das reicht für jede reguläre Anmeldung bequem und räumt tote Verbindungen sechsmal schneller ab. Und die Schwelle, ab der gedrosselt wird, haben wir von zehn auf dreissig gleichzeitige unangemeldete Verbindungen angehoben.
Die Wirkung war sofort messbar. Vorher: 36 offene Verbindungen, davon 33 stumm, Anmeldungen scheiterten. Nachher: 17 offene, davon 14 stumm, und zehn von zehn Verbindungsversuchen kamen durch. Der Angriff läuft weiter — er stört nur nicht mehr.
Was das für Sie bedeutet
Wenn Ihre Website bei einem Hoster liegt, betrifft Sie das nicht. Dort kümmert sich jemand darum, und Sie haben keinen Fernwartungszugang, der lahmgelegt werden könnte.
Betroffen sind Sie, wenn Sie einen eigenen Server betreiben — einen vServer, eine Maschine im Haus, ein NAS mit Fernzugriff. Dann lohnt sich ein Blick auf genau diese zwei Werte; in vielen Installationen stehen sie unverändert auf den Standardeinstellungen. Wer sich unsicher ist, fragt seinen Anbieter: Es ist eine Frage, die in einem Satz zu beantworten sein sollte.
Und es lohnt sich, den Fall im Kopf zu behalten. Nicht jeder Angriff will hinein. Dieser hier wollte nur, dass niemand sonst hineinkommt — und hätte im Ernstfall genau dann gestört, wenn man den Zugang am dringendsten braucht: bei einer Störung.