Hitech logo

Кейсы

Программисты «Яндекса» чуть не лишили всю Россию точного времени

TODO:
Дарина Житова29 ноября, 09:39

В октябре 2024 года ошибка в прошивке умных колонок «Яндекс Станция» привела к сбою в российском сегменте серверов точного времени (NTP). Из-за неисправности устройства начали отправлять запросы к NTP-серверам каждые 5 секунд, что вызвало перегрузку инфраструктуры, так как колонок в России продано уже несколько миллионов. К ноябрю число активных серверов точного времени в России сократилось с 140 до всего 4. Остальные остановили работу из-за непредумышленной атаки со стороны Яндекса.

Самые интересные технологические и научные новости выходят в нашем телеграм-канале Хайтек+. Подпишитесь, чтобы быть в курсе.

Проблему заметил пользователь, поддерживающий NTP-сервер на домашнем маршрутизаторе. Он обнаружил, что его канал был перегружен из-за постоянных запросов, и временно отключил сервер. Впоследствии выяснилось, что сбой связан с обновлением прошивки «Яндекс Станций», развернутым в середине октября. Ошибка в модуле синхронизации времени вынуждала устройства повторять запросы вне зависимости от их успешности.

Обновление изначально было развернуто на 10% устройств, но система мониторинга не отслеживала метрики NTP-запросов, что позволило прошивке распространиться на все устройства к концу октября. Массовые жалобы от пользователей начали поступать только в ноябре, что замедлило идентификацию проблемы.

Решение было найдено лишь 20 ноября.

Для временного устранения сбоя «Яндекс» выпустил хотфикс, увеличивший интервал запросов с 5 до 600 секунд. Это позволило снизить нагрузку на серверы в 120 раз. Однако часть функций колонок оставалась недоступной, если синхронизация времени не проходила с первого раза. Параллельно сообщество энтузиастов и крупные компании, такие как облачные операторы, начали поднимать дополнительные NTP-серверы.

Чтобы предотвратить повторение ситуации, «Яндекс» разработал меры: компания планирует создать выделенную зону NTP-серверов для своих устройств, интегрировать собственные ресурсы в общий пул серверов точного времени и внедрить мониторинг соответствующих метрик. Также будет усовершенствована обратная связь с пользователями для более оперативного выявления проблем.

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

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

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