当您的域(网站)拥有两个提供 NS、A、MX 和 CNAME 记录的公共 DNS 服务器时,是否有必要对区域传输数据进行加密,或者是否可以通过明文形式发送主从服务器网络?
我在 Debian 8 上使用 bind9。
答案1
互联网上的所有对话都应该是私密的。DNS
应该始终是私有的,它运行互联网,没有干净的DNS
记录,我们就不能依赖网络。
如果MITM
主服务器和从服务器之间发生攻击,并且他们修改了从服务器上的记录,则他们只需要DOS
主服务器,从服务器将开始提供错误的记录
读这篇好文文章
答案2
没有实际的以明文发送区域存在危险,除非:
- 区域包含不应暴露在旁观者眼前的记录(例如:在您的“example.net”区域中,有一个“hiddenstuff.example.net”记录,仅供少数人使用)。
- 所涉及的网络存在一些特殊的安全问题(例如:通过以太网进行传输,并有不良用户)。
答案3
您可能没有追寻正确的问题,但您没有提供足够的背景来真正帮助您正确看待事物。
您可以通过多种方式保护不同主机之间的区域文件传输。首先,主站可以限制 AXFR/IXFR 查询仅来自其从站,从站可以限制 NOTIFY 查询(从站从主站拉取数据,因此它是发起者)。为了获得更强的身份验证,您有 TSIG。参见 Bind9:ftp://ftp.isc.org/isc/bind9/cur/9.9/doc/arm/Bv9ARM.ch04.html#tsig
此外,如今许多名称服务器群都是从单一来源配置的和/或带外配置的。例如,内容可以位于数据库中,在某个地方生成,然后使用rsync
或等效于所有名称服务器进行分发。域名服务器之间不存在用于相互更新的 DNS 消息。
以一种单独的方式,您通常有一个“隐藏”主服务器:一个名称服务器,其中所有区域文件更改似乎都提供给所有公共名称服务器。那里不可能存在 MITM,因为你甚至不知道有一个隐藏的主服务器,更不知道它在哪里及其 IP(除非你已经能够控制一个名称服务器,在这种情况下,这是一个完全不同的问题) )。
正如我在另一条评论中所说,您现在有了 DNSSEC。如果您的区域正确配置了 DNSSEC,即使有人设法在名称服务器上或传输过程中更改其内容,任何验证递归名称服务器都会检测到更改,因为新答案要么根本不签名,要么签名错误。