dig www.cloudflare.com +short198.41.215.162
198.41.214.162Опция +short выводит только результат.
← Cloudflare DNS / dns / dnssec
Узнайте больше об устранении неполадок с DNSSEC.
Dig это инструмент командной строки для запроса записей DNS у сервера имён.
Например, dig может запросить у DNS-резолвера IP-адрес www.cloudflare.com:
dig www.cloudflare.com +short198.41.215.162
198.41.214.162Опция +short выводит только результат.
Используйте +dnssec чтобы убедиться, что DNS-записи подписаны:
dig www.cloudflare.com +dnssec +short198.41.214.162
198.41.215.162
A 13 3 300 20180927180434 20180925160434 35273 cloudflare.com. DYYZ/bhHSAIlpvu/HEUsxlzkC9NsswbCQ7dcfcuiNBrbhYV7k3AI8t46 QMnOlfhwT6jqsfN7ePV6Fwpym3B0pg==В этом примере последняя строка вывода это RRSIG запись. RRSIG это подпись DNSSEC, прикреплённая к записи. При RRSIG, DNS-резолвер определяет, является ли ответ DNS доверенным.
Dig также может получить открытый ключ, используемый для проверки записи DNS, DNSKEY:
dig DNSKEY cloudflare.com +short257 3 13 mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+ KkxLbxILfDLUT0rAK9iUzy1L53eKGQ==
256 3 13 koPbw9wmYZ7ggcjnQ6ayHyhHaDNMYELKTqT+qRGrZpWSccr/lBcrm10Z 1PuQHB3Azhii+sb0PYFkH1ruxLhe5g==Все записи DNS домена подписываются одним и тем же открытым ключом. Поэтому запрос к корневому домену (cloudflare.com) открытый ключ, а не поддомена (www.cloudflare.com) открытый ключ.
Ответ DNS содержит две записи:
DNSKEY запись 256 это открытый ключ, называемый ключом подписи зоны (ZSK). Ключи ZSK используются для проверки подписей записей DNS для A, MX, CNAME, SRV, и т. д.DNSKEY запись 257 называется ключом подписи ключей (KSK). Ключи KSK используются для проверки подписей DNSKEY, CDS, а также CDNSKEY записи.Если не использовать +short опцию с dig, ответ DNS считается аутентифицированным по DNSSEC, если ad флаг появляется в заголовке ответа:
dig www.cloudflare.com[...]
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65326
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
[...]
;; QUESTION SECTION:
;www.cloudflare.com. IN A
[...]
;; ANSWER SECTION:
www.cloudflare.com. 15 IN A 198.41.215.162
www.cloudflare.com. 15 IN A 198.41.214.162Чтобы визуализировать и выявить возможные проблемы с DNSSEC:
Ниже приведён пример того, как dnsviz.net отображает некорректное делегирование, когда авторитетный сервер имён не предоставляет действительных записей DNSKEY, соответствующих записи DS, опубликованной сервером имён TLD:
Полная проверка подписей домена (например, cloudflare.com) включает проверку ключа подписи ключей (KSK) в домене верхнего уровня (например, .com).
Затем выполняется аналогичная проверка ключа подписания ключей (KSK) для .com на уровне корневого сервера. Корневые ключи DNSSEC распространяются среди DNS-клиентов для завершения цепочки доверия.
При включении DNSSEC DS запись обязательна в DNS у регистратора. DS запись содержит хеш открытого ключа подписи (key signing key), а также метаданные об этом ключе.
Используйте dig чтобы найти DS запись:
dig +short DS cloudflare.com2371 13 2 32996839A6D808AFE3EB4A795A0E6A7A39A76FC52FF228B22B76F6D6 3826F2B9При использовании +trace опцию, dig подтверждает, возвращает ли сервер имён ответ для cloudflare.com или сервер имён для .com. В этом примере DS запись для cloudflare.com возвращается e.gtld-servers.net:
dig DS cloudflare.com +trace[...]
cloudflare.com. 86400 IN DS 2371 13 2 32996839A6D808AFE3EB4A795A0E6A7A39A76FC52FF228B22B76F6D6 3826F2B9
[...]
com. 172800 IN NS e.gtld-servers.net.
[...]
;; Received 1213 bytes from 2001:502:1ca1::30#53(e.gtld-servers.net) in 37 msБолее простой альтернативой самостоятельному выполнению перечисленных выше шагов служит сторонний инструмент DNSViz.
Проблемы возникают, если авторитетные DNS-провайдеры меняются без обновления или удаления старых записей DNSSEC у регистратора:
dig A brokendnssec.net @1.0.0.1;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 10663Проверьте, есть ли SERVFAIL ответ связан с DNSSEC, выполнив dig на +cd опцию. +cd предоставляет результаты DNS без какой-либо проверки DNSSEC.
dig A brokendnssec.net @1.0.0.1 +dnssec +cd +short104.20.49.61
104.20.48.61В этом примере DNSSEC настроен неправильно, если при использовании +cd но при использовании DNSSEC запросы возвращают SERVFAIL ответ. Эта проблема часто возникает, когда авторитетные серверы имен изменены, но DS записи не обновляются. Это также может произойти, если злоумышленник пытается подделать ответ на запрос.
После отключения DNSSEC записи DNSKEY продолжают появляться в DNS-запросах и при передаче зоны. В disabled состоянии Cloudflare по-прежнему подписывает зону и предоставляет записи RRSIG, NSEC и DNSKEY. Это ожидаемое поведение, и не является ошибкой конфигурации или сбоем. См. Состояния DNSSEC и RFC 8078 ↗ для получения подробностей.
Некоторые поставщики средств безопасности или инструменты аудита могут помечать такие записи DNSKEY как проблемные, выдавая сообщение "DNSKEY record found but no DS record found" с результатом проверки безопасности "Provably Insecure". Вы можете удалить записи DNSKEY через API.
Используйте API удаления DNSSEC чтобы перевести зону в deleted состояние. Это останавливает подписание зоны и удаляет все типы записей DNSSEC (RRSIG, NSEC, DNSKEY, CDS и CDNSKEY):
Необходимые разрешения API-токена
DNS Writecurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec" \
--request DELETE \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"Подробнее о состояниях DNSSEC см. в Состояния DNSSEC.
После удаления записей DNSKEY убедитесь, что они больше не отображаются в ответах DNS. Пустой ответ подтверждает удаление.
dig DNSKEY example.com +shortЕсли записи DNSKEY всё ещё отображаются, дождитесь время жизни (TTL) до истечения срока действия. Записи DNSKEY обычно имеют более длительные значения TTL (часто 3600 секунд и более), поэтому распространение изменений может занять час и более.
Если обнаружена проблема с реализацией DNSSEC, обратитесь к регистратору домена и убедитесь, что запись DS совпадает с указанной авторитетным провайдером DNS. Если авторитетным провайдером DNS является Cloudflare, следуйте инструкциям для настройка DNSSEC в Cloudflare.