Наш провайдер также размещает наш внешний DNS. По умолчанию они включают запись для localhost.
Например: localhost.example.com. 86400 В 127.0.0.1
Когда я попросил их убрать его, мне было тяжело и сказали, что именно так работает Бинд.
Я пытался провести некоторое исследование того, почему я мог бы хотеть включить это, но я не мог найти много. Я нашел хотя бы одно место, которое считало возможным вектор атаки XSS. Похоже, что это довольно часто, поэтому я просмотрел топ-20 доменов сайта от alexa, и у большинства нет такой записи, но у пары есть. У некоторых других есть запись, но вместо того, чтобы указывать на 127.0.0.1, они указывают на другой IP-адрес с возможностью маршрутизации по всему миру.
Так или иначе, почему я хотел бы иметь locahost в зоне для моего домена? Есть ли у них какие-либо проблемы с отсутствием этого? Есть ли какая-либо лучшая практика по этому поводу? Это действительно Bind вещь по умолчанию, о которой я не знаю?
Благодарность
Ответы:
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) и потенциально может всякие гадости Вероятно, это достаточно веская причина, чтобы избавиться от записи.источник
localhost.some.test
это просто еще одна жертва не получает надлежащего точечную окончание. Причина наличияlocalhost.
(обратите внимание на точку!) Ясна, но точки часто забываются в зонах DNS. Затем возникла таинственная жизнь.localhost.
, но практикаlocalhost
записи в каждой зоне, которую мы обслуживаем, вышла из-под контроля. в пользу. (Этот вопрос фактически привел меня в эту кроличью нору RFC 5 лет назад, возможно, я обновлю свой ответ новыми RFC и мыслями из этойПредполагая, что ваше внутреннее разрешение имен обрабатывает разрешение имен должным образом, любой DNS-запрос для localhost никогда не должен передаваться вашему внешнему DNS-провайдеру, и это не должно быть проблемой вообще.
Одна из причин, по которой кто-то может сделать это, о чем я могу подумать, это то, что когда-то кто-то использовал инструмент веб-авторинга, который облажался с кучей абсолютных ссылок на http: // localhost , но это предполагает, что ваш Интернет-провайдер также размещал на своих DNS-коробках и это долгий путь.
Однако RFC 1537 действительно определяет:
Строго говоря, кажется, что ваш провайдер правильно включает localhost, но неправильно использовать полное имя.
источник
Note that ...
язык (я думаю, в ответ на потенциальные проблемы XSS, о которых мы начали бы знать в 1996 году :) 1537 Объясняет, почему это в шаблонах BIND.localhost
зона должна существовать на сервере (поэтому, если он получает запрос просто как "localhost", он не передает его по цепочке на следующий сервер), это он далек от включенияlocalhost
в скажемexample.com
зону (созданиеlocalhost.example.com
), что в равной степени ясно, что вы не должны делать из-за возможных непреднамеренных побочных эффектов Ожидается, что «localhost» станет особой, магической, полностью квалифицированной областью в своем собственном праве.Я не уверен, какой смысл ... По умолчанию внешний адрес будет перезаписан файлом hosts, который почти всегда отображает localhost на 127.0.0.1.
Однако файл зоны BIND по умолчанию включает зону localhost. Никогда не задумывался об этом.
источник