DNS 区域中的本地主机

mat*_*hew 18 domain-name-system localhost

我们的 ISP 还托管我们的外部 DNS。默认情况下,它们包含 localhost 的条目。

例如:localhost.example.com。86400 中 127.0.0.1

当我要求他们删除它时,他们让我很难受,并说这就是 Bind 的工作方式。

我试图对为什么我可能想要包含它进行一些研究,但我找不到太多。我确实找到了至少一个地方认为它可能是 XSS 攻击媒介。它似乎相当普遍,所以我在 alexa 中查找了前 20 个网站域,大多数没有这样的条目,但有几个。其他一些有一个条目,但不是指向 127.0.0.1,而是指向另一个世界可路由的 IP 地址。

所以无论如何,我为什么要在我的域的区域中使用 locahost?他们没有它有什么问题吗?有没有关于这方面的最佳实践?它确实是我不知道的默认绑定吗?

谢谢

vor*_*aq7 14

localhost.example.com有时包含在内部 DNS 服务器中以防止“本地主机”请求泄露到互联网(对于 John Smithhttp://localhost/在他的浏览器中键入的情况,无论出于何种原因,他的解析器没有查看主机文件,附加他的搜索路径 ( example.com) & 开始询问名称服务器解析为什么)。

您不必有 localhost 条目(如果您的 ISP 认为这是“BIND 的工作方式”,那么他们要么被误导要么是白痴:BIND 提供区域文件中的内容,如果他们删除该localhost行,它将停止提供该服务记录)。作为一个免费的例子,localhost.google.com不能解析,我敢打赌该域的 NS 正在运行 BIND。

XSS 向量是我从未想过的,但它令人担忧:localhost在您的公共 DNS 中有一个条目意味着任何被黑机器都可能“在您的域中”(通过在 127.0.0.1 上运行网络服务器)并且可能会这样做各种恶心的东西。可能是摆脱条目的充分理由。