情况: 服务器 (Win 2008R2) 正在用于 DNS (放大) DDoS 攻击。放大系数已降至 1:将 DNS 服务器设置为非递归并删除所有根提示 -> DNS 回复服务器对非权威域的故障 -> 传入 DNS 请求大小 EQ 传出 DNS 请求大小。
尽管如此,即使没有放大,我们仍然不情愿地参与,即使只是作为一个简单的偏转器(因为最有可能的是目标地址已被欺骗以将 DNS 响应流量引导至 DDoS 目标)。
问题:是否有最简单的方法可以阻止特定域 DNS 请求的 DNS 响应?如果有,那么最简单的方法是什么?这个问题背后的原因是,所有这些恶意 DNS 请求都是针对同一域,但来自不同的 IP。因此 IP 阻止并不是那么有效。
那么,如何过滤掉针对特定域的 DNS 请求以及在哪里(DNS 服务器可以处理这个问题还是必须在防火墙上完成)?
答案1
您的服务器必须回答外部查询有什么特殊原因吗?
理想情况下,您可以为公共解析器设置一个外部解析器(用于解析所有必须从外部访问的资源:MX、Web 服务器等),仅将 Windows DNS 服务器用于您的内部网络并阻止周边的所有传入 DNS 查询。
然而,有一件事你根本无法阻止:只要你有一个响应外部查询的 DNS 服务器,即使它只用于你自己的域,它也可以用于 DNS 反弹攻击。你可以配置它来防止 DNS 放大,但不能防止简单的反弹。除非你自己遭受 DDoS 攻击,否则这应该不是什么大问题。
编辑:
在小型结构中设置 DNS 的典型方法如下:
- 您在网络边界内使用内部 DNS 服务器。该服务器只能从内部网络和 VPN 连接的主机和网络访问。
- 对于外部解析,您可以配置内部服务器以将查询转发到网关设备(通常是多用途 DLS 调制解调器路由器)或直接转发到 ISP 的 DNS 服务器。您必须允许此流量通过,但您可以相当严格地限制它。
- 如果您拥有公共域,则可以使用外部 DNS 服务器来托管它(通常至少有两台服务器)。这些服务器应配置为仅响应他们所负责的区域的查询。(有许多 DNS 托管服务,几乎所有域名托管服务都附带此类服务)。
答案2
即使关闭递归,放大攻击也能很好地发挥作用,当域被查询时,服务器不是权威的。
如果我没记错的话,传入的 UDP 数据包(带有虚假 IP)是 72 字节,并且如果点 (.) 区域未设置零记录,则响应可能高达 720 字节......乘以 10。
- 如果它是权威服务器,请确保递归已关闭。
- 设置没有记录的点 (.) 区域,SOA 很好并且不会改变响应大小。
执行此操作后,响应将约为 90+ 字节,因此大部分放大效应已经消失。
至于过滤特定域的查询,我认为唯一可以做到这一点的 Microsoft OS 是具有新 DNS 查询策略的 Server 2016。我看到的 DNS 的唯一重大更新是 bind 多年来一直存在的响应速率限制。
就像其他人所说的那样,如果它是内部网络或特定客户端的递归,则阻止除您想要允许的 IP 之外的所有对端口 53 的访问。
顺便提一下,我敢打赌,许多被虚假查询所困扰的人,都是对 freeinfosys.com 的查询