DNS 放大 DDOS 攻击

信息安全 攻击预防 dns ddos
2021-08-25 20:28:43

周末我做了一些测试来模拟 DNS Amplification DDOS 攻击。发送大约 90Mb/s 的流量我能够生成大约 xx Gb/s 的放大流量,这在几秒钟内使我们的数据中心脱机。现在这种攻击每天都在流行,我很想知道缓解它的最佳实践。有没有人有减轻 DNS Amplification DOS 攻击的经验?

----- 编辑可能的解决方法 -----

  1. 要求提供商阻止使用源端口 53 的传入流量。

  2. (@rook 建议)让像 Cloudflare、Akmai 或威瑞信这样的大公司为您处理这可能会花费很多,但当提供商无法提供帮助时会非常有效。

  3. (由@user24077 建议)实施远程触发黑洞路由/过滤策略,在我看来这是有效但有风险的,因为您最终可能会在尝试保护节点或客户端时浪费全部带宽。

3个回答

CERT 将此视为DNS 中的一个漏洞就目前而言,大约有2700 万个配置错误(阅读:默认!)的 DNS 服务器可用于此攻击。

理想情况下,您希望通过在边缘路由器(即您的提供商)过滤这些 UDP 数据包来防止它们到达目的地。不幸的是,没有多少供应商提供这项服务。 Cloudflare 使用这种方法来帮助缓解这种攻击。

另一种方法是使用基于 GEO IP 的负载平衡这是许多 CDN 背后的魔力,因为 DNS 解析离您最近的服务器。在 DoS 攻击中,这有助于分配负载,并将中断隔离到特定区域。使用 DNS 来帮助防止 DNS 放大攻击也有一些优雅之处。

最终将正确配置用于 DNS 放大的服务器。但这个解决方案可能需要 10 多年才能实现。

对于大多数人来说,使用 cloudflare 或 akamai 之类的服务是最好的解决方案。

过去,我在面向 Internet 的边缘路由器上实施了远程触发黑洞路由/过滤技术。该技术已被证明是有效的,它可以基于源流量或目标流量来实现,如果您想进一步挖掘,这里有一个链接供您参考。易于实施且具有成本效益。

http://www.cisco.com/web/about/security/intelligence/blackhole.pdf

直接从文章DNS 放大和 DNSSEC中摘录的 DNS 放大缓解步骤列表

不要在 Internet 上放置开放的 DNS 解析器。限制可以访问解析器的客户端会大大降低攻击者恶意使用它的能力。这可以使用防火墙规则、路由器 IP 访问列表或其他方法来完成。

通过在网络路由器上配置单播反向路径转发 (URPF) 来防止 IP 地址欺骗。配置为使用 URPF(在 RFC3074 中定义)的路由器通过将数据包的源地址与其内部路由表进行比较以确定该地址是否合理,从而限制了攻击者欺骗数据包的能力。如果不是,则丢弃该数据包。

部署入侵防御系统 (IPS) 设备或以某种方式监控 DNSSEC 流量。大量具有相同目标地址的传出数据包,尤其是其计数突然飙升的数据包,是主动攻击的良好指标。部署过滤器来丢弃、限制或延迟传入的可疑数据包应该可以减少攻击对本地网络和攻击目标的影响。如前所述,Windows DNS 服务器丢弃不匹配的响应数据包并将它们记录在性能和统计计数器中。定期监控这些计数器很重要。