Спецпроекты

Безопасность Стратегия безопасности Интернет Интернет-доступ

Вышла из строя половина интернета. Причиной была мелкая программная ошибка в Cloudflare

Обновление реквизитов доступа к корневым базам данных Cloudflare вызвало масштабный каскадирующий сбой во всей инфраструктуре инфраструктуре. Около шести часов значительная часть интернета «отдыхала».

Шесть часов молчания

Система доставки контента и защиты от DDoS-атак Cloudflare, один из магистральных сервисов, обеспечивающих функционирование миллионов сетевых ресурсов, в начале недели на шесть часов вышла из строя. Как следствие, все платформы, которые пользуются услугами Cloudflare, в том числе Spotify, OpenAI, League of Legends, Valorant, AWS и даже некоторые сервисы Google, на несколько часов сделались недоступными.

Как впоследствии пояснили в компании, сбой был вызван ошибкой, возникшей при обновлении разрешений на доступ к одной из баз данных. Это повлекло каскадирующий сбой во всей инфраструктуре Cloudflare Global Network - а это серверы и датацентры, располагающиеся в 120 странах. Фактически сбой затронул более 13 тысяч сетей, всех крупнейших провайдеров в мире и многие облачные ресурсы.

Как пояснил исполнительный директор компании Мэттью Принс (Matthew Prince), проблемы начались с рядового обновления реквизитов доступа к базам данных.

Обновление реквизитов доступа к корневым базам данных Cloudflare вызвало масштабный каскадирующий сбой во всей инфраструктуре инфраструктуре

Система управления Cloudflare Bot Management использует специальный файл настроек (feature file). Этот файл генерируется по запросу к кластеру баз данных ClickHouse.

Закравшаяся ошибка привела к тому, что в ответ на запросы к базам данных возвращались дублирующиеся метаданные, в результате чего размеры файла стали превосходить встроенные ограничения. В результате чего ПО, отвечающее за маршрутизацию трафика, стало выходить из строя.

Причём инфраструктуру Cloudflare в буквальном смысле мотало между рабочим и нерабочим состояниями. Причина, как пояснил Принс, состояла в том, что файл настроек генерировался каждые пять минут, и от того, к каким базам направлялся запрос, обновлённым или нет, зависело, корректно ли генерировался файл или содержал дублирующие записи.

Американские горки

Из-за того, что системы то работали, то нет, технические службы долго не могли понять, что происходит. Лишь спустя около трёх часов, когда уже на все базы данных было установлено проблемное обновление, и все запросы к ним стали приводить к генерации избыточных размеров файла настроек, специалистам Cloudflare удалось понять, с чем они имеют дело.

Первоначально, как указал Принс, они думали, что имеют дело с экстраординарной DDoS-атакой. Но через три часа стало понятно, что системы Cloudflare фактически устроили атаку сами себе.

После этого прошло ещё два с половиной часа, прежде чем все системы удалось вернуть в рабочее состояние, и затронутые сервисы снова стали доступны пользователям.

«Всего несколько недель прошло с того момента, как облако Amazon AWS вышло из строя, парализовав работу миллионов площадок, и вот теперь то же самое происходит с ещё более значимым сервис-провайдером, - констатирует Дмитрий Пешков, эксперт по информационной безопасности компании SEQ. - В обоих случаях каскадное обрушение инфраструктуры было вызвано какими-то совершенно рядовыми программными сбоями, и это демонстрирует, насколько, на самом деле, хрупки все эти гигантские комплексы. Между тем, каждый такой сбой - это массивные потери для бизнеса, чьи ресурсы оказываются длительное время недоступными».

«Мы приносим извинения нашим клиентам и всему интернету в целом. Учитывая значимость Cloudflare для экосистемы Всемирной сети, любой простой любой из наших систем абсолютно неприемлем», - написал Принс.

Он отметил также, что произошедшее - это худший инцидент за последние шесть лет.

Впрочем, в июне сеть Cloudflare пережила ещё один существенный сбой, затронувший многие регионы, но он не носил такого всеобъемлющего характера, как то, что случилось в начале недели.

Роман Георгиев

Короткая ссылка