В минувшие выходные в работе американского интернет-провайдера CenturyLink произошел серьезный технический сбой. Проблема, связанная с брандмауэром и маршрутизацией BGP, быстро распространилась за пределы сети CenturyLink и повлияла на других поставщиков услуг, в результате чего сбои возникли в работе многих других компаний.
По вине CenturyLink в оффлайн уходили Amazon, Twitter, Microsoft (Xbox Live), EA, Blizzard, Steam, Discord, Reddit, Hulu, Duo Security, Imperva, NameCheap, OpenDNS и многие, многие другие. По информации аналитиков Cloudflare, инцидент в CenturyLink спровоцировал снижение глобального трафика на 3,5%.
Согласно официальному сообщению CenturyLink, проблема возникла в центре обработки данных в Миссиссоге, канадском городе, расположенном недалеко от Онтарио. В корне произошедшего лежал некорректный анонс Flowspec.
Flowspec — это расширение протокола BGP, которое позволяет компаниям использовать маршруты BGP для распространения правил файрвола на всю свою сеть. Анонсы Flowspec обычно применяются во время различных ИБ-инцидентов (например, при BGP-хаках и DDoS-атаках), так как они позволяют компаниям вносить оперативные изменения в свою сеть и за считанные секунды реагировать на ситуацию.
Некорректный анонс CenturyLink, исходивший из дата-центра в Миссиссоге, по сути, помешал BGP-маршрутам компании «прижиться». По информации специалистов Cloudflare, CenturyLink сначала анонсировала набор новых маршрутов BGP, а затем случайно дропнула все маршруты из-за некорректного правила Flowspec. И хотя из-за этого некоторые маршрутизаторы компании отключились, другие остались в строю и принялись анонсировать некорректные BGP-маршруты соседнему Tier-1. В итоге можно было наблюдать эффект домино в действии, так как за этим последовали сбои и отключения в сетях других компаний.
Для выхода из сложившейся ситуации специалисты CenturyLink пошли на весьма редкий для провайдера шаг: попросили всех интернет-провайдеров Tier 1 отключиться и игнорировать любой трафик, исходящий из сети CenturyLink. Компании редко принимают подобные решения, поскольку это означает полную потерю связи для всех их клиентов.
В итоге сотрудникам CenturyLink пришлось перезагрузить все оборудование и вернуться к чистым таблицам маршрутизации BGP. Этот процесс занял у специалистов компании почти семь часов.