使用公共DNS与我们或我们的合作伙伴控制的DNS相比,是否存在已知的风险? 我们的解决scheme涉及一些embedded式设备,所以使用Google DNS会给我们一定程度的可移植性,当我们在各种地方部署时,即只要我们有一个有效的互联网连接,那么我们通常可以打谷歌的DNS(并不总是如此但通常)。
鉴于我不是DNS如何工作的专家,我能想象的情况就是这样的
a)我们的路由器(或其他充当DHCP服务器的设备)通过专用networking分配地址,并向DNS发送新的logging。
b)其他人的“劫持”logging并将其指向我们私人西北部以外的其他地方。
c)下一次,我们的专用networking上的某些东西试图parsing专用networking上的一台机器的名称,它将被redirect到一个恶意服务器。
这种攻击甚至可能吗? DNS服务器如何确定来自我们域的更新确实来自我们的域名? 我知道有自己运行DNS服务器的最佳实践,但是有什么等效的最佳实践,您应该遵循客户端?
注意:我并不担心Google能够学到什么(他们不会学到太多东西,因为我们只能访问我们自己的服务,像Windows Update,Azure等)。 我更担心的是,通过使用公共服务,我们会使第三方恶意的东西。
您所考虑的攻击通常是caching中毒,攻击者可以强制服务器保存不正确的信息,并将合法stream量redirect到特定的黑客控制服务器。 该技术虽然很难使用。
如果您可以控制您的DNS区域,则始终可以使用DNSSEC来确保您区域的内容,并确保在传输之前/之后validation所有内容。
关于公共的DNS服务器,我很抱歉,但是我不明白它会给你带来什么,因为你无法将自己的logging推给它。 如果你指的是像亚马逊的Route53这样的东西,那么……我猜他们仍然可能被劫持,而你仍然需要自己更新。