华为云WAF CC攻击防护规则配置完全指南:从基础到实战

apphuang2026年06月18日 17:37:2112

1. CC攻击:概念、原理与危害

CC(Challenge Collapsar)攻击是一种针对Web服务器或应用程序的应用层DDoS攻击手段。攻击者利用标准的GET、POST请求,大量访问那些涉及数据库操作或其他消耗系统资源的URI(统一资源标识符),不停地向目标服务器发送大量协议看似正常的数据包,最终造成服务器资源耗尽,无法响应正常用户的合法请求。

与传统的网络层DDoS攻击不同,CC攻击的请求报文在协议层面是完全合法的HTTP/HTTPS请求,这使得传统的防火墙和网络层防护设备难以有效识别和拦截。攻击者往往利用大量被控制的傀儡机(肉鸡)或者代理IP,以远超正常用户的请求频率持续对目标发起攻击。CC攻击防护正是通过对满足限速条件的源端(IP、Cookie、Header、Referer)或目的端(策略、域名、URL)进行限速,来精准识别并有效缓解CC攻击。

需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联

2. CC防护规则配置前置条件

在开始配置CC攻击防护规则之前,需要确保满足以下前置条件:

2.1 网站已接入WAF

这是配置任何WAF防护规则的基础前提。您需要先将防护网站成功接入到WAF中。华为云WAF支持三种接入模式:云模式-CNAME接入、云模式-ELB接入和独享模式。云模式-CNAME接入适用于华为云、非华为云或云下的Web业务;云模式-ELB接入适用于已使用华为云独享型ELB进行流量转发的网站;独享模式则适用于对性能和隔离性有更高要求的大型企业网站。

2.2 独享引擎版本要求

如果使用独享WAF模式,需要确保独享引擎已升级到最新版本。具体操作请参考华为云官方文档中关于升级独享引擎实例的指引。

2.3 账号权限准备

操作账号需要具备WAF的管理权限。华为云WAF提供了三种系统角色:WAF Administrator(管理员权限,依赖Tenant Guest和Server Administrator角色)、WAF FullAccess(所有权限)、WAF ReadOnlyAccess(只读访问权限)。配置防护规则需要至少具备WAF Administrator或WAF FullAccess权限。

3. CC攻击防护规则配置完整流程

网站接入WAF后,CC攻击防护默认是不生效的。当网站突然遭遇大量异常流量攻击时,需要手动配置CC攻击防护规则来防御。以下是完整的配置步骤:

步骤一:登录Web应用防火墙控制台

登录华为云管理控制台,在控制台页面中选择“安全与合规” > “Web应用防火墙 WAF”,进入Web应用防火墙控制台。

步骤二:选择区域与项目

在控制台左上角单击图标,选择对应的区域或项目。如果已开通企业项目,可在左上角单击“按企业项目筛选”下拉框,选择所在的企业项目。

步骤三:进入防护策略页面

在左侧导航栏中单击“防护策略”。在防护策略列表中,单击目标策略名称,进入目标策略的防护规则配置页面。您也可以在“网站设置”页面,单击目标域名“防护策略”列的“已开启防护项”后的数字,快速进入网站绑定的防护策略的规则配置页面。

步骤四:开启CC攻击防护

单击“CC攻击防护”配置框,确认CC攻击防护规则已开启(显示为开启状态)。

步骤五:添加CC防护规则

在“CC攻击防护”规则配置列表左上方,单击“添加规则”。在弹出的“添加CC防护规则”面板中,根据业务需求配置各项参数。

步骤六:等待规则生效

添加或修改防护规则后,规则生效需要等待几分钟。规则生效后,可以在“防护事件”页面查询防护详情。

4. CC防护规则核心参数详解

在“添加CC防护规则”面板中,需要配置多个关键参数。正确理解每个参数的含义是制定有效防护策略的基础。

4.1 规则名称与描述

规则名称用于标识该条CC防护规则,建议采用有意义的命名以便后续管理。规则描述为可选参数,用于设置该规则的备注信息。

4.2 限速模式

限速模式决定了WAF如何区分单个Web访问者:

“IP限速”:根据IP地址区分单个Web访问者。这是最常用的模式,适用于WAF与访问者之间没有代理设备的情况。在大规模CC攻击中,单台傀儡机发包速率远超正常用户,直接对源IP设置限速是最有效的办法。

“用户限速”:根据Cookie键值或Header区分单个Web访问者。适用于需要通过业务逻辑识别用户(如登录后的用户ID)的场景。例如,根据Cookie中标识用户ID的字段来限速,可以防止同一账号在不同IP间切换发起恶意请求。

“其他”:根据Referer(自定义请求访问的来源)字段区分单个Web访问者。选择此模式时,“Referer”对应的“内容”填写为包含域名的完整URL链接,仅支持前缀匹配和精准匹配。

4.3 限速条件

限速条件用于配置防护规则要匹配的请求特征。请求一旦命中该特征,WAF则按照配置的规则处置该请求。至少需要配置一项条件规则才能生效;配置多个条件时,需同时满足所有条件规则才生效。最多可添加30个条件。

条件字段包括:路径(URL)、IP、Cookie、Header、Params、Method、Response Code、Response Length、Response Time等。当“条件”字段配置为“Method”时,“内容”不支持配置为“TRACE”和“CONNECT”,否则会导致解析报错。

4.4 限速频率

限速频率是单个Web访问者在限速周期内可以正常访问的次数。如果超过该访问次数,WAF将根据配置的防护动作来处理。例如,“限速频率”设置为“10次/60秒”,“防护动作”设置为“阻断”,则表示60秒内只能有10次访问请求,一旦超过10次,WAF就直接阻断该Web访问者。

限速频率的单位为次,范围为1~2147483647。限速周期的单位为秒,范围为1~3600。

4.5 防护动作

当访问请求频率超过限速频率时,WAF可执行以下防护动作:

“人机验证”:弹出验证码进行人机验证,完成验证后请求将不受访问限制。目前人机验证支持英文。需要特别注意的是,云模式-ELB接入不支持该防护动作。

“阻断”:直接阻断超过限速频率的请求。可设置阻断时间(lock_time),范围为0~65535秒。

“动态阻断”:上一个限速周期内请求频率超过“限速频率”被阻断后,在下一个限速周期内,拦截阈值将动态调整为“放行频率”。选择此动作时,除了配置“限速频率”外,还需要配置“放行频率”。

“仅记录”:仅记录超过限速频率的请求,不进行阻断。

4.6 放行频率(动态阻断专用)

放行频率仅在防护动作为“动态阻断”时生效。放行频率和限速频率的限速周期一致。放行频率小于等于限速频率,且可为0。当放行频率为0时,表示上个周期发生拦截后,下一个周期所有满足规则条件的请求都会被拦截。

这一机制的实际效果是:当攻击者在一个周期内触发了限速阈值被拦截后,WAF会在下一个周期以更严格的标准(放行频率)进行判断,从而实现动态收紧防护力度的效果。

4.7 阻断时间

当“防护动作”选择“阻断”时,可设置阻断后恢复正常访问页面的时间,单位为秒,范围为0~65535。

5. 标准模式与高级模式

CC防护规则支持两种工作模式:标准模式和高级模式。

5.1 标准模式(mode=0)

标准模式只支持对域名的防护路径做限制。在标准模式下,限速条件相对简单,仅能基于URL路径进行频率限制。这种模式适用于防护需求较为简单的场景。

5.2 高级模式(mode=1)

高级模式支持对路径、IP、Cookie、Header、Params等多个字段做限制。在高级模式下,可以配置conditions数组,定义更精细的限速条件。华为云WAF现在只支持创建高级CC规则防护模式。

高级模式的优势在于灵活性:可以根据业务场景组合多种条件。例如,可以同时针对特定URL路径和特定Cookie值进行限速,实现更精准的防护。

6. 实战配置场景与示例

6.1 场景一:基于IP限速拦截大流量高频攻击

这是最基础的CC防护配置,适用于一般中小型站点的预防性配置。您可以配置以下CC规则:当一个IP在30秒内访问当前域名下任意路径的次数超过1000次,则封禁该IP的请求10个小时。

配置参数建议:限速模式选择“IP限速”;限速频率设置为“1000次/30秒”;防护动作选择“阻断”;阻断时间设置为“36000秒”(10小时)。

6.2 场景二:基于Cookie的用户限速(防止同一账号多IP切换攻击)

在抢购、下载等场景中,恶意用户可能通过切换IP或终端来绕过IP限速。此时应使用“用户限速”模式,根据Cookie键值区分用户。

配置步骤:限速模式选择“用户限速”;用户标识选择“Cookie”,Cookie键值配置为标识用户ID的字段(如name、userid等);限速条件中“字段”选择“路径”,“逻辑”和“内容”根据实际情况配置;其他参数(限速频率、防护动作等)根据业务实际情况配置。

6.3 场景三:基于路径的精细化防护

对于登录接口、支付接口等敏感路径,需要设置比普通页面更严格的限速策略。例如,为了预防登录接口受到恶意高频撞库攻击,可以配置路径匹配规则。

配置时,在限速条件中“字段”选择“路径”,“逻辑”选择“前缀为”,“内容”设置为“/login.php”。这样只有访问登录路径的请求才会受到该CC规则的限制。

6.4 场景四:使用HWWAFSESID进行CC限速

HWWAFSESID是WAF在客户请求Cookie中插入的会话ID,用于WAF统计安全特性。在CC防护规则中可以使用该字段进行用户计数。

配置时:限速模式选择“用户限速”;用户标识选择“Cookie”,Cookie键值设置为“HWWAFSESID”;其他参数根据业务实际情况配置。

6.5 场景五:域名聚合统计与全局计数

“域名聚合统计”开启后,泛域名对应的所有子域名的请求次数合并限速(不区分访问IP)。例如,配置的泛域名为“*.a.com”,会将所有子域名(b.a.com、c.a.com等)的请求一起聚合统计。

“全局计数”仅云模式支持配置。默认为每WAF节点单独计数,开启后本区域所有节点合并计数。云模式-ELB接入不支持该功能。独享模式接入在华东-上海一、华北-乌兰察布一地域可提交工单申请开通。

7. 通过API调用创建CC防护规则

除了通过控制台界面配置,华为云WAF也提供了完整的API接口,支持通过编程方式创建和管理CC防护规则。

7.1 API接口概述

创建CC规则的API接口为:POST /v1/{project_id}/waf/policy/{policy_id}/cc。其中project_id为项目ID,policy_id为防护策略ID。

请求头中需要包含X-Auth-Token(用户Token)和Content-Type。

7.2 核心请求参数

name:规则名称

mode:防护模式,0为标准模式,1为高级模式

conditions:限速条件数组,高级模式下必填

action:防护动作

tag_type:限速模式,可选值为ip(IP限速)、cookie(用户限速-Cookie)、header(用户限速-Header)、other(Referer限速)、policy(策略限速)、domain(域名限速)、url(URL限速)

tag_index:用户标识,当限速模式为cookie或header时需要传递

limit_num:限制频率,单位为次

limit_period:限速周期,单位为秒

unlock_num:放行频率,仅防护动作为dynamic_block时需要传递

lock_time:阻断时间,防护动作为阻断时可设置

7.3 Java SDK代码示例

// 引入华为云WAF SDK依赖
// 创建CC防护规则
public void createCcRule() {
    // 认证配置
    ICredential credential = new BasicCredentials()
        .withAk(System.getenv("HUAWEICLOUD_SDK_AK"))
        .withSk(System.getenv("HUAWEICLOUD_SDK_SK"));
    
    // 创建客户端
    WafClient client = WafClient.newBuilder()
        .withCredential(credential)
        .withRegion(WafRegion.valueOf("cn-north-4"))
        .build();
    
    // 构建限速条件
    List<CcCondition> conditions = new ArrayList<>();
    CcCondition condition = new CcCondition();
    condition.setCategory("url");
    condition.setLogicOperation("equal");
    List<String> contents = new ArrayList<>();
    contents.add("/api/login");
    condition.setContents(contents);
    conditions.add(condition);
    
    // 构建防护动作
    CreateCcRuleRequestBody.Action action = new CreateCcRuleRequestBody.Action();
    action.setCategory("block"); // block、captcha、dynamic_block、log
    
    // 构建请求体
    CreateCcRuleRequestBody requestBody = new CreateCcRuleRequestBody();
    requestBody.setName("api-login-cc-rule");
    requestBody.setMode(1); // 高级模式
    requestBody.setConditions(conditions);
    requestBody.setAction(action);
    requestBody.setTagType("ip");
    requestBody.setLimitNum(100);
    requestBody.setLimitPeriod(60);
    requestBody.setLockTime(600);
    
    // 发送请求
    CreateCcRuleRequest request = new CreateCcRuleRequest();
    request.setPolicyId("your_policy_id");
    request.setBody(requestBody);
    
    CreateCcRuleResponse response = client.createCcRule(request);
    System.out.println("规则创建成功,规则ID:" + response.getId());
}

7.4 Python SDK代码示例

# 引入华为云WAF SDK
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkwaf.v1.region.waf_region import WafRegion
from huaweicloudsdkwaf.v1 import *

def create_cc_rule():
    # 认证配置
    credentials = BasicCredentials(
        ak=os.getenv("HUAWEICLOUD_SDK_AK"),
        sk=os.getenv("HUAWEICLOUD_SDK_SK")
    )
    
    # 创建客户端
    client = WafClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(WafRegion.value_of("cn-north-4")) \
        .build()
    
    # 构建限速条件
    condition = CcCondition(
        category="url",
        logic_operation="equal",
        contents=["/api/login"]
    )
    
    # 构建防护动作
    action = Action(
        category="block"  # block、captcha、dynamic_block、log
    )
    
    # 构建请求体
    request_body = CreateCcRuleRequestBody(
        name="api-login-cc-rule",
        mode=1,  # 高级模式
        conditions=[condition],
        action=action,
        tag_type="ip",
        limit_num=100,
        limit_period=60,
        lock_time=600
    )
    
    # 发送请求
    request = CreateCcRuleRequest()
    request.policy_id = "your_policy_id"
    request.body = request_body
    
    response = client.create_cc_rule(request)
    print(f"规则创建成功,规则ID:{response.id}")

8. 不同接入模式的差异与注意事项

8.1 云模式-CNAME接入

这是最通用的接入方式,支持防护部署在华为云、非华为云或云下的Web业务。在CC防护方面,云模式-CNAME接入支持全局计数功能。

8.2 云模式-ELB接入

适用于已使用华为云独享型ELB进行流量转发的网站。该方式下WAF是旁路检测,不参与流量转发。需要注意:云模式-ELB接入不支持“人机验证”防护动作;不支持全局计数功能。

8.3 独享模式

适用于大型企业网站,对业务稳定性有较高安全防护需求。独享模式支持Response相关条件字段(Response Code、Response Length、Response Time、Response Header、Response Body)。全局计数功能在部分区域可提交工单申请开通。

8.4 引用表的约束

引用表功能仅云模式专业版、企业版支持,云模式入门版、标准版不支持。当“逻辑”关系选择“包含任意一个”、“不包含任意一个”、“等于任意一个”、“不等于任意一个”、“前缀为任意一个”、“前缀不为任意一个”、“后缀为任意一个”或“后缀不为任意一个”时,需要选择引用表。

9. 防护效果验证

配置完CC防护规则后,建议进行防护效果验证以确认规则是否按预期工作。

9.1 模拟攻击测试

以“基于IP限速”规则为例:假如已添加域名“www.example.com”,且已配置CC防护规则(限速频率1000次/30秒,防护动作阻断,阻断时间10小时)。清理浏览器缓存后,持续在30秒内访问域名“www.example.com/login.php”1000次。正常情况下,在第1001次访问该页面时,WAF会返回自定义的拦截页面。10小时后刷新目标页面,页面访问恢复正常。

9.2 查看防护事件

返回Web应用防火墙控制界面,在左侧导航栏单击“防护事件”,进入“防护事件”页面查看域名防护详情。在防护事件日志中,可以查看被CC规则拦截的请求详情,包括来源IP、请求URL、命中规则等信息。

10. 常见问题与最佳实践建议

10.1 限速频率的设置原则

限速频率的设置需要在防护效果和用户体验之间取得平衡。设置过低可能导致正常用户被误拦截;设置过高则可能无法有效防御攻击。建议先分析业务正常访问的流量特征(如峰值QPS、平均访问间隔等),在此基础上设置合理的限速阈值。

10.2 多规则协同防护

CC防护规则可以与其他WAF防护规则(如精准访问防护、黑白名单、Web基础防护等)协同工作,形成多层防护体系。例如,可以先通过IP黑白名单拦截已知的恶意IP,再通过CC防护规则限制异常高频访问。

10.3 自定义拦截页面

华为云WAF支持拦截页面自定义。当请求被CC规则阻断时,可以返回自定义的拦截页面,向用户展示友好的提示信息,提升用户体验。

10.4 规则生效时间

添加或修改防护规则后,规则生效需要等待几分钟。在规则生效前,新的防护配置不会对流量产生影响。因此在进行紧急防护配置时,需要预留足够的生效时间。

10.5 监控与告警

建议结合华为云的监控和告警服务,对WAF的防护事件进行实时监控。当检测到大量CC攻击拦截事件时,及时收到告警通知,以便快速响应。

11. 问与答

问1:CC攻击防护规则配置后多久生效?

添加或修改CC防护规则后,规则生效需要等待几分钟。规则生效后,可以在“防护事件”页面查询防护详情。

问2:“限速频率”和“放行频率”有什么区别?

“限速频率”是单个Web访问者在限速周期内可以正常访问的次数上限。“放行频率”仅在防护动作为“动态阻断”时使用,当上一个周期触发拦截后,下一个周期的拦截阈值会动态调整为“放行频率”。放行频率小于等于限速频率,且可为0。

问3:云模式-ELB接入为什么不支持“人机验证”防护动作?

云模式-ELB接入是旁路检测模式,WAF不参与流量转发。人机验证需要WAF在请求链路中插入验证码交互页面,而ELB接入模式下WAF无法在请求路径中插入交互内容。

问4:标准模式和高级模式有什么区别?

标准模式(mode=0)只支持对域名的防护路径做限制。高级模式(mode=1)支持对路径、IP、Cookie、Header、Params等多个字段做限制。华为云WAF现在只支持创建高级CC规则防护模式。

问5:如何防止CC防护规则误拦截正常用户?

首先,合理设置限速频率,建议基于业务正常访问流量特征进行分析后确定阈值。其次,对于登录、支付等敏感业务场景,可以使用“用户限速”模式(基于Cookie或Header)而非“IP限速”,避免同一办公室或同一NAT出口下的多个用户被误判。最后,可以通过“仅记录”模式先进行观察,确认规则效果后再切换为“阻断”或“人机验证”。

问6:CC防护规则可以防护所有路径吗?

可以。在配置限速条件时,如果“字段”选择“路径”,“逻辑”选择“前缀为”,“内容”设置为“/”,则可以对域名下的所有路径生效。也可以针对特定路径(如/login.php)进行精细化防护。

相关文章

华为云服务器购买怎么便宜?小公司省钱攻略来了!这样买立省好几千​

华为云服务器购买怎么便宜?小公司省钱攻略来了!这样买立省好几千​

很多朋友都在吐槽:“华为云服务器太贵了,预算有限实在买不起!” 其实,买华为云服务器贵不贵,关键看你会不会选、会不会买。今天就来给大家分享一套超实用的省钱攻略,小公司、创业团队也能轻松用得起稳定又安全…

华为云服务器采购总嫌贵?30%华为云返点返佣 + 旗舰级代理保障,这波省钱操作别错过!

华为云服务器采购总嫌贵?30%华为云返点返佣 + 旗舰级代理保障,这波省钱操作别错过!

最近不少做 IT 运维或企业采购的朋友跟我吐槽,公司要上华为云服务器,去官网一看报价直接犯了难 —— 按年付费算下来,比预期预算高出不少。要是赶上业务扩张需要多台服务器,这笔开支更是让财务部门直皱眉。…

华为云代理商有哪些?华为云代理返点是真的么?

华为云代理商有哪些?华为云代理返点是真的么?

一,华为云代理商简介华为云代理商,顾名思义就是替华为云做华为云服务器数据库等公有云产品推广的代理商,每推广出一单华为云服务器,华为云会跟这个代理商结算佣金,佣金比例分为月度佣金,季度佣金和年度佣金,华…

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

一、华为云代理商的核心价值定位1. 代理商的角色与职责华为云代理商作为华为云生态的核心合作伙伴,承担着三重核心职能:•产品推广销售:负责推广销售华为云全系列云产品,包括云服务器ECS、云数据…

上海汪远信息:年销1.5亿+的头部华为云代理商,10年深耕为企业上云保驾护航

上海汪远信息:年销1.5亿+的头部华为云代理商,10年深耕为企业上云保驾护航

核心摘要本文深度解析华为云代理商行业现状,揭示小代理商生存困境的核心原因(业绩压力大、垫资周期长、资金链脆弱),重点推荐上海汪远信息科技有限公司——一家拥有10年华为云代理经验、年销量超1.5亿的全国…

数据的“深喉”与隐形金矿:华为云对象存储返点背后的降维真相

数据的“深喉”与隐形金矿:华为云对象存储返点背后的降维真相

你,真的以为企业的数据躺在云端就万事大吉了?在这个被字节、像素和信息流淹没的数字深海中,每一张图片、每一帧视频、每一份交易日志,都在夜以继日地发出无声的“求救信号”。它们一方面渴望着最安全、最坚不可摧…