Комментарии
Как смена ключей корневой зоны 11 октября 2018 может уронить ваш сайт или ПО, зачем это собираются сделать и что вообще такое корневая зона и эти странные ключи — разбираемся и готовимся к обновлению
DNS-сервер не отвечает
Как смена ключей корневой зоны 11 октября 2018 может уронить ваш сайт или ПО, зачем это собираются сделать и что вообще такое корневая зона и эти странные ключи — разбираемся и готовимся к обновлению


11 октября сменят ключи корневой зоны — хм, ну вроде бы понятно. Хотя нет, ничерта непонятно! Тут могло бы быть какое-то короткое введение про эти странные корневые зоны, ключи и DNS-серверы, но увы, так не получится — большинство из нас вообще не понимает, о чем пойдёт речь. Поэтому давайте сначала разберем пример, чтобы понять, зачем вообще эти ключи придумали и что такое корневая зона, а после перейдём к тому, зачем ключ решили поменять, кого это коснётся, какими могут быть последствия и можно ли как-то подготовиться (спойлер: можно, но не всем). Поехали.

Представьте: упоротый велосипедист набрёл в интернете на велосипед своей мечты — какой-нибудь Mangoose TEOCALI Pro, да не за 150−200 тысяч, а за скромные 50. Адрес сайта не вызывает подозрений: выглядит, как www.самый-популярный-ресурс-для-велосипедистов.ru, отзывы кажутся реальными, на складе есть, привезут чуть ли не завтра. Пользователь радостно заполняет данные кредитки, деньги списываются — и он уже грезит, как вскоре будет покорять сложные маршруты какого-нибудь Эльбруса на крутом велике.
Один из самых желанных велосипедов для любителей покататься по горам
Вот только никакой велосипед не приходит ни в срок, ни позже. Расстроенный веломан связывается с техподдержкой «самого популярного сайта для веломанов», а там говорят, что такого заказа не поступало. В глазах потемнело.

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

Протокол DNSSEC разработали для безопасности клиентов от фальшивых DNS-данных, и поддерживается эта безопасность за счёт цифровой подписи. Она доступна любому пользователю, но вот для её генерирования нужен ключ — KSK (Key Signing key).
Стыдные вопросы
Ключ подписи ключа, или KSK (Key Signing key) — пара криптографических ключей «открытый-личный», необходимая для генерирования цифровой подписи, которая обеспечивает безопасность запросов в протоколе DNSSEC.

Протокол DNSSEC — протокол расширений безопасности системы доменных имен (DNS).

DNS — распределённая система доменных имён, которая используется для получения IP-адреса, строится на иерархической структуре имени и корневых зонах.

Корневая зона DNS — зона, где содержится информация обо всех серверах, обслуживающих домены верхнего уровня: .RU, .COM, .ORG, .INFO и других.

ZSK (Zone Signing Key) — ключ подписи зоны. Предназначен для кратковременного использования. Верифицируется с помощью KSK и подписывает основные данные в в корневой зоне и ключи KSK (ключ KSK же подписывают только корневой набор ключей). По принятой процедуре ZSK корневой зоны обновляется четырежды в год.

Валидирующий резолвер (Validation resolver) или DNS-клиент — чаще всего это не программа, а набор процедур из библиотеки ПО, с помощью которых возможно обращаться к серверу и получать ответы на запросы.
Так вот, этот самый ключ KSK (Key Signing key) 11 октября 2018 года планируют заменить на новую версию: старый KSK-2010, который пока всё ещё используется, перестанет действовать, и вместо него появится новый — KSK-2017. В связи с этим у некоторых пользователей могут возникнуть проблемы, но об этом — ниже.
Зачем менять ключ
DNSSEC в настоящее время опирается на исходный 1024-разрядный криптографический ключ (KSK), сгенерированный в 2010 году для ключа корневой зоны (ZSK). Планы изменить KSK появились у корпорации ICANN (которая его и выпустила) ещё в 2016-м. В компании считали, что шесть лет — слишком много для использования одного и того же, пусть и вполне безопасного, ключа.

Другая причина — рост и развитие интернета, из-за которого 1024-битные крипто-ключи уже не считаются достаточно безопасными: с увеличением вычислительной мощности шансы на то, что кто-то взломает такой ключ, увеличиваются. Новый KSK корневой зоны планируют обновить до более надежного 2048-битного ключа.
«Если ключ старый, он может быть взломан. Стоит ли дожидаться, пока это произойдет, прежде чем его поменять?», — говорит главный адепт безопасности Интернета Пол Викси. Пролонгация — «хорошая криптографическая гигиена», — считает он.
На что повлияет смена ключа

После старта обновления KSK (которое пока запланировано на 11 октября 2018 года) ожидается, что у небольшого процента пользователей Интернета могут возникнуть проблемы с доступом к некоторым ресурсам. При этом предварительная аналитика говорит, что у более 99% пользователей всё пройдёт гладко.

Кого затрагивает смена ключа KSK:

  • интернет-провайдеров;
  • администраторов корпоративных сетей и других операторов DNS-клиентов;
  • разработчиков программного обеспечения для DNS-клиентов;
  • системных интеграторов;
  • дистрибьюторов оборудования и программного обеспечения, которые устанавливают или поставляют «якорь доверия» корневой зоны.
Якорь доверия — набор копий ключей (или их идентификаторов), соответствующих корневому KSK. Якоря доверия обычно настраиваются автоматически поставщиками программного обеспечения или DNS-клиентами. Последние обычно автоматически обновляют якоря (процесс описан в RFC 5011). Другой вариант — оператор DNS-клиента вручную добавляет новый KSK в хранилище якорей доверия этого клиента.
Вот только наверняка не все операторы DNS-клиентов позаботились о внесении обновлений, и у некоторых в конфигурациях установлен по-прежнему KSK-2010. Когда произойдет смена ключа (а именно — 11 октября), такие якоря доверия перестанут действовать.

Те, кто всё-таки приготовился к обновлению, не увидят никакой разницы. Некоторое ПО может ругаться, что ключ изменился, но такие записи в его журнале придётся прям поискать. Пользователи этих DNS-клиентов тоже ничего не заметят — ответы на их запросы будут такими же, как и до обновления.

Кто не почувствует смены KSK:
  • пользователи, где DNS-клиент не выполняет проверку протокола DNSSEC,
  • пользователи, уже перешедшие на новый KSK.
У большинства пользователей Интернета настроено более одного DNS-клиента. Если какой-либо из них готов к обновлению ключа, ПО пользователя будет в первую очередь искать именно этого DNS-клиента, правда на такой подбор уйдёт чуть больше времени.
Что будет с теми, кто не приготовился к смене ключа

Каждый раз, когда DNS-клиент посылает запрос к серверу и получает ответ, он проверяет подпись, а статус проверки сохраняется в кэше.

Чтобы проверить подпись под именем «www.example.com», DNS-клиент будет отдельно проверять:

  1. подписи в корне — на «.com»,
  2. подписи в «example.com»,
  3. подписи в «www.example.com».
Записи о KSK и ZSK хранятся 48 часов. Если смена KSK-2010 на KSK-2017 произойдет сразу после такой записи, DNS-клиент какое-то время не будет знать о том, что ключ KSK изменился. Если у DNS-клиента несколько пользователей, запрос на обновление ключа придёт в течение нескольких минут (или даже секунд) после устаревания записи. Но если пользователь всего один, могут пройти часы и даже дни.

После 11 октября 2018 у DNS-клиентов, вероятно, все еще будет версия подписи из кэша, сделанная KSK-2010, поэтому ещё какое-то время всё будет хорошо.


Как может проявиться сбой

Варианты зависят от того, какую программу запустит пользователь, и как эта программа будет реагировать на неудачные запросы DNS. В браузерах вполне вероятно, что страница станет недоступной (возможно, отвалятся только картинки), а в почтовых агентах пользователь может не получать новых писем или получать корявые письма с ошибками. Сбои будут множиться, пока ни одна программа не сможет отобразить новую информацию из интернета.
На сайте Krikcentre из-за упавшего сервера провайдера (пока из-за сбоя в питании, ключи не при чём) всё сломалось. При смене ключа KSK поломки на сайтах могут выглядеть подобным образом.
Важно: пользователем может быть не только человек, но и автоматизированная система.
Какими могут быть последствия
В большинстве случаев подготовка к обновлению ключа KSK не принесёт особых затрат — особенно для тех, кто подготовится к обновлению ключа KSK в ходе планового профилактического обслуживания сетей. А вот операторы сетей, не обновившие ключ, но включившие у себя поддержку DNSSEC, рискуют.

Если якорь доверия не обновить в соответствии с новым ключом, DNS-клиенты будут считать ответы на запросы, подписанные с использованием KSK-2017, фальшивыми, и будут их отклонять. Пользователи при этом будут видеть ошибку, а это может привести к росту обращений в службы поддержки.
Как подготовиться
Если вы разработчик ПО, в котором поддерживается проверка протокола DNSSEC
Убедитесь, что ваше ПО соответствует стандарту RFC 5011.

Если вы разработчик ПО, которое не соответствует RFC 5011
Файл якоря доверия доступен здесь. Его скачать при запуске DNS-клиента и после изменения KSK в наборе записей ресурсов (RRset) DNSKEY корневой зоны DNS.

Если вы не провайдер, не разработчик ПО и не системный интегратор
В 99% случаев последствия смены ключей вас не коснутся, но если такое всё же случится — придётся ждать. После того, как оператор DNS-клиента зафиксирует проблему с проверкой DNSSEC (увы, на это могут уйти целых 48 часов), он должен временно запретить проверку конфигурации DNS-клиента, а после как можно скорее установить KSK-2017 в качестве якоря доверия и заново запустить проверку DNSSEC.
~
Воу, если вы дочитали до этого места, то проникли в глубины глубин устройства интернетов, сами того не ведая. На самом деле, ничего криминального при смене ключей KSK не произойдёт — по прогнозам пострадает лишь малая часть ресурсов (1%). Если вдруг что-то пойдёт не так, у ICANN есть план В, в котором планируют эти изменения откатить. Так что сделайте всё, что от вас зависит, и наблюдайте из первого ряда за развитием событий. Расскажите коллегам, чтобы они тоже были в курсе. Ну, и не паникуйте, если утром 11 октября ваш сайт упадёт — вроде бы, это временно.