Summary

  • 3 декабря 2020 года Matt Nordhoff и Peter van Dijk сообщили RIPE NCC о проблемах с разрешением отдельных имён ripe.net; Anand Buddhdev затем описал лишние NSEC-записи в подписанной зоне.
  • Около 20:00 CET RIPE NCC заново подписал всю зону, исправил сбой и сообщил о планах усилить мониторинг и передать дефект разработчикам подписывающего ПО.

У DNS есть бумажная сторона: одна запись помогает найти сервер делегированного имени, другая подтверждает отсутствие имени, третья связывает эти части подписью. 3 декабря 2020 года порядок в этой картотеке нарушился. Примерно в 15:40 Matt Nordhoff и Peter van Dijk заметили, что некоторые имена в ripe.net разрешаются неправильно, и предупредили RIPE NCC. На следующий день Anand Buddhdev рассказал рабочей группе DNS, что показало расследование.

После изменения зоны часть адресных записей получила статус glue-записей. Подписывающая программа DNSSEC неверно обработала смену роли и оставила лишние NSEC-записи. Это вызвало ошибки проверки для некоторых имён. Glue нужен для пути к серверам делегации; NSEC входит в подписанное доказательство отсутствия имён. RFC 4035 описывает проверку подписанных данных. Когда доказательства в зоне противоречат её состоянию, проверяющий резолвер отвергает ответ. Проверка была строгой; подписанный материал оказался испорченным.

Команда RIPE NCC не стала искать обход для валидаторов. Около 20:00 она заставила программу заново подписать зону ripe.net целиком. По сообщению Buddhdev, это устранило проблему. Между первым известным сигналом и ремонтом прошло примерно четыре часа двадцать минут. Декабрьское сообщение RIPE NCC для участников также включило этот сбой DNSSEC в список событий месяца.

В письме есть и продолжение: RIPE NCC передал проблему разработчикам программы подписи и заявил о дополнительном мониторинге для более раннего обнаружения. Масштаб по числу пользователей и готовое исправление в коде письмо не фиксирует. Зато техническая цепочка видна без догадок: административное изменение роли записей, лишние NSEC, внешнее предупреждение, полная переподпись. Один неверно понятый пункт в DNS способен потребовать переиздания всей подписанной «книги».