Есть ли какой-нибудь запрос «список поддоменов» для DNS?
Для этой конкретной цели нет запроса, но есть несколько косвенных методов.
- Безинкрементная передача зоны (
AXFR
). Большинство операторов серверов блокируют передачу зон на конкретные IP-адреса, чтобы не перехватывать сторонние организации.
- Если DNSSEC включен, итеративные
NSEC
запросы могут использоваться для обхода зоны . NSEC3
был реализован для того, чтобы сделать прогулку по зонам более вычислительной.
Есть также хитрость, которая позволит кому-то узнать, существует ли произвольный поддомен.
example.com. IN A 198.51.100.1
www.sub.example.com. IN A 198.51.100.2
В приведенном выше примере www
лежит внутри sub
. Запрос для sub.example.com IN A
не вернет раздел ANSWER, но код результата будет NOERROR, а не NXDOMAIN, что свидетельствует о существовании записей ниже по дереву. (только не то, что названы эти записи)
Следует ли полагаться на секретность записей DNS?
Нет . Единственный способ надежно скрыть данные от клиента - убедиться, что он никогда не сможет получить данные с самого начала. Предположим, что наличие ваших записей DNS будет распространяться среди тех, кто имеет к ним доступ, либо из уст в уста, либо путем наблюдения за пакетами.
Если вы пытаетесь скрыть записи от маршрутизируемого DNS-клиента, вы делаете это неправильно ™ . Убедитесь, что данные доступны только тем средам, которые в них нуждаются. (т. е. используйте частные маршрутизируемые домены для частных IP-адресов). Даже если у вас настроено такое разделение, предположите, что знание IP-адресов будет распространяться в любом случае.
Внимание к безопасности должно быть сосредоточено на том, что происходит, когда кто-то получает IP-адрес, потому что это произойдет.
Я знаю, что список причин, по которым секретность IP-адресов является несбыточной мечтой, может быть расширен в дальнейшем. Сканирование IP, социальная инженерия ... список бесконечен, и я в основном сосредоточен на аспектах протокола DNS этого вопроса. В конце концов, все это попадает под один и тот же зонт: кто-то собирается получить ваш IP-адрес .