Błąd w konfiguracji BGP spowodował 27-minutową awarię Cloudflare

Firma Cloudflare, oferującą sieć dostarczania treści dla 27 mln zasobów internetowych, obsługująca 13% z 1000 największych stron internetowych, ujawniła szczegóły incydentu, w wyniku którego przez 27 minut zakłócona była praca wielu segmentów sieci Cloudflare, w tym tych, które odpowiadały za dostarczanie ruchu do Londynu, Chicago, Los Angeles, Waszyngtonu, Amsterdamu, Paryża, Moskwy i Petersburga. Problem został spowodowany błędną zmianą konfiguracji na routerze w Atlancie. W czasie incydentu, który miał miejsce 17 lipca między 21:12 a 21:39 (UTC), ogólny wolumen ruchu w sieci Cloudflare spadł o około 50%.

Błąd w konfiguracji BGP spowodował 27-minutową awarię Cloudflare

W trakcie prac technicznych, chcąc zredukować część ruchu z jednego z backbone'ów, inżynierowie usunęli jedną linię w bloku ustawień, definiującym listę akceptowanych przez backbone tras, filtrowanych zgodnie z podaną listą prefiksów. Poprawnym rozwiązaniem byłoby dezaktywowanie całego bloku, ale przez pomyłkę usunięto tylko linię z listą prefiksów.

{master}[edit]
atl01# show | compare
[edit policy-options policy-statement 6-BBONE-OUT term 6-SITE-LOCAL from]
! inactive: prefix-list 6-SITE-LOCAL { … }

Zawartość bloku:

from {
prefix-list 6-SITE-LOCAL;
}
then {
local-preference 200;
community add SITE-LOCAL-ROUTE;
community add ATL01;
community add NORTH-AMERICA;
accept;
}

Z powodu usunięcia powiązania z listą prefiksów pozostała część bloku zaczęła rozprzestrzeniać się na wszystkie prefiksy, a router zaczął wysyłać wszystkie swoje trasy BGP do routerów innych backbone'ów. Zbiegiem okoliczności nowe trasy miały wyższy priorytet (local-preference 200) w porównaniu do priorytetu (100) ustalonego dla innych tras przez automatyczny system optymalizacji ruchu. W rezultacie zamiast usunięcia routingu z backbone'u doszło do wycieku bardziej preferencyjnych tras BGP, w wyniku czego ruch skierowany do innych backbone'ów trafił do Atlancy, co doprowadziło do przeciążenia routera i załamania części sieci.

Błąd w konfiguracji BGP spowodował 27-minutową awarię Cloudflare

Aby zapobiec podobnym incydentom w przyszłości, w poniedziałek planowane są zmiany w ustawieniach backbone'ów Cloudflare. Do sesji BGP zostanie dodane ograniczenie maksymalnej liczby prefiksów (maximum-prefix), które zablokuje problematyczny backbone, w przypadku gdy przez niego będzie kierowane zbyt wiele prefiksów. Gdyby to ograniczenie zostało wprowadzone wcześniej, omawiany problem doprowadziłby do wyłączenia backbone'u w Atlancie, ale nie wpłynęłoby na działanie całej sieci, ponieważ sieć Cloudflare jest zaprojektowana tak, aby pojedyncze backbone'y mogły zawieść. W ramach już wprowadzonych zmian zauważono rewizję priorytetów (local-preference) dla lokalnych tras, co uniemożliwi jednemu routerowi wpływanie na ruch w innych częściach sieci.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster