# CC攻击常见场景防护配置
本文介绍了基于Web应用防火墙的相关功能给出具体的CC攻击场景的防护策略，帮助您有针对性地防御CC攻击。
#### 概述
您可以从以下不同的CC攻击防护场景中选择贴近您自身实际需求的场景，了解相关的防护设置：
- [大流量高频CC攻击]
- [攻击源来自海外或IDC机房IP]
- [请求特征畸形或不合理]
- [API接口CC攻击]
 
 #### 大流量高频CC攻击
在大规模CC攻击中，单台傀儡机发包的速率往往远超过正常用户的请求频率。针对这种场景，直接对请求源IP设置限速规则是最有效的办法。建议您使用CC攻击的基于IP限速的模式，具体请参见[通过IP限速限制网站访问频率](https://support.huaweicloud.com/bestpractice-waf/waf_06_0003.html)。
您可以配置以下CC规则，当一个IP在30秒内访问当前域名下任意路径的次数超过1000次，则封禁该IP的请求10个小时。该规则可以作为一般中小型站点的预防性配置。
在实际场景中，您需要根据自身业务需求调整限速模式和触发防护的限速频率，并选择合适的防护动作，以达到更有针对性、更精细化的防护效果。例如，为了预防登录接口受到恶意高频撞库攻击的影响，您可以配置路径（示例：使用"前缀为"逻辑符，将匹配内容设置为/login.php）。
- "域名聚合统计"：开启后，泛域名对应的所有子域名的请求次数合并限速(不区分访问IP)。例如，配置的泛域名为"\*.a.com"，会将所有子域名（b.a.com，c.a.com等）的请求一起聚合统计。
- "全局计数"：仅云模式支持配置该参数。默认为每WAF节点单独计数，开启后本区域所有节点合并计数。
图1CC防护规则   
![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002129141618.png "点击放大")
**防护效果验证**：
假如已添加域名"www.example.com"，且已按照[图1]添加CC防护规则。
1. 清理浏览器缓存，持续在30秒内访问域名"www.example.com/login.php"1000次，正常情况下，在第1001次访问该页面时，返回自定义的拦截页面；10小时后刷新目标页面，页面访问正常。
2. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看域名防护详情。
 
 #### 攻击源来自海外或IDC机房IP
CC攻击中很大比例的攻击来源于海外IP和IDC机房IP的情形。
- [攻击源来自海外]
  对于面向中国用户的网站，在遭受攻击时可以通过封禁海外访问来缓解攻击压力。推荐您使用WAF的地理位置访问控制功能，封禁中国境外IP地址的访问，具体操作请参见[配置地理位置访问控制规则](https://support.huaweicloud.com/usermanual-waf/waf_01_0013.html)。
  图2封禁海外IP   
  ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002270585990.png "点击放大")
  **防护效果验证**：
  假如已添加域名"www.example.com"，且已按照[图2]添加地理位置访问控制规则。
  1. 清理浏览器缓存，使用阿富汗、阿赫韦南马、阿尔巴尼亚、阿尔及利亚的IP，在浏览器中访问"http://www.example.com"页面，正常情况下，WAF检测到来自目标地域的IP的请求后，会阻断该IP的访问请求，并返回拦截页面。
  
  2. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看域名防护详情。
   
- [攻击源来自IDC机房IP]
  如果您已经开启了WAF的**威胁情报访问控制** 规则，可以封禁常见IDC库的IP，例如华为、腾讯。详细操作请参见[配置威胁情报访问控制](https://support.huaweicloud.com/usermanual-waf/waf_01_0553.html)。
  图3封禁IDC库的IP   
  ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002305218909.png "点击放大")
  **防护效果验证**：
  假如已添加域名"www.example.com"，且已按照[图3]添加威胁情报访问控制规则。
  1. 清理浏览器缓存，使用腾讯、阿里云、华为IDC库的IP，在浏览器中访问"http://www.example.com"页面，正常情况下，WAF检测到来自目标IDC库的IP的请求后，WAF会阻断该IP的访问请求，并返回拦截页面。
  
  2. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看域名防护详情。
   
 #### 请求特征畸形或不合理
由于很多CC攻击请求是攻击者随意构造的，仔细观察日志后，往往会发现这些请求有很多与正常请求不相符的畸形报文特征。常见的畸形报文特征及防护策略：
以下的防护配置是通过WAF的**精准访问防护** 规则实现的，具体的操作请参见[配置精准访问防护规则](https://support.huaweicloud.com/usermanual-waf/waf_01_0010.html)。
- [User-agent异常或畸形]
  例如，包含Python等自动化工具特征、明显格式错乱的UA（例如Mozilla///）、明显不合理的UA（例如www.example.com）。如果存在该请求特征，您可以参考[图4]，拦截User-agent包含Mozilla///的内容请求。
  图4拦截User-agent包含Mozilla///的内容   
  ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002270586050.png "点击放大")
  **防护效果验证**：
  假如已添加域名"www.example.com"，且已按照[图4]添加精准访问防护规则。
  1. 清理浏览器缓存，打开浏览器开发者工具，修改User-Agent为Mozilla///的UA后，在浏览器中访问"http://www.example.com"，正常情况下，WAF检测到浏览器发送的User-agent请求头中包含Mozilla///，拦截该请求，并返回拦截页面。
  
  2. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看域名防护详情。
   
- [User-agent不合理]
  例如，对于微信推广的H5页面，正常用户都应该通过微信发起访问，如果UA来自于Windows桌面浏览器（例如MSIE 6.0），则明显是不合理的。如果存在该请求特征，您可以参考[图5]，拦截User-agent包含MSIE 6.0的内容请求。
  图5拦截User-agent包含MSIE 6.0的内容   
  ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002305305885.png "点击放大")
  **防护效果验证**：
  假如已添加域名"www.example.com"，且已按照[图5]添加精准访问防护规则。
  1. 清理浏览器缓存，打开浏览器开发者工具，修改User-Agent为MSIE 6.0的UA后，在浏览器中访问"http://www.example.com"，正常情况下，WAF检测到浏览器发送的User-agent请求头中包含MSIE 6.0，拦截该访问，并返回拦截页面。
  
  2. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看域名防护详情。
   
- [Referer异常]
  例如，不带Referer或Referer固定且来自于非法站点，则可以封禁这种请求（访问网站首页或第一次访问页面的情形除外）。针对只能通过某个站内地址跳转访问的URL，您可以从Referer角度分析行为异常，参考[图6]，拦截不带Referer的请求。
  图6拦截不带Referer的请求   
  ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002270689166.png "点击放大")
  **防护效果验证**：
  假如已添加域名"www.example.com"，且已按照[图6]添加精准访问防护规则。
  1. 清理浏览器缓存，打开浏览器开发者工具，禁用Referer后，在浏览器中访问"http://www.example.com"，正常情况下，WAF检测到请求中不存在Referer，拦截该请求，并返回拦截页面。
  
  2. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看域名防护详情。
   
- [Cookie异常]
  正常用户往往会在请求中带上属于网站本身业务集的一些cookie（第一次访问页面的情形除外）。很多情况下，CC攻击的报文不会携带任何cookie。您可以从这个角度出发，参考[图7]，拦截不带Cookie的请求。
  图7拦截不带Cookie的请求   
  ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002305218953.png "点击放大")
  **防护效果验证**：
  假如已添加域名"www.example.com"，且已按照[图7]添加精准访问防护规则。
  1. 清理浏览器缓存，在浏览器中访问"http://www.example.com"，正常情况下，WAF检测到请求中不存在Cookie，拦截该请求，并返回拦截页面。
  
  2. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看域名防护详情。
   
- [缺少某些HTTP Header]
  例如，针对一些业务中需要的认证头等，正常用户的请求会携带，而攻击报文则不会。您可以参考[图8]，拦截Header不带authorization头的请求。
  图8拦截Header不带authorization头的请求   
  ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002270586030.png "点击放大")
  **防护效果验证**：
  假如已添加域名"www.example.com"，且已按照[图8]添加精准访问防护规则。
  1. 使用浏览器无痕模式访问"http://www.example.com"，该场景下，浏览器不会自动添加authorization头，WAF检测到请求中不存在authorization，拦截该请求，并返回拦截页面。
  
  2. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看域名防护详情。
   
- [不正确的请求方法]
  例如，只有POST请求的接口被大量GET请求攻击，则可以直接封禁GET请求。您可以参考[图8]，拦截GET请求。
  图9拦截GET请求   
  ![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002305305861.png "点击放大")
  **防护效果验证**：
  假如已添加域名"www.example.com"，且已按照[图9]添加精准访问防护规则。
  1. 使用浏览器JavaScript发起GET请求，正常情况下，WAF会拦截该请求，并返回拦截页面。
  
  2. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看域名防护详情。
   
 #### API接口CC攻击
针对系统关键API接口发起的CC攻击的场景。
业务系统的API接口通常存在鉴权，对于API接口的CC攻击场景，可结合业务特征（token/header）针对API接口进行限速，建议您使用CC攻击的基于用户限速的模式。
您可以配置以下CC规则，当一个用户（token/cookie）在30秒内访问当前域名下某个API接口的次数超过1000次，则封禁该IP的请求10个小时。该规则可以作为一般中小型站点的预防性配置。
![](https://support.huaweicloud.com/bestpractice-waf/zh-cn_image_0000002732089119.png "点击放大")
**防护效果验证**：
假如已添加域名"www.example.com"，且已按照上图添加CC防护规则。
1. 清理浏览器缓存，为请求设置一个token字段，持续在30秒内访问域名"www.example.com/api/user"1000次，正常情况下，在第1001次访问该页面时，返回自定义的拦截页面；10小时后刷新目标页面，页面访问正常。
2. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看域名防护详情。
 
