Назад | Перейти на главную страницу

localhost в зоне DNS

Наш интернет-провайдер также размещает наш внешний DNS. По умолчанию они включают запись для localhost.

Например: localhost.example.com. 86400 IN A 127.0.0.1

Когда я попросил их удалить его, они усложнили мне жизнь и сказали, что так работает Bind.

Я попытался выяснить, почему я могу захотеть включить это, но не смог найти многого. Я нашел по крайней мере одно место, которое считало возможным вектор атаки XSS. Кажется, это довольно распространено, поэтому я просмотрел 20 лучших доменов веб-сайтов от alexa, и у большинства из них такой записи нет, но у пары есть. У некоторых других есть запись, но вместо того, чтобы указывать на 127.0.0.1, они указывают на другой IP-адрес с возможностью маршрутизации в мире.

В любом случае, зачем мне иметь локальный хост в зоне для моего домена? Есть ли у них какие-либо проблемы с тем, чтобы этого не было? Есть ли какая-нибудь передовая практика по этому поводу? Действительно ли это функция привязки по умолчанию, о которой я не знаю?

Спасибо

localhost.example.com иногда включается во внутренние DNS-серверы, чтобы предотвратить утечку запросов "localhost" в Интернет (в случае, когда Джон Смит вводит http://localhost/ в своем браузере и по какой-либо причине его преобразователь не смотрит в файл hosts, добавляет свой путь поиска (example.com) и начинает спрашивать серверы имен, к чему это разрешается).

Вам не обязательно иметь запись localhost (и если ваш интернет-провайдер считает, что «так работает BIND», они либо заблуждаются, либо идиоты: BIND обслуживает то, что находится в файле зоны, и если они удаляют localhost строка перестанет обслуживать эту запись). В качестве бесплатного примера, localhost.google.com не разрешается, и я уверен, что NS для этого домена работает с BIND.

Вектор XSS - это то, о чем я никогда не думал, но это вызывает беспокойство: наличие localhost запись в вашем общедоступном DNS означает, что любая взломанная машина может находиться «в вашем домене» (при запуске веб-сервера на 127.0.0.1) и потенциально делать всевозможные неприятные вещи. Наверное, достаточно веская причина, чтобы избавиться от записи.

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

Одна причина Зачем кто-то сделал бы это, о чем я могу подумать, если бы кто-то однажды использовал инструмент веб-разработки, который облажался с загрузкой абсолютных ссылок на http: // localhost, но это предполагает, что ваш интернет-провайдер также размещал на своих DNS-серверах, и это далеко не так.

Тем не мение, RFC 1537 делает уточнить:

Было много дискуссий о том, следует ли добавлять к нему локальный домен. Был сделан вывод, что "localhost." было бы лучшим решением; Были указаны следующие причины:

  • Сам "localhost" используется и должен работать в некоторых системах.

  • перевод 127.0.0.1 в localhost.my_domain может привести к тому, что некоторое программное обеспечение будет подключаться к самому себе с помощью интерфейса обратной связи, когда оно этого не хочет.

Обратите внимание, что все домены, содержащие хосты, должны иметь в себе запись «localhost».

Строго говоря, похоже, что ваш интернет-провайдер правильно включает localhost, но неверно использует полное имя.

Я не уверен, в чем будет смысл ... По умолчанию внешний адрес будет замещен файлом hosts, который почти всегда сопоставляет localhost с 127.0.0.1.

Однако файл зоны BIND по умолчанию включает зону localhost. Никогда особо не задумывался об этом.