DNS 递归是不安全的,但对于内部应用程序是必需的?

ila*_*sno 17 domain-name-system windows windows-server-2008

在管理 Windows Server 2008 时,服务器托管某些域的 DNS(即名称服务器),以及托管一些可公开访问的应用程序。

安全扫描表明 DNS 配置不安全,因为它允许递归查询。

尝试禁用递归查询,但出现了几个问题(从本地应用程序发送的电子邮件未送达,本地运行的连接到第三方站点的应用程序无法解析连接的域名等)。因此,源自服务器本身的 DNS 请求似乎依赖递归查询来运行。

有没有办法禁用托管在服务器上的 DNS 的递归查询,同时仍然允许源自服务器的 DNS 查询工作?我想知道我们是否可以禁用本地 DNS 服务器上的递归查询并将网络设置中的传出 DNS 设置为外部(如 8.8.8.8),以便传出 DNS 查询将首先到达那里,而该服务器的 DNS 只会结束up 查询它实际在本地托管的域。

谢谢你的时间!

Jde*_*eBP 15

有没有办法禁用托管在服务器上的 DNS 的递归查询,同时仍然允许源自服务器的 DNS 查询工作?

不是微软的 DNS 服务器,没有。

使用 ISC 的 DNS 服务器 BIND,您可以通过视图来解决问题。微软的 DNS 服务器没有这样的机制。因此,对于 Microsoft DNS 服务器的任何给定实例,必须选择它是公共内容DNS 服务器还是站点本地代理DNS 服务器。它不能对不同的 DNS 客户端伪装成不同类型的服务器。

安全测试服务/工具非常正确。这最好的做法是不能提供代理服务-任何类型的代理服务:无论是HTTP代理服务,DNS代理服务,或SMTP提交服务-互联网其余outwith一个自己的网站。您非常应该拥有单独的服务器:内容 DNS 服务器向 Internet 上的每个人发布关于您注册的域名的公共 DNS 数据;和本地代理 DNS 服务器,它代表您的 LAN/组织的计算机执行查询解析的繁重工作,只有您组织/LAN 上的机器才能访问它。使用 Microsoft 的 DNS 服务器,这不是特别容易。

如果您的机器也是域控制器,这将特别困难。您声明这台机器可以从整个 Internet 直接访问。如果这样一台机器是域控制器,那么你应该重新考虑你的网络组织现在。您将向公众公开大量内部服务,而不仅仅是代理 DNS 服务。因此,让我们假设这不是域控制器。

由于它不是域控制器,而只是一个成员服务器,因此您不需要机器上的DNS客户端应该使用机器自己的 DNS服务器(或者,最初是另一个域控制器的 DNS 服务器)作为代理DNS 服务,这就是域控制器的情况。如果有,您将无法关闭机器的 DNS 服务器上的代理 DNS 服务。幸运的是,它不是域控制器,它的 DNS 客户端可以使用其他机器来代理 DNS 服务,而不是它自己。

但是,成员服务器计算机上的 DNS 客户端仍然必须使用内部代理 DNS 服务器。您不能仅仅将其指向某些外部 DNS 服务器,例如您的 ISP、Google 或不知道 Active Directory 在您的 LAN 上使用的所有 DNS 数据的任何其他方提供的那些。不过,您可以将机器的 DNS 客户端指向一个或多个域控制器上的 DNS 服务器。这相当简单,毕竟您已经在LAN上的所有工作站上这样做了。成员服务器上的 DNS 客户端只需像所有工作站上的 DNS 客户端一样进行配置。

假设您机器的 DNS 客户端没有使用机器上运行的 DNS 服务器来提供代理 DNS 服务,那么您只需将 Microsoft 的 DNS 服务器配置为不向任何人提供任何形式的代理 DNS 服务。

进一步阅读


Eva*_*son 12

不向整个 Internet 提供递归查找功能是个好主意,因此将 DNS 服务器配置为仅回答其权威查询是一件好事TM

从表面上看,您在上一段中得出的结论听起来不错:配置服务器自己的 TCP/IP 设置以使用授权提供递归查找的 DNS 服务器。DNS 服务器进程不使用在服​​务器计算机的 NIC 上的 TCP/IP 设置中配置的 DNS 服务器来做任何特别的事情。相反,它根据 DNS 服务器配置转发请求(或使用根提示)。

当服务器上运行的应用程序尝试查询域时,在该机器上运行的 DNS 服务器对该请求具有权威性,最终将使其进入该机器上运行的 DNS 服务器进程,查询将得到回答。


joe*_*rty 5

正如 Evan 在他的回答中所说,您的应用程序需要使用服务器上的 DNS 客户端组件,该组件完全独立于 DNS 服务器组件。可以将 DNS 服务器组件配置为不执行递归,允许它仅针对其授权的 DNS 区域回答提交给它的查询。

应用程序可以使用在相关 NIC 的 TCP/IP 属性中配置的 DNS 服务器,这些服务器可以配置为使用任何将执行递归的 DNS 服务器(例如 Google 的 DNS 服务器)。在相关 NIC 的 TCP/IP 属性中配置的 DNS 服务器不需要指向在同一服务器上运行的 DNS 服务器。