Сбой Ericsson 6 декабря 2018 года: как истёкший сертификат оставил без мобильного интернета O2, SoftBank и операторов 11 стран
Команда KAI Lab · · 8 мин чтения
6 декабря 2018 года миллионы абонентов O2 в Великобритании и SoftBank в Японии остались без мобильного интернета из-за истёкшего сертификата в программном обеспечении Ericsson. Сертификат был в двух версиях ПО узлов ядра сети SGSN-MME, и когда срок вышел, узлы у операторов в 11 странах отказали почти одновременно.
Сеть никто не взламывал и не перегружал. Ericsson в тот же день признала вину, пообещала вывести проблемное ПО из эксплуатации и извинилась не только перед операторами, но и перед их абонентами. SoftBank лежала около четырёх с половиной часов, а O2 объявила о полном восстановлении только ночью 7 декабря.
Главное о сбое в одной таблице
| Вопрос | Ответ |
|---|---|
| Когда | 6 декабря 2018 |
| Причина | истёкший сертификат в двух версиях ПО SGSN-MME от Ericsson |
| Где | операторы в 11 странах, почти в одно время |
| Великобритания | O2 — около 25 млн клиентов, а также абоненты giffgaff, Tesco Mobile, Sky Mobile на её сети. Не работала передача данных |
| Япония | SoftBank и Y!mobile — 4G LTE, домашний телефон «Оути-но дэнва», местами SoftBank Air, с 13:39 до 18:04 по токийскому времени |
| Кибератака? | Нет. Ericsson назвала причиной истёкший сертификат |
| Реакция Ericsson | проблемное ПО выводят из эксплуатации, извинения операторам и их клиентам |
| Компенсации | O2: клиентам с контрактом — два дня абонентской платы, до конца января |
Хронология сбоя
| Время | Что произошло |
|---|---|
| 6 декабря, 13:39 по Токио (04:39 UTC) | У SoftBank и Y!mobile перестают работать 4G LTE, домашний телефон и местами SoftBank Air |
| 6 декабря | У O2 и операторов на её сети пропадает мобильный интернет |
| 6 декабря | Ericsson сообщает: причина — истёкший сертификат в двух версиях ПО SGSN-MME. К концу дня у большинства операторов сервисы восстановлены |
| 6 декабря, 18:04 по Токио (09:04 UTC) | SoftBank восстанавливает связь |
| 7 декабря, около 03:30 по Лондону | O2 сообщает, что передача данных работает |
| 7 декабря | O2 объявляет компенсации клиентам |
Что такое SGSN-MME и почему сертификат его остановил
SGSN-MME — узел пакетного ядра мобильной сети. Он регистрирует телефоны в сети, следит за их перемещением и поднимает сессии передачи данных: SGSN — для 2G и 3G, MME — для 4G. Если он не работает, телефон видит антенну, но интернета нет. Сервисы, которые целиком живут на LTE, отказывают полностью. Поэтому у SoftBank вместе с мобильным интернетом лёг и домашний телефон, который работает через мобильную сеть.
Ericsson в заявлении от 6 декабря пишет: проблема в узлах ядра сети у ограниченного числа клиентов в нескольких странах, которые используют две конкретные версии ПО SGSN-MME. Первичный анализ показал, что главная причина — истёкший сертификат в этих версиях. SoftBank в своём извинении формулирует так: в ПО коммутационного оборудования Ericsson неправильно обрабатывался срок действия цифрового сертификата.
Почему сразу в 11 странах
У всех установок одной версии ПО был один и тот же сертификат с одной датой окончания. Поэтому не было «первого пострадавшего», который мог бы предупредить остальных: узлы отказали у разных операторов почти в одну минуту. SoftBank прямо пишет, что похожие проблемы почти в то же время начались у операторов в 11 странах.
Это главное отличие отказов «по календарю» от обычных багов. Баг в новой версии проявляется постепенно, по мере выкатки. Истекающий срок срабатывает везде одновременно, даже если версию выкатывали месяцами.
Как восстанавливались
Ericsson вместе с операторами заменяла проблемное ПО. Глава компании Бёрье Экхольм сказал, что неисправное ПО выводят из эксплуатации, и извинился не только перед клиентами Ericsson, но и перед их клиентами. По данным Ericsson, в течение 6 декабря у большинства затронутых операторов сервисы восстановили.
SoftBank поднялась за четыре с половиной часа. O2 восстанавливалась дольше и объявила, что всё работает, только около 03:30 7 декабря. Клиенты O2 с контрактом получили компенсацию — два дня абонентской платы.
Уроки для DevOps
1. Всё, что истекает, должно быть в инвентаре
Сертификаты, токены, лицензии, ключи, домены — у каждого должен быть владелец, дата и алерт за недели до срока. Проверить сертификат можно одной командой:
# когда истекает сертификат сервиса
echo | openssl s_client -connect api.example.com:443 -servername api.example.com 2>/dev/null \
| openssl x509 -noout -enddate
# истечёт ли файл-сертификат в ближайшие 30 дней (2 592 000 секунд)
openssl x509 -checkend 2592000 -noout -in /etc/ssl/certs/app.pemПервая команда печатает строку notAfter= с датой окончания. Вторая отвечает Certificate will expire или Certificate will not expire и возвращает ненулевой код, если срок истекает, — её удобно ставить в мониторинг. Подробно про сертификаты сайтов — в статье истёк SSL-сертификат.
2. Сертификаты внутри чужого ПО — тоже ваши
Операторы не выпускали этот сертификат и, скорее всего, не знали о нём. Но отказ ударил по ним и по их абонентам. Спрашивайте у поставщиков, какие сроки зашиты в их продукты: сертификаты, лицензии, пробные периоды. Вносите эти даты в свой инвентарь, даже если продлевать не вам.
3. Проверяйте будущее: стенд с переведёнными часами
Встроенный срок действия находит простой тест: запустить систему на стенде с часами, переведёнными на год вперёд. Утилита faketime из libfaketime подменяет время для одного процесса без смены системных часов:
faketime '2027-12-31 23:59:00' ./run-integration-tests.shТакой прогон перед обновлением ловит сертификаты, лицензии и ошибки в датах. Как дата сломала облако Microsoft, мы разбирали в статье сбой Azure 2012.
4. Одна версия везде — одна дата отказа
Поэтапная выкатка защищает от багов, которые проявляются сразу. От бомбы с таймером она не защищает: все установки взорвутся в одну минуту. Против этого работают только инвентарь сроков и тест с переведёнными часами.
5. Готовьте откат к предыдущей версии
Ericsson решала проблему заменой ПО. Чем быстрее вы можете вернуть прошлую рабочую версию на всех узлах, тем короче такой простой. Держите старые артефакты и отрепетированную процедуру отката.
6. Говорите прямо, чья это ошибка
Ericsson в тот же день назвала причину, взяла ответственность и извинилась перед абонентами операторов. Если сбой у вас, а страдают клиенты ваших клиентов, короткое честное заявление в первые часы важнее подробного отчёта через неделю.
Что проверить у себя завтра:
- есть ли список всего, что у вас истекает, с датами и владельцами;
- какие сроки зашиты в ПО и оборудование поставщиков;
- проходили ли ваши системы тест с часами, переведёнными на год вперёд.
Реши сам
Два вопроса по этому сбою. Ответы — под спойлером.
Вопрос 1. Почему сбой начался у операторов в разных странах почти одновременно?
- Хакерская атака на Ericsson
- Во всех установках одной версии ПО был один и тот же сертификат с одной датой окончания
- Сбой спутниковой связи
- Операторы одновременно обновили сети
Показать ответ
Верный ответ — 2. Срок действия — часовая бомба с общей датой: все установки одной версии ломаются в одну и ту же минуту, как бы постепенно их ни выкатывали.
Вопрос 2. Какая проверка поймала бы проблему заранее?
- Перезагрузка оборудования раз в месяц
- Инвентарь всего, что истекает, с алертом за недели до срока и тест на стенде с переведёнными вперёд часами
- Покупка оборудования у разных поставщиков
- Отключение проверки сертификатов
Показать ответ
Верный ответ — 2. Перезагрузка не продлевает сертификат, а отключение проверок создаёт дыру в безопасности. Нужно знать сроки заранее и проверять, как система ведёт себя после них.
Частые вопросы
Что случилось 6 декабря 2018 года у O2 и SoftBank? В двух версиях ПО узлов SGSN-MME от Ericsson истёк сертификат. Узлы ядра сети отказали, и абоненты O2 в Великобритании, SoftBank в Японии и операторов ещё в нескольких странах остались без мобильного интернета.
Сколько стран затронул сбой Ericsson? По данным SoftBank, похожие проблемы почти одновременно возникли у операторов в 11 странах. Сама Ericsson говорила об ограниченном числе клиентов в нескольких странах.
Сколько длился сбой? У SoftBank — с 13:39 до 18:04 по токийскому времени 6 декабря. O2 объявила о полном восстановлении около 03:30 7 декабря.
Была ли это кибератака? Нет. Ericsson назвала причиной истёкший сертификат в своём ПО и извинилась перед операторами и их абонентами.
Пройти похожий сбой самому
В симуляторе DevOps KAI Lab разбор сбоя Ericsson — в первом месяце. Там же тикет «Мобильное приложение пишет „Небезопасное соединение“», а на первом дежурстве среди алертов есть сертификат платёжного сервиса, который истекает через три дня. Похожая по духу история с временем — високосная секунда 2012 года, а все разборы собраны в подборке 18 сбоев, которые должен знать DevOps-инженер.
Начать можно бесплатно: тест навыков и первые задания первого месяца.
Источники
- Ericsson. Update on software issue impacting certain customers, 06.12.2018 — две версии ПО SGSN-MME, истёкший сертификат, заявление Бёрье Экхольма.
- SoftBank. 12月6日の通信障害に関するお詫び — время сбоя 13:39–18:04, затронутые сервисы, 11 стран.
- MoneySavingExpert. O2 to offer compensation after data outage, 07.12.2018 — заявление O2, около 25 млн клиентов, операторы на сети O2, компенсация. Собственная страница O2 с заявлением при сверке не открылась.
- OpenSSL. openssl-x509 — опции
-enddateи-checkend. - libfaketime. Репозиторий и документация — утилита
faketime.