在典型的隐藏主 DNS 网络布局中,基本上有两个组件:
- 隐藏的主 DNS 服务器,可能位于 NAT 或防火墙之后,或完全暴露
- 从属权威非递归 DNS 服务器
从属 DNS 服务器上的区域文件通常没有(也不应该)有此隐藏的主 DNS 服务器的信息。但是这些相同的从 DNS 服务器确实需要使用某些 DNS 选项,例如server
、allow-update
、allow-transfer
和一些 ACL。
起初,那些需要server
并且allow-update
似乎需要 IP 地址匹配列表。这留下了named.conf
作为这种隐形信息的主要来源(即隐藏主机的 IP 地址)。
是否可以通过使用密钥而不是使用named.conf
文件中的任何 IP 地址来进一步限制 IP 地址向隐藏主 DNS 服务器的这种暴露?
我正在寻找的关键答案是我们是否可以在其配置文件级别以及区域数据库中最大限度地减少隐藏主控的暴露。
他们可以在他们的区域文件中有 A 记录以指向这个隐藏的 DNS 主服务器。服务器被称为“隐藏”不是因为没有人知道它,而是因为它没有使用 NS 记录在任何地方列出,因此客户端无法查询它们。
编辑:试图避免从您的配置文件中对这个隐藏的主人的所有引用是没有意义的。一旦有人可以访问此文件,它就假定他们无论如何都可以访问您的服务器,然后这听起来比他们知道您的隐藏主机的 IP 地址更大的问题。
从 DNS 服务器确实需要知道隐藏 DNS 服务器的存在。可以只使用键来定义
masters
,然后masters
在allow-notify
etc 语句中引用这些键。这样您就不需要指定隐藏的主服务器的 IP 地址。该
server
声明如下所示:因此它需要隐藏主机的 IP 地址。
allow-update
然而,像, etc 这样的语句似乎allow-transfer
需要address_match_list
which (BIND 9.11.4-P1 文档,第 51 页):因此,您只能在这些命令中输入密钥,不包括配置中隐藏的主服务器的 IP 地址。