完全防止特定域的DNS响应

情况:服务器(Win 2008R2)正在用于DNS(放大)DDoS攻击。 放大系数已经下降到1:将DNS服务器设置为非recursion,并删除所有根提示 – > DNS非回复服务器失败的域 – >传入的DNS请求大小EQ传出的DNS请求大小。

即使没有放大,我们仍然不愿意参与,如果只是作为一个简单的偏转器(因为很可能目的地址已被欺骗,以指示DNS响应stream量到DDoS目标)。

问题:是否有,如果是,什么是防止特定域名DNS请求的DNS响应的最简单方法? 这个问题背后的原因是,所有这些恶意的DNS请求都是针对同一个域,但是来自不同的IP。 所以IP阻塞并不是那么有效。

那么如何过滤出对特定域的DNS请求,以及DNS服务器可以处理这些请求,还是必须在防火墙上完成呢?

有什么特别的原因,为什么你的服务器必须回答外部查询呢?

理想情况下,您可以为您的公共parsing器(用于parsing必须从外部访问的所有资源:MX,Web服务器等)设置一个外部parsing器,仅对您的内部networking使用Windows DNS服务器,并阻止所有传入的DNS查询周长。

然而,有一件事是,你根本无法防止:一旦你有一个DNS服务器回答外部查询,即使它只是为你自己的域,它可以用于DNS反弹攻击。 您可以configuration它来防止DNS放大,但不能防止简单的反弹。 除非你自己获得了DDoS,否则不应该是个大问题。

编辑:

以小(ish)结构设置dns的典型方法如下:

  • 您在networking边界内使用内部DNS服务器。 该服务器只能从内部networking和VPN'ed主机和networking访问。
  • 对于外部parsing,可以将内部服务器configuration为将查询转发到网关设备(通常是多用途DLS调制解调器路由器)或直接转发到ISP的DNS服务器。 你必须允许这个stream量通过,但你可以相当小的限制。
  • 如果你拥有一个公共领域,你可以使用外部DNS服务器来托pipe它(通常,至less有两台服务器)。 这些服务器应该被configuration为回答针对他们权威的区域的查询,并且仅针对这些查询。 (有很多提供DNS主机和几乎所有的域名托pipe提供这样的报价)。

即使closures了recursion,并且在域被查询到服务器不具有权威性时,放大攻击也能很好地工作。

如果我记得,传入的UDP数据包(带有伪IP)是72个字节,并且如果点(。)区域没有设置零logging,则响应可能高达720个字节。

  1. 如果它是一个权威的服务器,确保recursionclosures。
  2. 设置没有logging的点(。)区域,SOA是好的,不会改变响应大小。

这样做后,响应将是大约90 +字节,所以大部分的放大效果消失了。

至于筛选特定域的查询,我认为唯一能做到这一点的Microsoft操作系统是具有新的DNS查询策略的Server 2016。 DNS的唯一重大更新就是多年来响应速度的限制。

像其他人所说的,如果是内部networking或特定客户端的recursion,则阻止对端口53的所有访问,除了您要允许的那些IP。

作为一个便笺我会采取一个小小的赌注,许多人与假的查询钉,这将是一个查询freeinfosys.com