我有一个运行 DNS 和 DHCP 服务器的 Windows 2012 域控制器。默认设置似乎是仅在 DHCP 客户端请求时才动态更新 DNS A 和 PTR 记录。
(这是在Scope Properties
->下DNS
)
选择始终动态更新 DNS A 和 PTR 记录有缺点吗?
这与为不请求更新的 DHCP 客户端(例如,运行 Windows NT 4.0 的客户端)动态更新 DNS A 和 PTR 记录有什么区别?
我有一个运行 DNS 和 DHCP 服务器的 Windows 2012 域控制器。默认设置似乎是仅在 DHCP 客户端请求时才动态更新 DNS A 和 PTR 记录。
(这是在Scope Properties
->下DNS
)
选择始终动态更新 DNS A 和 PTR 记录有缺点吗?
这与为不请求更新的 DHCP 客户端(例如,运行 Windows NT 4.0 的客户端)动态更新 DNS A 和 PTR 记录有什么区别?
选择始终动态更新 DNS A 和 PTR 记录有缺点吗?
这取决于你想做什么。
默认情况下,Windows 机器会直接与 DNS 对话并更新它自己的
A
记录,它会要求 DHCP 更新PTR
记录。通过启用始终动态更新 DNS
A
和PTR
记录,即使客户端只要求它更新PTR
.那和“……对于不请求更新的 DHCP 客户端……”有什么区别?
NT 4.0 的例子现在已经不那么重要了,所以考虑一个混合环境,你有 Windows 和 Mac(或 Linux)客户端。
Windows 机器处理它们的动态 DNS 更新(或者它们要求 DHCP 这样做)。
但是 Mac/Linux 客户端没有。此选项允许 DHCP 为这些不请求或不能请求动态 DNS 更新的机器创建记录。
需要考虑的一些事项:
关于 DnsUpdateProxy 组的使用,据我了解,只有 DHCP 服务器应该是该组的成员,而不是动态 DNS 更新用户。用户帐户应该添加到 DHCP 服务器配置,而不是 DnsUpdateProxy 组。
DnsUpdateProxy 组用于 DNS 客户端。用户不是客户端,它是客户端(DHCP 服务器)在仅打开安全更新时对 DNS 进行动态更新的机制。客户端仍然是 DHCP 服务器。
https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/active-directory-security-groups#bkmk-dnsupdateproxy
当 DHCP 服务器在 DC 上时,除了使服务器成为组成员并将用户添加到 DHCP 配置之外,您还需要将 OpenACLOnProxyUpdates 设置为关闭。如果你不这样做,你就是在添加一个漏洞,因为 DnsUpdateProxy 组中的成员资格对 DNS 记录提供了过多的权限。
一些学派建议 DC 上的 DHCP 不应该是 DnsUpdateProxy 的成员,而应该只将 DNS 更新用户分配给 DHCP。对于较旧的 Windows Server 可能是这样,但对于 2012R2 及更高版本,我从技术文档中得到的感觉是该服务器仍应位于 DnsUpdateProxy 组中,但由于是 DC,该组成员的权限会打开漏洞。
因此,如果您在启用了安全动态 DNS 更新的 DC 上启用了 DHCP,您还应该在运行 DHCP 的 DC 上运行此命令,因此其 DNS 将不允许“外部”更新更改 DHCP 拥有的记录:
dnscmd /config /OpenAclOnProxyUpdates 0
底线 - DnsUpdateProxy 组不适用于任何用户对象 - 它只能用于 DHCP 服务器对象(DHCP 客户端),主要用于将 DHCP 服务器放在非 DC 服务器上的“最佳实践”,以授予动态更新 DNS 的必要权限。将安全更新用户添加到该组没有任何意义。