Cloudflare объяснил ошибку, которая вчера вызвала сбой в работе значительной части интернета

Вчера огромные сегменты интернета были полностью недоступны, а многие другие веб-сайты и сервисы работали с низкой скоростью. Сразу стало понятно, что проблема связана с сетью Cloudflare, но компании потребовалось некоторое время, чтобы установить истинную причину.

Cloudflare заявляет, что изначально предполагала, что подверглась масштабной кибератаке, но впоследствии осознала, что проблемы вызваны «болезненной» ошибкой при обновлении программного обеспечения…

Как мы сообщали вчера, сбой был масштабным.

Большое количество приложений и веб-сайтов в настоящее время полностью отключены или испытывают значительные перебои в работе из-за проблемы с популярным поставщиком инфраструктуры сети Cloudflare. CDN Cloudflare обеспечивает работу веб-сайтов множества известных приложений, поэтому любой сбой в Cloudflare имеет далеко идущие последствия. Это включает сайт социальных сетей X (ранее Twitter), пользователи которого в настоящее время не могут публиковать новые записи или обновлять свои ленты. Похоже, проблема затронула пользователей интернета по всему миру.

Почему Cloudflare решила, что подверглась атаке

Cloudflare сообщила, что наблюдаемая закономерность заключалась в отключении соединений примерно на пять минут, после чего они восстанавливались, а затем снова отключались. Эта модель привела компанию к выводу, что она подвергается тому, что она описала как DDoS-атаку гипермасштаба, поскольку техническая ошибка обычно не исправляется сама по себе.

Распределенная атака типа «отказ в обслуживании» (DDoS) — это когда злоумышленник направляет очень большой объем запросов на сервер, чтобы использовать всю его доступную мощность, в результате чего легитимные пользователи не могут получить доступ к сервису.

То, что казалось дальнейшим доказательством кибератаки, оказалось чистым совпадением.

Нас сбили с толку и заставили поверить, что это могла быть атака, еще одним очевидным симптомом, который мы наблюдали: страница статуса Cloudflare перестала работать. Страница статуса размещена полностью вне инфраструктуры Cloudflare, без зависимостей от Cloudflare. Хотя это оказалось совпадением, это привело некоторых членов команды, занимающейся диагностикой проблемы, к мысли, что злоумышленник может нацеливаться как на наши системы, так и на нашу страницу статуса.

Истинная причина — ошибка Cloudflare

Однако впоследствии выяснилось, что проблема заключалась в том, что компания некорректно обновила файл, используемый ее системой управления ботами.

Существует негласное правило в IT: если вы сталкиваетесь с проблемой с необычными симптомами, то это, скорее всего, проблема с правами доступа — и именно так было в данном случае.

Это было вызвано изменением прав доступа к одной из наших систем баз данных, что привело к тому, что база данных выдала несколько записей в «файл функций», используемый нашей системой управления ботами. Этот файл функций, в свою очередь, удвоился в размере. Файл функций большего, чем ожидалось, размера затем был распространен на все машины, составляющие нашу сеть.

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

Также нашлось простое объяснение странному пятиминутному циклу.

Файл генерировался каждые пять минут запросом, выполнявшимся в кластере базы данных ClickHouse, который постепенно обновлялся для улучшения управления правами доступа. Некорректные данные генерировались только в том случае, если запрос выполнялся на части кластера, которая была обновлена. В результате каждые пять минут существовала вероятность того, что будет сгенерирован либо корректный, либо некорректный набор конфигурационных файлов, который будет быстро распространен по сети.

Компания принесла извинения, охарактеризовав свою ошибку как «глубоко болезненную».

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

Более подробное объяснение вы можете прочитать в блоге Cloudflare.

Рекомендуемые аксессуары

Фото: David Pupăză на Unsplash