我们都知道开放式的parsing器,这个问题对于相反的情况是种好处。 我有一个被locking到某些CIDR的DNS服务器acl trusted {[..]
options { [..] allow-query { // Accept queries from our "trusted" ACL. We will // allow anyone to query our master zones below. // This prevents us from becoming a free DNS server // to the masses. trusted; };
这工作。
但是,它不会阻止允许范围内的受感染主机发送欺骗(最常见的ANYtypes)请求。 这些问题已得到解决,并且响应仍然发送到“请求”IP地址的欺骗IP(通常是攻击者的目标)。
如何防止DNS服务器parsing信任范围外请求的域? 那甚至是应该做的事情?
这不是您应该尝试在服务层解决的问题。
这些问题的根源在于坐在你面前的networking拓扑的devise。 尝试从服务器本身解决这些问题是一场失败的战斗。
问题中的configuration摘要中的注释引用您的服务器以权威方式回答某些区域。 对于攻击者滥用授权服务器的情况,configuration响应速率限制来缓解这种情况是有意义的。
但是,在滥用启用了recursion的服务器的情况下,通过结合入口过滤来lockingrecursion访问您自己的networking是阻止这种情况的最好方法。 (正如@ Andrew-B所build议的那样)
关于BIND,尤其重要的是理解不同的allow-*configuration指令在重写其中一个或多个时是如何相互作用的(没有这种理解,并不明显,例如,重写allow-query如何影响其他指令,例如allow-recursion ) 。
您可以采取多种方法。 你可能想把它们结合起来。
fail2bandynamic阻止请求networking。 从你的问题看来,你有一些计算机感染僵尸networking软件。 识别和清理这些系统非常重要。 这超出了这个问题的范围。 如果您的路由器支持它,请考虑限制可能发起请求的IP地址。