大部分流量都在 UDP 中的服务器(预计会有新连接),可以使用什么来有效缓解 UDP 泛洪?例如,伪造的源 IP 具有可变大小的 UDP 负载(通常为 0-40 字节)发送到 UDP 服务端口,如果应用程序看到 UDP 泛洪,就会出现问题。
- 丢弃所有有效载荷小于特定大小的传入 UDP 是否有任何副作用?我知道它不能解决问题,但它以某种方式增加了攻击的成本。
- 我可以用 SRX240 或 PA-2000 有效地做些什么?
- 或者有什么其他建议?
大部分流量都在 UDP 中的服务器(预计会有新连接),可以使用什么来有效缓解 UDP 泛洪?例如,伪造的源 IP 具有可变大小的 UDP 负载(通常为 0-40 字节)发送到 UDP 服务端口,如果应用程序看到 UDP 泛洪,就会出现问题。
UDP 攻击通常适用于两种配置文件:
如果攻击者知道精心设计的数据包会导致服务器上的额外处理时间超过额外的带宽成本,那么当然也有可能使用大数据包。
简单地将 UDP 数据包丢弃到特定大小以下是一种过于生硬的工具,而不能真正值得称道,尤其是因为这很可能只会导致您的攻击者改变策略。
例如,如果重点是攻击您的服务器,则攻击者可能会转向旨在耗尽您的可用带宽的 DNS 放大攻击。
那么你能做些什么来缓解这些问题或做出回应呢?它通常归结为观察攻击,然后对其进行分析。您可以做一些基本的事情,例如在您的边缘实施 uRPF 以过滤实际上不存在于公共互联网上的欺骗 IP,以及使用速率限制启发式方法,如果 IP 重复发送您认为“坏”的内容,它将阻止该 IP流量(例如快速传输小型 UDP 数据报)。
当涉及到主动攻击时,分析是关键:
您是否观察到攻击流量中的公共源端口、IP(地址/范围)或有效载荷数据,如果是,您有定义阻止规则的标准。
另一方面,如果您成为 DNS 放大攻击或任何依赖于耗尽可用入站带宽的攻击的受害者 - 如果它杀死您的吞吐量,唯一真正的对策是黑化上游提供的目标地址。基本上,你牺牲了目标的可达性,以换取网络其他部分的利益。如果它不会使您的链接饱和,任何体面的状态防火墙都应该阻止未经请求的 DNS 响应数据包。
首先,您应该了解攻击会影响哪些资源。
如果是带宽(您可以通过分析带宽图找到它),您应该考虑使用 rtbh,就像之前的演讲者所假设的那样。
如果您的应用程序/网络堆栈受到攻击(分析您的服务器 CPU 并中断使用),那么您必须以某种方式过滤恶意流量。UDP 的点是一个最小的数据报服务,安全性、可靠性和其他功能的实现传递给您。因此,如果您的协议不支持安全功能(我认为它不支持),那么您无能为力。我认为,任何基于签名的包过滤技术都只是治标不治本。你过滤掉一个签名,攻击者会想出另一个。
您的问题的可能解决方案之一是引入某种原始身份验证。例如,让您的用户在比赛前登录锦标赛网页,并将他们的 IP 地址添加到白名单,阻止其他人。另一种方法是用户端口敲门。您可以为游戏二进制文件生成一个特定的包装器或启动器,它会发送一些“魔法”数据包,从而在防火墙中固定一个漏洞。这种方法有时用于保护像 Lineage 这样的游戏。