私有IP地址在公共DNS中

我们在防火墙后面有一个SMTP邮件服务器,它将有一个公共的邮件logging。 访问此邮件服务器的唯一方法是从同一防火墙后面的另一台服务器访问。 我们不运行我们自己的私人DNS服务器。

在公共DNS服务器中使用专用IP地址作为Alogging是否是一个好主意 – 或者最好是将这些服务器logging保存在每个服务器本地主机文件中?

有些人会说,没有公开的DNSlogging应该公开私有IP地址……这个想法是,你正在给潜在的攻击者一些利用私有系统可能需要的信息。

就我个人而言,我认为混淆是一种糟糕的安全forms,特别是当我们谈论IP地址时,因为一般情况下他们很容易猜到,所以我不认为这是一个现实的安全妥协。

更大的考虑是确保您的公共用户不会将此DNSlogging作为托pipe应用程序的常规公共服务的一部分。 即:外部DNS查询以某种方式开始parsing到他们无法访问的地址。

除此之外,我没有看到为什么把私人地址Alogging放入公共空间的根本原因是一个问题,特别是当你没有备用的DNS服务器来承载它们时。

如果您决定将此logging放入公共DNS空间,则可以考虑在同一台服务器上创build一个单独的区域以容纳所有“私人”logging。 这将使它更清楚,他们打算是私人的…但是,只有一个logging,我可能不会打扰。

前段时间,我在NANOG名单上就这个问题进行了长时间的讨论。 虽然我一直认为这是一个坏主意,但实际上这并不是一个坏主意。 这些困难主要来自rDNS查找(对于私人地址只是在外部世界中不起作用),而当您通过VPN或类似地址提供对地址的访问时,确保VPN客户端得到适当的保护是非常重要的当VPNclosures时“泄漏”stream量。

我说去吧。 如果攻击者能够将名称parsing为内部地址,从而获得任何有意义的东西,则会遇到更大的安全问题。

一般来说,将RFC1918地址引入公共DNS将在未来某个时候引起混淆,如果不是真正的问题的话。 使用您的区域的IP,主机logging或私有DNS视图来使用防火墙后面的RFC1918地址,但不要将其包含在公共视图中。

为了澄清我基于其他提交的回应的反应,我认为将RFC1918地址引入公共DNS是一个失误,而不是一个安全问题。 如果有人打电话给我来解决一个问题,而且我偶然发现他们DNS中的RFC1918地址,我开始慢慢地说话,问他们最近是否重新启动。 也许这对我来说是势利的,我不知道。 但正如我所说,这不是一个必要的事情,有可能造成混淆和沟通不畅(人,而不是电脑)。 为什么冒这个险?

不,请勿将您的私人IP地址放在公共DNS中。

首先,它泄露了信息,虽然这是一个相对较小的问题。

如果您的MXlogging指向特定的主机条目,则更糟糕的问题是任何尝试向其发送邮件的人都会收到邮件超时。

根据发件人的邮件软件,他们可能会反弹。

更糟糕的是,如果你使用的是RFC1918地址空间(你应该在你的networking中)并且发送者也是这样,他们就有机会尝试把邮件发送到自己的networking上。

例如:

  • networking有内部邮件服务器,但没有拆分DNS
  • 因此pipe理员将公共和内部IP地址都放在DNS中
  • 和MXlogging指向两者:

$ORIGIN example.com @ IN MX mail.example.com mail IN A 192.168.1.2 IN A some_public_IP 

  • 有人看到这可能会尝试连接到192.168.1.2
  • 最好的情况下,它会弹跳,因为他们没有路线
  • 但如果他们也有一个使用192.168.1.2的服务器,邮件将会出错地方

是的,这是一个破碎的configuration,但我已经看到这个(和更糟的)发生。

不,这不是DNS的错,只是按照要求去做。

您的两个选项是/ etc / hosts,并在您的公共区域中添加一个私有IP地址。 我会推荐前者。 如果这代表大量的主机,你应该考虑在内部运行你自己的parsing器,这并不难。

尽pipe可能性很小,但我认为你可能正在为自己的一些MITM攻击设置自己的位置。

我关心的是这个。 让我们说你的一个用户configuration了一个邮件客户端,指向那个邮件服务器把他们的笔记本电脑带到另一个networking。 如果其他networking也恰好使用相同的RFC1918,会发生什么情况。 该笔记本电脑可能会尝试login到SMTP服务器,并提供用户的凭据,应该没有它的服务器。 这是特别真实的,因为你说SMTP,并没有提到你在哪里需要SSL。

最好把它保存在hosts文件中。 如果只有一台机器连接到这个机器上,那么把它放到公共的DNS里,你会得到什么?

如果通过私有你的意思是10.0.0.0/8,192.168.0.0/16或172.16.0.0/12,那么不要 。 大多数互联网路由器都认识到它是什么 – 一个私人地址,绝对不能直接路由到公共互联网 ,这就是NAT的stream行。 任何人试图联系你的公共DNS服务器将检索DNS的私人IP地址,只发送一个数据包….无处。 由于他们的连接试图穿越互联网到你的私人地址,一些(合理configuration的)路由器将简单地吃掉数据包。

如果你想从“外部”来的电子邮件来“内部”,在某些时候,数据包必须穿越防火墙。 我build议设置一个DMZ地址来处理这个问题 – 一个单独的公共IP地址,这个IP地址是由任何路由器/防火墙严格控制的。 您所描述的现有设置听起来像是完全一样。

编辑:澄清意图…(见下面的评论)。 如果这没有意义,我会投票删除我自己的post。

可能有一些微妙的问题。 一个是DNS Rebind攻击的通用解决scheme过滤从公共DNS服务器parsing的本地DNS条目。 所以你要么打开自己重新绑定攻击,要么本地地址不工作,或者需要更复杂的configuration(如果你的软件/路由器甚至允许的话)。