Являются ли записи DNS частной информацией?


17

Предполагая, что вы хотите создать поддомен, который указывает на частное местоположение (возможно, местоположение базы данных или IP-адрес компьютера, на который вы не хотите, чтобы люди пытались использовать SSH), вы добавляете запись DNS с именем что-то как это:

private-AGhR9xJPF4.example.com

Будет ли это «скрыто» для всех, кроме тех, кто знает точный URI субдомена? Или есть какой-нибудь способ «перечислить» все зарегистрированные поддомены определенного домена?


Если вы не хотите, чтобы он был известен или обнаружен, зачем вам сначала создавать для него DNS-запись?
Joeqwerty

1
@joeqwerty Если сервер использует динамический IP-адрес или если я хочу изменить целевой IP-адрес позже, я хочу, чтобы все приложения, подключенные к этому серверу, продолжали работать без изменений.
IQAndreas

Я уверен, что где-то есть ответ на другой вопрос, но я не смог найти его с помощью поиска.
Эндрю Б

15
Обратите внимание, что есть много плохих парней, сканирующих все пространство IP на компьютеры, на которые они могут работать по SSH. Если это доступно из общедоступного интернета, вы получите людей, которые будут стучать в порт SSH.
pjc50

1
Реальное решение вашей проблемы - это брандмауэр и VPN.
josh3736

Ответы:


29

Есть ли какой-нибудь запрос «список поддоменов» для 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-адрес .


3

По-разному.

Ответ Эндрю Б. точен, когда вы регистрируете поддомен в общедоступной зоне DNS, где также размещаются записи MX вашей компании и общедоступный веб-сайт.

У большинства компаний будет внутренний DNS-сервер, недоступный публично, где вы будете регистрировать имена хостов для своих внутренних ( секретных ) хостов.

Рекомендуемый метод - зарегистрировать выделенный домен для внутреннего использования или, в качестве альтернативы, создать поддомен в основном домене для внутреннего использования.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.