awesome-everything EN
↑ Обратно к восхождению

Сети и протоколы

DNS: проведите подписанную зону через миграцию и rollover

Суть Практический проект — поднять подписанную, резолвимую по шифрованному каналу зону, инструментировать путь резолва, затем провести zero-downtime миграцию IP и намеренно сломать и восстановить цепочку DNSSEC, доказывая каждый шаг через dig.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 210 min

Читать про KSK rollover и миграцию TTL — не то же самое, что провести их, не уронив зону. Поднимите собственную подписанную зону за реальным рекурсивным резолвером, инструментируйте весь путь резолва, затем проведите её через два изменения, которые чаще всего поднимают on-call, — миграцию IP и DNSSEC rollover — с dig-доказательствами на каждом шаге.

Цель

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

Проект
0 из 7
Цель

Запустите небольшую DNSSEC-подписанную зону (lab.example или любой подконтрольный домен, либо полностью локальный root с инструментом вроде dnslib/CoreDNS) за собственным рекурсивным резолвером, инструментируйте путь резолва, затем выполните zero-downtime миграцию IP и KSK rollover — ломая и восстанавливая цепочку — с dig-доказательством каждого утверждения.

Требования
Критерии приёмки
  • Снятый +trace с пометками, какие хопы — referral'ы, а какой — авторитативный ответ, и заметкой о том, требовался ли glue (in-bailiwick) или нет (out-of-bailiwick) для ваших nameserver'ов.
  • Вывод dig +dnssec до поломки с выставленным AD и парой в состоянии поломки (SERVFAIL под +dnssec, NOERROR + корректная A под +cd) с однострочным диагнозом, называющим несовпадение DS-vs-KSK.
  • Таймированный лог миграции: результаты dig с интервалами, доказывающие, что новый IP появляется не позже пониженного TTL после изменения, со слитым заранее старым TTL.
  • Захват пакетов или лог резолвера, показывающий запрос по DoH/DoT (зашифрованный) и не по plain UDP/53, плюс абзац о том, что DNSSEC добавляет сверх шифрования и наоборот.
Senior-стретч
  • Добавьте доказательство negative caching: запросите несуществующий поддомен дважды и покажите второй NXDOMAIN из кеша (без upstream-запроса) на min(SOA.MINIMUM, SOA.TTL); затем покажите кратковременный кеш SERVFAIL при наведённом сбое upstream.
  • Переключите NSEC на NSEC3 и продемонстрируйте, что перечисление зоны (например, инструментом zone-walking) удаётся под NSEC и проваливается под NSEC3.
  • Добавьте EDNS Client Subnet в upstream-запросы и покажите через geo-aware тестовый авторитативный, что возвращаемый edge IP меняется с объявленной подсетью — затем опишите цену приватности и почему Cloudflare отключает ECS по умолчанию.
  • Напишите одностраничный runbook KSK-rollover: окно перекрытия двойной подписи (публикация нового KSK рядом со старым на 2x макс-TTL), шаг обновления DS, ожидание, вывод из эксплуатации и автоматический мониторинг консистентности DS-vs-DNSKEY, чтобы поломка из этого проекта никогда не попала в продакшен.
Итог

Это цикл, который вы запустите для любого реального DNS-изменения: постройте путь резолва, чтобы видеть referral’ы и glue; подпишите и провалидируйте, чтобы бит AD что-то значил; зашифруйте транспорт, не путая его с целостностью; мигрируйте, слив сначала старый TTL, чтобы окно устаревания было ограничено; и отрепетируйте сбой KSK-rollover (+dnssec SERVFAIL, +cd успех, несовпадение DS-vs-KSK), чтобы восстановление стало мышечной памятью. Сделав это раз на lab-зоне, вы превращаете продакшен-версию — где на кону 30-40% пользователей — из открытия в 3 часа ночи в рутину.

Продолжить восхождение ↑Что делает TLS и зачем он нужен
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.