应用程序DDOS是复杂的攻击,很难缓解。与网络层攻击不同,大多数攻击是对协议的操纵,可以根据所采用的方法进行识别,在应用程序DDOS的情况下,最突出的攻击类型是没有真实模式可识别的容量攻击。这些是大量发送到应用程序的合法请求,阻塞了原本会被其他用户使用的资源,并使普通用户无法访问应用程序。
用于检测应用程序DDOS的最常用技术是速率限制,其中限制了用户可以发出的请求数量。防止此类容量DDOS攻击的两个基本且唯一的基础是:
- 能够观察请求量,因为针对体积应用程序DDOS的初始防御是在不耗尽资源的情况下扩展和观察发送到应用程序的请求
- 识别不需要的请求并快速删除它们。这些检测是通过识别异常尖峰并阻止它们来完成的
为了实现这两者,最好的解决方案是像AppTrana这样具有DDOS防护能力的云WAF。精心设计的云WAF将能够非常快速地自动扩展,以确保它能够吸收异常的请求峰值。AppTrana利用高度可扩展的基础设施来阻止高达2.3Tbps的大型攻击和每秒700K的请求,以提供针对可能的最大攻击的保护。
下一个挑战是检测不需要的请求并丢弃它们。如果WAF有效地完成了这方面的工作,后端将免受请求高峰的影响,并且其资源将可以免费为合法请求提供服务。
不幸的是,静态速率限制不起作用,大多数攻击都被忽视了。要了解静态速率限制规则的问题,需要了解这些速率限制是如何工作的。
- 速率限制只能在某些身份上配置。即它可以配置为在一个时间段内不允许来自1个IP/用户等的超过x个请求,但它不能配置为在该时间段内仅将y个请求转发到应用程序,因为这会导致合法用户被阻止
这种静态速率限制规则的问题在于它没有考虑站点的自然变化。例如,当用户上传和读取大量数据时,我们的一个网站在月底出现峰值;一般来说,月末单用户请求的增长量是正常流量的3-4倍。现在,如果需要为这种情况配置静态速率限制,则必须考虑月末峰值,这意味着在正常日子里,即使是4次的峰值也不会被检测到,并且请求将被传递到源,导致重载原点。