CC攻击是一种恶意网络攻击,旨在通过向目标服务器发送大量的请求,超过其处理能力,从而使其无法正常工作或服务受到严重影响。以下是一些常见的CC攻击场景及WAF在不同场景下提供的具体防护策略和配置。
场景1:高频海量的虚假请求耗尽服务器资源
攻击者利用大量的虚假请求,不断向目标网站发送超过正常用户请求频率的请求,导致目标网站无法正常服务,这个最常见的一种CC攻击场景。您可以关注您的网站请求数趋势,如果请求QPS在某一时刻突然异常突增很多(比正常业务QPS突增超过10倍),就很有可能是受到了CC攻击。
针对超过正常请求频率的攻击,最直接有效的防护方式就是配置频率控制,通过限制指定URL的访问频率,拦截超过网站正常业务请求频率的攻击。如:配置登录接口的单IP访问频率达到每分钟50次时则进行拦截,具体配置操作请参考:设置客户端IP访问域名首页次数限制。
除此之外,您还可以通过开启CC防护功能对CC攻击进行防护,设置URL达到指定阈值后则进行挑战,通过CC防护策略来校验请求是否来自于真实浏览器(注意:该功能不适用于不能执行JS的环境,如API、Native App、Websocket等)
配置示例:以下配置在阈值请求达到每5秒5000次时,则会开启CC攻击防护。更多CC防护配置请参考:设置CC防护配置。
场景2:构造大量畸形报文的请求进行CC攻击
攻击者在进行CC攻击时构造的请求常常与正常请求的特征不相符,WAF可通过识别不合理请求的特征对CC攻击进行防护。例如:
- Referer不合理。Referer字段用于指示请求来源页面的URL,当Referer字段的值异常时(空白Referer或无效的URL格式等),可能暗示着潜在的恶意行为或安全问题。针对此种场景您可以开启CSRF防护功能拦截不合理Referer请求。具体配置操作请参考:安全防护配置-高级防护-CSRF防护。
- Cookie不合理。Cookie是一种在客户端(通常是Web浏览器)和服务器之间传输和存储数据的机制,正常请求往往会携带网站本身业务集的Cookie。CC攻击请求常常不会携带cookie或者携带伪造的cookie。针对此种场景您可以开启cookie防护功能进行防护,具体配置操作请参考:安全防护配置-高级防护-Cookie防护。
- HTTP请求头部缺失或不正确的请求方法。通过指定网站接口正常请求所需的请求头部及允许的请求方法,可以拦截缺少某些HTTP请求头部或不正确请求方法的攻击,您可以通过合规检测配置实现该防护功能,配置操作请参考:安全防护配置-合规检测策略。
- User-Agent不合理。User-Agent(简称UA)是HTTP头部的一部分,用于标识发起请求的客户端(通常是Web浏览器)的软件和版本信息。攻击请求往往会带有Python这类自动化工具的UA特征,另外,有些攻击请求也会带有明显不合理的UA(比如example.ctyun.cn)或者格式明显错乱的UA(比如Mozilla///),针对这些带有异常UA的攻击请求可以通过Bot防护开启UA异常防护,如您需要开启该功能,请提交工单。
场景3:利用海外或公有云IP发起CC攻击
在CC攻击中,经常出现攻击来源于海外IP、公有云IP和IDC机房IP的情况。我们可以通过识别这些IP防止CC攻击。
您可以使用访问控制功能,限制指定地理位置的IP对网站访问,如:限制除中国地区外的其他地区不可访问,从而阻止来自海外IP的攻击。
此外,WAF提供的Bot防护功能,可针对常见IDC IP库的IP进行访问拦截,如您需要开通此功能,可提交工单申请。
场景4:针对关键接口的CC攻击
关键接口CC攻击是指通过大量恶意请求网页环境的关键接口,如登录、注册等从而使服务不可用的攻击手段。针对此类攻击您可以使用WAF的账户安全防护功能(撞库防护、暴力破解),对指定接口进行防护,具体配置操作请参考:安全防护配置-账户安全防护。
场景5:大规模扫描和爬取行为
大规模的恶意扫描行为会给服务器带来很大压力,除了限制访问请求频率外,您还可以使用以下几种防护配置加强防护效果:
- 攻击挑战:攻击挑战功能可发现在短时间内发起多次请求的IP,并在一段时间内阻断该IP的所有请求,具体配置操作请参考:安全配置防护-高级防护-攻击挑战。
- 扫描器访问拦截:该功能可自动封禁来自常见扫描工具访问请求,如您需要开通此功能,可提交工单申请。
- Bot防护:Bot防护可限制对网站的大规模爬取行为,如您需要开通此功能,可提交工单申请。