Windows 7:“本地主机名称解析是在DNS本身内处理的”。为什么?


44

在Windows上运行了18年的主机文件后,我很惊讶地在Windows 7 build 7100中看到以下内容:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1 localhost
#   ::1 localhost

有谁知道为什么要引入这种变化?我确定必须要有某种推理。

而且,也许更相关的是,Windows 7中是否还有其他与DNS相关的重要更改?令我有些害怕的是,我认为本地主机名称解析等根本性的东西已经改变了……让我认为Win7中的DNS堆栈还有其他细微但重要的变化。


增加赏金。关于安全性的猜测是很好的(并且几乎可以肯定是正确的),但是我希望这笔赏金吸引了详细研究Win7 DNS更改的人。
波特曼,

谁能解释这与另一个问题stackoverflow.com/questions/1416128/…的关系以及真正的解决方法是什么?我想我现在暂时要取消注释主机文件中的ipv4 localhost条目。
Tyndall 2010年

Answers:


29

我与Windows团队的一名开发人员进行了核对,实际答案比这篇文章的其他答案更加无害:)

在将来的某个时刻,随着世界从IPV4过渡到IPV6,IPV4最终将被希望简化其环境中的网络管理的公司禁用/卸载。

在Windows Vista中,当卸载IPv4并启用IPv6时,对A(IPv4)地址的DNS查询导致IPv4环回(来自主机文件)。当未安装IPv4时,这当然会引起问题。解决方法是将始终存在的IPv4和IPv6回送条目从主机移至DNS解析器,在其中可以将其独立禁用。

-西恩


1
如果您直接链接到Windows团队,可以他们确保NSEC3受支持吗?没有NSEC3的DNSSEC验证将毫无用处!我知道一个事实,.com会在2011
Alnitak

(即在验证存根解析器中)。
Alnitak

9 1/2年后仍使用IPv4 :)
Christian

7

Windows 7引入了对DNSSEC验证的(可选)支持。这些控件可在“本地组策略”插件(c:\windows\system32\gpedit.msc)的“名称解析策略”下找到

遗憾的是,它(AFAIK)不支持RFC 5155 NSEC3记录,许多大型区域运营商(包括.com)将在未来几年内与DNSSEC一起使用。


我第二个关于DNSSEC实施的关系是:news.softpedia.com/news/…
2009年

5

鉴于Windows上越来越多的应用程序正在使用IP与自己进行通信,其中可能包括许多Windows服务,我可能会看到有人将localhost更改为指向其他位置的做法是一种有趣的攻击手段。我的猜测是它已作为Microsoft SDL的一部分进行了更改。


3

我可以看到这也是试图增强其安全性的一种尝试。通过“固定”本地主机以始终指向环回,它们可以避免DNS中毒攻击,这种攻击开始在野外出现。

我确实同意,但在某些方面有点令人不安。


2

我想知道是否可以在DNS本身中重新定义localhost。使用明文文件管理这些设置从来没有被视为安全最佳实践。在我看来,Microsoft的新安全措施不仅可以防止root用户访问,而且可以更深入地研究细微的漏洞。无论如何,我不确定有多少人能比有动机的黑帽子领先一步。


1
localhost只是您所在区域中的另一个A记录,仅是将其指向127.0.0.1的约定。所以是的,您可以将localhost指向您喜欢的任何内容,如果攻击者可以控制DNS服务器,则他们可以更改W7计算机整个网络的记录,而不仅仅是更改带有hosts文件的记录。对于DNS根服务器,这是一个臭名昭著的问题,人们在其区域中不包含localhost A记录,因此请求被发送到根:bit.ly/ybu1a

2

我认为这与Microsoft为目标IP地址选择实施RFC 3484有关。这是一个向后移植到IPv4的IPv6功能,并且会影响Vista / Server 2008及更高版本。此更改使轮询DNS中断,因此即使这不能回答您的问题,也绝对是需要了解的主要DNS更改。

有关更多信息,请访问Microsoft企业网络博客。


+1为网络博客链接;我以前没看过
波特曼,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.