Hadmut Danisch

Ansichten eines Informatikers

Ursache für den Facebook-Ausfall

Hadmut
5.10.2021 18:06

Nicht grundsätzlich überraschend.

Mir schreibt jemand, das sei die bisher beste technische Beschreibung zum gestrigen Facebook-Ausfall.

Ich habe es nur grob überflogen, aber demnach haben sie sich ihre BGP Announcements vermurkst, dadurch wurden ein oder mehrere Netze nicht mehr geroutet, und in denn waren auch die DNS-Server. Und ohne DNS geht dann gar nichts mehr.

War im Prinzip klar, dass es etwas auf dieser Ebene sein musste, denn die Ausfälle waren so breit und technisch unterschiedlich – es hieß ja, dass auch bei denen die Mitarbeiter nicht mehr in die Büros und Konferenzräume kamen – dass es nicht an einer bestimmten Software oder oder einem Stromausfall liegen kann. Sowas würde sich nicht so breit auswirken. Sowas deutet schon auf einen DNS-Ausfall hin, als Schnittmenge so vieler Dienste, aber auch das wäre auszuschließen, weil ein DNS-Problem zwar möglich wäre und den Ausfall erklären könnte, aber nicht stundenlang zu suchen, denn das kann man recht zügig finden und beheben.

Damit ist BGP schon Kandidat gewesen, weil das nicht nur Ausfälle in solcher Breite verursacht, sondern auch schwieriger einzugrenzen ist.

Mit BGP teil, vereinfacht gesagt, der Inhaber eines Internet-Adressbereichs der Welt mit, wie und wo er zu finden ist. Während DNS für einzelne Rechner da ist und zum Namen wie www.google.com oder www.facebook.com sagt, wie die IP-Adresse dazu lautet, erzeugen die Router dann die Tabellen, wie man mit dieser IP-Adresse überhaupt von seiner Wohnung in Kleintupfingen nach Amerika zum Rechenzentrum von Google oder Facebook findet. Denn mit der DNS-Antwort alleine weiß man zwar die IP-Adresse, aber noch nicht, wo eigentlich der Server mit der IP-Adresse steht und wohin man ein IP-Paket weiterleiten muss, damit es ihn erreicht.

Man kann sich das vorstellen wie eine Postleitzahl. Wenn man jemandem einen Brief schicken will, braucht man seine Adresse und damit die Postleitzahl, die man auf den Brief schreibt. Das allein reicht aber nicht, es braucht auch einen Briefdienstleister, der weiß, wo diese Postleitzahl dann angesiedelt ist und, viel wichtiger noch, in welchen LKW zu welchem Briefzentrum der Brief geladen werden muss, damit er dann zum Ziel geliefert werden kann.

Während das bei Postleitzahlen aber ziemlich fest ist und man auch auswendig wissen kann, wo die eine oder die andere liegt, und zum Beispiel 10… nach Berlin zeigt, ist das im Internet anders, die sind da nämlich nicht festgelegt. Man kauft sich einen Adressbereich, also eine gewissen Zahl aufeinanderfolgender IP-Adressen, was erst mal nichts oder nicht viel (so nach Kontinenten) darüber sagt, wo die sind. Dann geht man in ein Rechenzentrum seiner Wahl oder baut sich selbst eins in die Firma, und fängt dann an, per Border Gateway Protocol, eben BGP, ständig herumzuschreien „Hört mal, ich habe die IP-Adressen von x bis y, und ich bin hier zu finden!“. Jeder, der das bekommt, hängt die Entfernung noch mit dran und schreit es weiter an alle, die er kennt. Bis alle davon gehört haben. Irgendwann weiß dann jeder, welche Wege es zu diesem Bereich für ihn gibt, und welches davon der kürzeste ist.

Nur:

Das ist nicht so besonders sicher und auch schon ziemlich alt. Es gibt zwar Verbesserungen und Filter, aber grundsätzlich hängt das davon ab, dass alle ordentlich mitspielen.

Und da gab es auch schon diverse Angriffe und Fehlkonfigurationen, denn im Prinzip könnte auch Tante Erna rumschreien, dass sie den Netzwerkbereich von Google hat, und einen kürzere Strecke kennt, und schon bekommt sie (im Prinzip) allen Verkehr, der zu Google gehen soll, zugeschickt.

Nimmt man gerne zur Sabotage.

Oder auch zur Spionage. Denn wenn man das richtig und sorgfältig macht, merkt fast keiner, dass die Pakete in die falsche Richtung gehen und dort dann zum richtigen Ziel weitergeleitet werdenm, sich der Angreifer also alle Pakete angucken kann, obwohl er normalerweise nicht drankäme. Sie beispielsweise in ein anderes Land umleiten.

Es muss aber nicht unbedingt ein Angriff oder ein Fehler eines anderen sein.

Man kann es auch einfach selbst vermurksen. Oder einen Defekt haben.