DNSSEC: как DNS научился доверять своим ответам — 28 августа 2026 г. в 11:19:34.485
DNSSEC: как DNS научился доверять своим ответам 👋 Приветствую в мире цифровой безопасности! Сегодня расскажу как работает DNSSEC и почему зашифрованный DNS не защищает от подмены ответов - это разные задачи. ⏺Важное разграничение: DoH и DoT шифруют канал между клиентом и резолвером - провайдер не видит запросы. Но если сам резолвер получил подделанный ответ от авторитетного сервера - он честно передаст его клиенту по зашифрованному каналу. DNSSEC решает другую задачу: проверяет что ответ пришёл именно от владельца зоны и не был подменён по дороге. ⏺Как работает: каждая зона подписывает свои записи приватным ключом. Резолвер проверяет подпись публичным ключом который получает от родительской зоны. Цепочка доверия идёт от корневой зоны (.) через TLD (.com, .ru) до конкретного домена - если хоть одна подпись не проходит проверку, ответ отбрасывается. ⏺Проверяем поддерживает ли домен DNSSEC: dig example.com +dnssec # Ищем флаг AD (Authenticated Data) в ответе # и наличие записей RRSIG dig example.com DNSKEY # Публичные ключи зоны dig example.com DS @a.gtld-servers.net # Delegation Signer в родительской зоне ⏺Диагностика проблем с DNSSEC через DNSViz - удобнее чем вручную: # Онлайн: dnsviz.net # Локально через пакет dnsviz probe example.com | dnsviz print Показывает всю цепочку подписей визуально - сразу видно где разрыв. ⏺Настройка валидации на BIND-резолвере: # /etc/bind/named.conf.options options { dnssec-validation auto; # auto — резолвер автоматически загружает корневые ключи }; # Проверяем что валидация работает dig sigfail.verteiltesysteme.net # Должно вернуть SERVFAIL — это тестовый домен с намеренно сломанной подписью dig sigok.verteiltesysteme.net # Должно вернуть нормальный ответ ⏺Включение DNSSEC для своей зоны в BIND: # Генерируем ключи зоны dnssec-keygen -a ECDSAP256SHA256 -n ZONE example.com dnssec-keygen -a ECDSAP256SHA256 -f KSK -n ZONE example.com # Подписываем зону dnssec-signzone -A -3 $(head -c 1000 /dev/random | sha1sum | cut -b 1-16) \ -N INCREMENT -o example.com -t example.com.db # DS-запись передаём регистратору домена dnssec-dsfromkey Kexample.com.+013+*.key DS-запись которую отдаёт последняя команда нужно добавить через панель регистратора - именно она создаёт связь между родительской зоной и вашей. ⏺Почему внедрение идёт медленно: операторы боятся что при проблемах с ключами домен станет недоступен - DNSSEC это единственный механизм в DNS где ошибка конфигурации может полностью положить домен для всех резолверов с включённой валидацией. 🤖Бесплатный ChatGPT

