我想创建一些 LOC DNS 记录,并且想知道是否可以在不知道这些记录所附加的子域的情况下查询这些记录。
例如,进行 GeoCache 寻宝游戏会很有趣,其中的线索列出了 DNS 子域以及 LOC 记录中的下一个坐标(或类似内容)。但是,如果有人能够简单地dig domain.com any
获得子域的 LOC 记录,那么游戏就会很容易被击败。
我知道这dig domain.com any
实际上并没有显示子域名 (geocache1.domain.com、hiddencache.domain.com 等) 的 LOC 记录,但我想知道是否还有其他方法可以确定它们(除了侵入我的 CloudFlare 帐户并查看所有记录)。
这些记录是否同样隐藏随机子域名?
答案1
如果使用DNSSEC原因是 DNSSEC 需要签名记录来表明子域名不存在。这些记录指定了一系列不存在的域名。
如果您使用 DNSSEC,任何人都可以查找随机的不存在的名称,并从答案中了解两个最接近的现有名称。通过重复,可以快速识别所有现有子域。
这可以通过哈希算法缓解。但仍然可以使用几乎相同的方法收集所有哈希值并强制离线。
有一些加密工具可以防止这种离线暴力破解,但它们尚未针对 DNSSEC 进行标准化。
DNSSEC 旨在提供完整性,而不是机密性。
如果您不使用 DNSSEC,如果服务器已配置为允许任何人请求区域传输,则仍然可以获取区域中的完整名称列表。
最后,数据以明文形式发送并缓存在其他 DNS 服务器上,因此一旦一个人查询了某个域,其他人就可能能够从网络或缓存服务器中嗅探到这些查询。