阻止 Memcrashed 放大 DDoS 攻击

网络工程 思科 防火墙 网络 cisco-nexus 域名解析
2021-07-28 16:43:32

DDoS 是我生活中必不可少的一部分,所以我又提出了更多问题,是的,我们开始进行memcache基于 UDP 的放大攻击,所有源端口都11211来自许多随机源 IP,我们注意到 UDP 数据包大小约为 1400 MTU,我们正在使用服务器上的 UDP 应用程序,但使用大约 200 个数据包大小。

我们有80Gbps管道,很快它将160Gbps来自我的 ISP,我们大约有 10G 大小的 memcrashed DDoS,这意味着我的 ISP 链接没有被 10G 饱和,但我的服务器有 10G 被 10G 饱和(不要问我为什么不增加服务器的带宽,这是数百万的项目)

我们有Cisco Nexus 9396PQISP (80Gbps) 链路终止的 L3 交换机,正如我之前提到的,攻击数据包大小是 1400,由于流媒体性质,我的应用程序仅使用最大 ~200 数据包大小。

我可以使用 ACL 过滤来自端口 11211 的任何具有 1400 数据包长度拒绝的数据包吗?思科支持吗?

除了购买目前不可能的 thriparty 解决方案或 Flowspec 之外,我还有什么其他选择?

编辑:1

这个规则能解决我的问题吗?

N9k(config-acl)# deny udp any eq 11211 any packet-length gt 1399
2个回答

deny udp any eq 11211 any packet-length gt 1399 将过滤当前的攻击。

但是,攻击者可以在发现攻击模式不再起作用时轻松更改攻击模式。此外,源端口阻塞可能会产生误报 = 过滤客户端访问。同样,按大小过滤也可能被证明是无用的或产生不希望的结果。

你不应该暴露memcached在一般的互联网上。只需要求您的客户注册他们的静态公共 IP 地址(例如在 Web 门户中或通过简单的、经过身份验证的 API - 甚至是简单的 URL 调用)或使用您提供的 VPN 服务。这为服务添加了一个身份验证层,并使匿名主机不可能在没有太多模糊的情况下滥用。

[编辑] 我的印象是这是关于memcached自己运行基于服务的。显然我弄错了 - 当然你可以通过源端口过滤。

最后我安定下来遵循规则,它成功地帮助我们阻止了 DDoS。

1 deny udp any eq 11211 any

您可以在图表中看到我们正在接近 ~10Gbps DDoS 攻击,但没有人能够损害我的服务:)

在此处输入图片说明