我认为DNS隧道的根本原因在于允许内部主机对外部域执行递归查询。要使DNS隧道工作,内部主机应该能够向攻击者控制的域dnstunnel.xyz.com发送查询。我想知道,如果我们将DNS查询仅限于已知的/权威的DNS服务器,它会防止这种攻击吗?为了说明这一点,当我们使用第三方DNS服务器从组织内部运行外部域的nslookup时,它不会解析。DNS request timed out.
ti
Windows DNS服务器设置为使用Google公共DNS服务器作为转发器,并且禁用根提示。启用递归。从客户端,如果我查询ec2-1-2-3-4.us-west-1.compute.amazonaws.com,它将正确地解析。然后,清除所有DNS缓存。如果我现在查询bar.r53.foo.example,Windows服务器将查询委托区域的DNS服务器(由于委托),并获得CNAME结果,但上游服务器不会递归