3

Согласно многим руководствам, которые я нашел, поисковый домен в /etc/resolv.conf должен использоваться только для запросов без точек . Однако man resolv.conf говорит об этом с опцией ndots :

устанавливает пороговое значение для числа точек, которые должны появляться в имени, заданном res_query(3) (см. resolver (3)), до того, как будет сделан первоначальный абсолютный запрос. Значение по умолчанию для n равно 1, что означает, что если в имени есть какие-либо точки, имя будет сначала опробовано как абсолютное имя, прежде чем к нему будут добавлены какие-либо элементы списка поиска. Значение для этой опции молча ограничено до 15.

Это противоречит утверждениям о том, что поисковые домены используются только для запросов без точек, а также кажется правдой. Я впервые заметил это случайно, используя tcpdump. При разрешении, например, на самом делеonenonexistentdomain.com, а мой resolv.conf содержит «search test.com», в результате получаются два запроса: действительноnonexistentdomain.com и действительноnonexistentdomain.com.test.com. Оба запроса получают ответ NXDOMAIN, и кажется, что разрешение работает должным образом, но есть ли способ предотвратить последний запрос? Это очевидно фальшивка и (не на 100% уверенная в этом) потенциальная угроза безопасности.

Какие практические причины существуют в любом случае для добавления поискового домена к полному доменному имени (или, точнее, к имени с числом точек не менее)? Я не могу думать ни о чем. Разве не было бы лучше, если бы распознаватель просто не пытался использовать домен поиска вообще, когда на исходный запрос был получен ответ NXDOMAIN, при условии, что в нем было по крайней мере ndots точек?

Я использую Debian Wheezy. Может ли поведение быть другим в других дистрибутивах или других UNIX-подобных системах?

1 ответ1

2

Практическая причина такого поведения очень проста: если ваша организация использует домен example.com , а ее отдел продаж использует домен sales.example.com , то вы сможете получить доступ к полному доменному имени fileserver.sales.example.com как просто fileserver.sales . Это очень удобно, если у вас много внутренних хостов / сайтов, и экономит много времени на наборе текста.

Обратите внимание, что опция ndots предназначена только для начального запроса, например, если исходный запрос должен быть отправлен как есть, или с добавлением локального домена. Если первый дословный запрос не удался, распознаватель всегда добавит локальный домен и попытается снова. Это не имеет ничего общего с количеством точек.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .