Cloudflare Bericht über den Vorfall von gestern, bei dem während von 13:34 bis 16:26 (MSK) Probleme mit dem Zugang zu vielen Ressourcen im globalen Netzwerk festgestellt wurden, einschließlich der Infrastruktur von Cloudflare, Facebook, Akamai, Apple, Linode und Amazon AWS. Die Probleme in der Cloudflare-Infrastruktur, die CDN für 16 Millionen Websites bereitstellt, von 14:02 bis 16:02 (MSK). Laut Schätzungen von Cloudflare ging während des Ausfalls etwa 15% des globalen Verkehrs verloren.
Das Problem war eine BGP-Routenleckage, bei der etwa 20.000 Präfixe für 2.400 Netzwerke falsch umgeleitet wurden. Die Quelle der Leckage war der Anbieter DQE Communications, der Software zur Optimierung der Routing verwendet hat. BGP Optimizer zerlegt IP-Präfixe in kleinere, zum Beispiel wird 104.20.0.0/20 in 104.20.0.0/21 und 104.20.8.0/21 unterteilt, wodurch DQE Communications auf seiner Seite eine große Anzahl spezifischer Routen hielt, die allgemeinere Routen umschrieben (d. h. anstelle von allgemeinen Routen zu Cloudflare wurden spezifischere Routen zu bestimmten Cloudflare-Subnets verwendet).
Diese spezifischen Routen wurden einem der Kunden (Allegheny Technologies, AS396531) angekündigt, der auch über einen weiteren Anbieter verbunden war. Allegheny Technologies übertrug die erhaltenen Routen an einen anderen Transit-Anbieter (Verizon, AS701). Aufgrund fehlender angemessener Filterung der BGP-Ankündigungen und einer Begrenzung der Anzahl der Präfixe erfasste Verizon diese Ankündigung und übertrug die erhaltenen 20.000 Präfixe an den Rest des Internets. Die fehlerhaften Präfixe wurden aufgrund ihrer Granularität als priorisiert wahrgenommen, da eine spezifische Route eine höhere Priorität hat als eine allgemeine.
Infolgedessen wurde der Verkehr für viele große Netzwerke über Verizon an den kleinen Anbieter DQE Communications geleitet, der den gestiegenen Verkehr nicht verarbeiten konnte, was zu einem Zusammenbruch führte (der Effekt ist vergleichbar damit, dass ein Teil einer stark befahrenen Autobahn durch einen unbefestigten Weg ersetzt wird).
Um das Auftreten solcher Vorfälle in Zukunft zu verhindern,
:
- Verwenden von Ankündigungen auf Grundlage von RPKI (BGP Origin Validation, erlaubt den Empfang von Ankündigungen nur von Netzwerkinhabern);
- Das maximale Anzahl der akzeptierten Präfixe für alle EBGP-Sitzungen zu begrenzen (die Einstellung maximum-prefix würde sofort die Übertragung von 20.000 Präfixen innerhalb einer einzigen Sitzung ausschließen);
- Filterung basierend auf dem IRR-Register (Internet Routing Registry, das AS definiert, über die die Routing bestimmter Präfixe zulässig ist) anwenden;
- Die in RFC 8212 empfohlenen Einstellungen zur standardmäßigen Blockierung ('default deny') auf Routern verwenden;
- Unüberlegten Einsatz von BGP-Optimierern einstellen.
Quelle: opennet.ru
