我们在防火墙后面有一个 SMTP 邮件服务器,它将拥有邮件的公共 A 记录。。 访问此邮件服务器的唯一方法是从同一防火墙后面的另一台服务器。我们不运行自己的私人 DNS 服务器。
将私有 IP 地址用作公共 DNS 服务器中的 A 记录是一个好主意吗 - 或者最好将这些服务器记录保存在每个服务器的本地主机文件中?
答案1
有些人会说,公共 DNS 记录永远不应该泄露私有 IP 地址......他们的想法是,这会给潜在的攻击者提供利用私有系统所需的一些信息。
就我个人而言,我认为混淆是一种较差的安全形式,尤其是当我们谈论 IP 地址时,因为一般来说它们很容易被猜到,所以我不认为这是一种现实的安全妥协。
这里更大的考虑是确保您的公共用户不会将此 DNS 记录作为托管应用程序的正常公共服务的一部分。即:外部 DNS 查找以某种方式开始解析他们无法访问的地址。
除此之外,我看不出将私人地址 A 记录放入公共空间会带来问题的任何根本原因......尤其是当您没有备用 DNS 服务器来托管它们时。
如果您决定将此记录放入公共 DNS 空间,您可以考虑在同一台服务器上创建一个单独的区域来保存所有“私人”记录。这将更清楚地表明它们是私人的......但是对于只有一条 A 记录,我可能不会费心。
答案2
不久前,我在 NANOG 列表中就此话题进行了长时间的讨论。虽然我一直认为这是一个坏主意,但事实证明,在实践中这并不是一个坏主意。困难主要来自 rDNS 查找(对于私有地址,在外部世界中根本不起作用),当您通过 VPN 或类似方式提供对地址的访问时,重要的是确保 VPN 客户端在 VPN 中断时得到适当保护,以免“泄露”流量。
我说去吧。如果攻击者能够通过将名称解析为内部地址来获取任何有意义的信息,那么您将面临更大的安全问题。
答案3
一般而言,将 RFC1918 地址引入公共 DNS 会造成混乱,即使不是真正的问题,在将来的某个时候也是如此。使用 IP、主机记录或区域的私有 DNS 视图来使用防火墙后面的 RFC1918 地址,但不要将它们包含在公共视图中。
为了根据其他提交的回复澄清我的回复,我认为将 RFC1918 地址引入公共 DNS 是一种失礼行为,而不是安全问题。如果有人打电话给我解决问题,而我偶然发现他们的 DNS 中有 RFC1918 地址,我会开始慢慢说话,并询问他们最近是否重新启动过。也许这是我的势利,我不知道。但就像我说的那样,这不是必须做的事情,而且在某些时候可能会导致混乱和沟通不畅(人为的,而不是计算机的)。为什么要冒这个险呢?
答案4
您的两个选择是 /etc/hosts 和将私有 IP 地址放在您的公共区域中。我推荐前者。如果这代表大量主机,您应该考虑在内部运行自己的解析器,这并不难。