DNS是否记录私人信息?


17

假设您想创建一个指向私有位置的子域(也许是数据库的位置,或者您不希望人们尝试SSH进入的计算机的IP地址),因此您添加了一个名为something的DNS记录。像这样:

private-AGhR9xJPF4.example.com

除了知道子行程序的确切URI的人之外,这对所有人都“隐藏”吗?或者,是否可以通过某种方式“列出”特定域的所有注册子域?


如果您不希望知道或发现它,为什么首先要为其创建DNS记录?
joeqwerty 2014年

1
@joeqwerty如果服务器使用动态IP,或者如果我以后想要更改目标IP,我希望连接到该服务器的所有应用程序都可以继续工作而无需修改。
IQAndreas 2014年

我确定这在某个地方的另一个问题中得到了回答,但是我无法通过搜索找到它。
安德鲁B

15
请注意,有很多坏人会扫描整个IP空间以查找可以SSH进入的计算机。如果可以从公共互联网访问它,您将使人们在SSH端口上受挫。
pjc50 2014年

1
解决问题的真正方法是使用防火墙和VPN。
josh3736 2014年

Answers:


29

DNS是否有某种“子域列表”查询?

没有针对此特定目的的查询,但是有一些间接方法。

  • 非增量区域传输(AXFR)。大多数服务器操作员都将区域传输锁定到特定的IP地址,以防止无关的成员窥探。
  • 如果启用了DNSSEC,NSEC则可以使用迭代请求来遍历区域NSEC3被实施以使区域行走更加计算密集。

还有一个技巧可以让某人知道是否存在任意子域。

        example.com. IN A 198.51.100.1
www.sub.example.com. IN A 198.51.100.2

在以上示例中,www位于中sub。查询sub.example.com IN A将不会返回ANSWER节,但是结果代码将是NOERROR而不是NXDOMAIN,这表明该树下还有记录的存在。(只是这些记录的名字不是)

是否应该依靠DNS记录的保密性?

从客户端可靠地隐藏数据的唯一方法是确保它永远不能开始与数据。假设您的DNS记录的存在将通过口口相传或通过观察数据包的方式分布在有权访问它们的任何人中。

如果您要隐藏可路由DNS客户端中的记录,则说明您做错了。确保数据仅暴露于需要它的环境中。(即,将私有路由域用于私有IP)即使您已经进行了这样的划分,也要假设对IP地址的了解仍然会分散。

安全性的重点应该放在有人获得IP地址时会发生什么,因为它将会发生。


我知道将IP地址保密作为梦being以求的原因的清单可以进一步扩展。IP扫描,社会工程学...列表不胜枚举,我主要关注此问题的DNS协议方面。归根结底,这一切都归于同一伞下:有人将获得您的IP地址


3

这取决于。

当您在公共DNS区域中注册子域时,安德鲁B的答案就很明确了,例如,该域还托管您公司的MX记录和公共网站。

大多数公司将拥有一个内部DNS服务器,该服务器不是公开可用的,您可以在其中注册内部(秘密)主机的主机名。

推荐的方法是注册一个专用域供内部使用,或者在主域中创建一个子域供内部使用。

但是从技术上讲,您还可以通过在域上创建内部视图来使用主域,在该视图中,根据DNS客户端的来源,可以看到DNS区域的替代版本。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.