Thema AbhängigkeitUrsache Routing-KonfigurationMitbetroffen fremde SeitenLehre zweiter Zugangsweg

Der Ausfall eines grossen Netzwerks und was er über Abhängigkeit gezeigt hat

Interessant war nicht, dass ein Dienst ausfiel. Interessant war, wie viele Seiten mit ausfielen, die mit diesem Dienst nichts zu tun hatten.

Ein Ausfall von mehreren Stunden bei einem der grössten Anbieter im Netz ist ein technisches Ereignis mit einer begrenzten Aussage. Die Aussage, die bleibt, liegt woanders: an dem Tag fielen Anmeldemasken auf fremden Seiten aus, Kommentarbereiche blieben leer, und Seiten ohne jeden Bezug zu diesem Konzern wurden langsam. Das ist der Teil, der sich lohnt anzusehen, weil er wiederkehrt.

WAS GLEICHZEITIG AUSFIELEigene DienstedirektNetzwerk, Nachrichtendienst, BildplattformNamensauflösunggleichzeitigeigene Namensserver lagen im selben AdressbereichFremde AnmeldungindirektSeiten mit Anmeldung ueber das KonzernkontoFremde NebenelementeindirektKommentare, Reichweitenmessung, eingebettete InhalteSTRUKTUR DES AUSFALLSWAS GLEICHZEITIG AUSFIELEigene DienstedirektNetzwerk, Nachrichtendienst, BildplattformNamensauflösunggleichzeitigeigene Namensserver lagen im selben AdressbereFremde AnmeldungindirektSeiten mit Anmeldung ueber das KonzernkontoFremde NebenelementeindirektKommentare, Reichweitenmessung, eingebettete ISTRUKTUR DES AUSFALLS
Vier Ebenen, eine Ursache. Die beiden unteren betrafen Seiten, die selbst nicht ausgefallen waren.
Patchfeld mit Netzwerkkabeln, ein Kabel liegt ausgesteckt quer darueber
Ein einzelner Weg fehlt, und der Rest des Netzes findet die Server nicht mehr.

Die Ursache und warum sie sich selbst verstärkte

Auslöser war eine fehlerhafte Konfigurationsänderung im internen Routing. Dadurch verschwanden die Adressbereiche des Konzerns aus dem globalen Routing, und für den Rest des Netzes existierten die Server nicht mehr. Das allein wäre ein gewöhnlicher, wenn auch grosser Ausfall gewesen. Verstärkt wurde er dadurch, dass die eigenen Namensserver in denselben Adressbereichen lagen. Damit fiel die Namensauflösung zusammen mit den Diensten aus, und die Wiederherstellung wurde schwieriger, weil auch interne Werkzeuge über dieselben Wege liefen.

Diese Verkettung ist der eigentliche Lehrsatz. Ein System, dessen Notfallwerkzeuge von dem System abhängen, das ausgefallen ist, hat keine Notfallwerkzeuge. Das gilt in der Grössenordnung eines Konzerns genauso wie bei einer einzelnen Person, deren Passwortverwaltung im Konto liegt, dessen Passwort sie sucht.

Die indirekt Betroffenen

Der interessantere Teil betraf Seiten, die selbst funktionierten. Wer eine Anmeldung über das Konto dieses Konzerns anbietet und keinen zweiten Weg, hat an diesem Tag niemanden mehr angemeldet. Wer Kommentare über einen Baustein dieses Anbieters einbindet, hatte keine Kommentare. Und wer irgendein Nebenelement eingebunden hat, dessen Server nicht mehr antwortete, hatte eine langsame Seite, weil der Browser auf eine Antwort wartete, die nicht kam.

Die letzte Kategorie ist die unangenehmste, weil der Zusammenhang nicht sichtbar ist. Eine Seite lädt langsam, ohne dass ein Fehler angezeigt wird, und die Ursache liegt bei einem Dritten. Wer eine eigene Seite betreibt, kann das entschärfen, indem eingebundene Fremdelemente asynchron geladen werden und beim Ausbleiben einer Antwort nicht blockieren. Das ist keine grosse Änderung, aber sie muss vorher gemacht werden.

Warum eine Konfigurationsänderung so weit reicht

Das globale Routing funktioniert über Ankündigungen: jeder Betreiber teilt seinen Nachbarn mit, welche Adressbereiche über ihn erreichbar sind. Diese Ankündigungen werden weitergegeben, bis alle Beteiligten wissen, in welche Richtung ein Datenpaket geschickt werden muss. Verschwindet eine Ankündigung, verschwindet damit die Wegbeschreibung, und zwar innerhalb von Minuten weltweit. Die Server laufen dabei weiter, sie sind nur nicht mehr adressierbar.

Genau das ist der Grund, warum ein einzelner Konfigurationsfehler eine Wirkung hat, die in keinem Verhältnis zu seiner Grösse steht. Es gibt keinen Zwischenzustand, in dem der Dienst langsam oder teilweise erreichbar wäre. Er ist entweder im Routing vorhanden oder nicht. Und weil die Rücknahme einer Ankündigung genauso schnell wirkt wie ihre Verbreitung, ist der Ausfall vollständig, bevor jemand eingreifen kann.

Was daraus für die eigene Nutzung folgt

Ein einzelner Punkt trägt den grössten Teil des Nutzens: eine Anmeldung über einen einzigen fremden Dienst ist ein einzelner Ausfallpunkt. Wer sich bei zwanzig Seiten über dasselbe Konto anmeldet, hat bei dessen Ausfall keinen Zugang zu zwanzig Seiten, und bei dessen Sperrung dauerhaft keinen. Ein zweiter Zugangsweg, mit eigener Adresse und eigenem Passwort, kostet einmal wenige Minuten pro Dienst.

Ein zweiter Punkt betrifft Daten, die nur an einer Stelle liegen. Bilder, Nachrichten und Kontakte, die ausschliesslich in einem Konto existieren, sind bei jedem Ausfall unerreichbar und bei jedem Verlust des Kontos weg. Die meisten Anbieter stellen einen Export bereit, der einmal jährlich ausgeführt genügt. Beides ist unspektakulär und beides wird typischerweise erst nach dem ersten Vorfall gemacht.

Die allgemeinere Beobachtung, um die es hier geht, ist nicht auf einen Anbieter beschränkt. Je mehr alltägliche Vorgänge über wenige grosse Dienste laufen, desto mehr wird ein technischer Fehler bei einem davon zu einem Ereignis, das viele betrifft. Das ist keine Prognose, sondern eine Beschreibung dessen, was an diesem Tag messbar war.

Häufige Fragen

Was war die eigentliche Ursache des Ausfalls?

Eine fehlerhafte Konfigurationsänderung im internen Routing führte dazu, dass die Adressbereiche des Konzerns aus dem globalen Routing verschwanden. Für den Rest des Netzes existierten die Server damit nicht mehr.

Verstärkt wurde der Effekt dadurch, dass auch die eigenen Namensserver in denselben Bereichen lagen. Damit fiel die Auflösung der Adressen gleichzeitig mit den Diensten aus.

Warum betraf das auch fremde Seiten?

Weil viele Seiten Anmeldung, Kommentarfunktion oder Reichweitenmessung über Bausteine dieses Konzerns einbinden. Fällt der Baustein aus, wartet die fremde Seite auf eine Antwort, die nicht kommt.

Die Folge waren langsam ladende Seiten ohne erkennbaren Zusammenhang zum Ausfall. Ein eingebundener Fremddienst ist eine Abhängigkeit, auch wenn er nur ein Nebenelement bedient.

Was lässt sich daraus für die eigene Nutzung ableiten?

Vor allem eines: eine Anmeldung über einen einzigen fremden Dienst ist ein einzelner Ausfallpunkt. Wer sich überall über dasselbe Konto anmeldet, verliert bei dessen Ausfall den Zugang zu allem.

Ein zweiter Zugangsweg mit eigenem Passwort kostet einmal Aufwand und löst diesen Fall vollständig.

Kann so ein Ausfall wieder passieren?

Ja, weil die Ursache eine gewöhnliche Konfigurationsänderung war und solche Änderungen laufend stattfinden. Was sich ändern lässt, ist die Verkettung: Notfallwerkzeuge, die nicht am ausgefallenen System hängen.

Für Nutzerinnen und Nutzer ändert das nichts an der Vorsorge, die dieselbe bleibt: ein zweiter Zugangsweg und ein Export der eigenen Daten.

Woran merke ich, dass eine langsame Seite an einem Dritten hängt?

Daran, dass die Seite selbst erscheint, aber einzelne Elemente ausbleiben, etwa Kommentare oder eine Anmeldemaske. Der Rest der Seite ist dann geladen und wartet nur auf eine Antwort von aussen.

Wer eine eigene Seite betreibt, entschärft das, indem Fremdelemente asynchron geladen werden und beim Ausbleiben einer Antwort nicht blockieren.

Was ist ein sinnvoller zweiter Zugangsweg?

Eine eigene E-Mail-Adresse mit eigenem Passwort, hinterlegt bei jedem Dienst, der es zulässt. Damit ist eine Anmeldung möglich, auch wenn ein fremder Anmeldedienst ausfällt oder ein Konto gesperrt wird.

Ergänzend gehören die Wiederherstellungscodes an einen Ort, der nicht dasselbe Konto voraussetzt, das man wiederherstellen will.

Betrifft das auch Bezahlvorgänge?

Indirekt ja. Fällt ein Anmeldedienst aus, über den ein Bezahlkonto zugänglich ist, ist auch die Zahlung blockiert, obwohl der Zahlungsdienst selbst arbeitet.

Deshalb gilt bei Bezahlkonten die gleiche Regel wie überall: eigene Zugangsdaten statt einer einzigen fremden Anmeldequelle.

Wo sehe ich, ob ein Dienst gerade ausgefallen ist?

Bei den Statusseiten der Anbieter selbst und bei unabhängigen Störungsmeldern. Beide sind nur Anhaltspunkte: eine Statusseite, die auf derselben Infrastruktur läuft, kann mit ausfallen.

Das ist derselbe Fehler in klein, den der grosse Ausfall in gross gezeigt hat.