配置cc攻击防护规则防御cc攻击-九游平台
cc攻击防护规则支持通过限制单个ip/cookie/referer访问者对防护网站上源端的访问频率,同时支持策略限速(同一策略下对应的所有域名请求次数合并限速)、域名限速(每个域名单独统计总请求次数)和url限速(每个url请求单独统计请求次数),精准识别cc攻击以及有效缓解cc攻击;当您配置完cc攻击防护规则并开启cc攻击防护后(即“cc攻击防护”配置框的“状态”为),waf才能根据您配置的cc攻击防护规则进行cc攻击防护。
cc攻击防护规则可以添加引用表,引用表防护规则对所有防护域名都生效,即所有防护域名都可以使用cc攻击防护规则的引用表。

如果您已开通企业项目,您需要在“企业项目”下拉列表中选择您所在的企业项目并确保已开通操作权限,才能为该企业项目下域名配置防护策略。
前提条件
- 已添加防护网站或已。
- 云模式-cname接入的接入方式参见章节。
- 云模式-elb接入的接入方式参见 章节。
- 独享模式的接入方式参见章节。
- 如果使用独享waf,确保独享引擎已升级到最新版本,具体的操作请参见。
约束条件
- 云模式入门版和标准版不支持引用表管理功能。
- 当“逻辑”关系选择“包含任意一个”、“不包含任意一个”、“等于任意一个”、“不等于任意一个”、“前缀为任意一个”、“前缀不为任意一个”、“后缀为任意一个”或者“后缀不为任意一个”时,需要选择引用表,创建引用表的详细操作请参见。
- 仅云模式的cname接入支持配置“全局计数”。
如果您所在地域为华东-上海一、华北-乌兰察布一,且希望为独享模式开启“全局计数”,请提交工单申请开通。
- 使用云模式waf时,如果waf前使用了高防、cdn(content delivery network,内容分发网络)、云加速等代理时,建议“限速模式”选择 ,并勾选“全局计数”。
如果网站在接入waf前,已经使用了cdn、高防等其他代理服务,waf收到的访问ip会被分散到各个waf节点进行流量转发,waf默认为waf节点单独计数。因此,waf针对单个web访问者的访问次数的计数会分散,所以“限速频率”中访问次数的设置原则如下:
- 云模式cname接入:该模式支持“全局计数”,即支持将已经标识的请求在一个或多个waf节点上的计数聚合,因此,配置时勾选“全局计数”即可。
- 独享模式:
- 一般情况下,该模式暂不支持“全局计数”,因此配置“限速频率”中访问次数应配置为允许单个web访问者在限速周期内访问网站的次数/waf节点数。
例如,waf节点数(防护该网站的独享引擎实例数)为2,如果您想当单个web访问者在限速周期内访问网站的次数不能超过1,000次,则“限速频率”中访问次数应配置为1,000除以2,即配置为500。
- 提交工单申请开通该功能后,该模式支持“全局计数”,即支持将已经标识的请求在一个或多个waf节点上的计数聚合。在使用该功能前需注意:“全局计数”不是精确数量的限速。在某些情况下,可能会出现延迟(“全局计数”的内部计数器的更新可能要花费几秒钟)。由于这种延迟,过多的请求仍然可能在waf引擎执行防护动作(如阻断)之前到达源站。
- 一般情况下,该模式暂不支持“全局计数”,因此配置“限速频率”中访问次数应配置为允许单个web访问者在限速周期内访问网站的次数/waf节点数。
- “云模式-elb接入”方式不支持“response code”、“response length”、“response time”、“response header”和“response body”字段,且“云模式-cname”仅铂金版支持响应字段。
- 添加或修改防护规则后,规则生效需要等待几分钟。规则生效后,您可以在“防护事件”页面查看防护效果。
配置cc攻击防护规则
- 。
- 在管理控制台左上角,单击
,选择区域或项目。
- 在页面左上方,单击
,选择 。
- 在左侧导航树中,选择“防护策略”,进入“防护策略”页面。
- 单击目标策略名称,进入目标策略的防护配置页面。
- 选择“cc攻击防护”配置框,用户可根据自己的需要开启或关闭cc攻击防护策略。
:开启状态。
:关闭状态。
- 在“cc攻击防护”规则配置列表左上方,单击“添加规则”。
- 在弹出的对话框中,根据表1配置cc防护规则。
例如,通过配置cc攻击防护规则实现以下功能:根据cookie标识的用户字段(例如name),当waf识别到同一name值的用户在60秒内访问您域名下的url(例如,/admin*)页面超过10次时,封禁该用户访问目标网址600秒。
图1 添加cc防护规则表1 cc防护规则参数说明 参数
参数说明
取值样例
规则名称
自定义规则名称。
waftest
规则描述
可选参数,设置该规则的备注信息。
--
限速模式
- “源限速”:对源端限速,如某ip(或用户)的访问频率超过限速频率,就会对该ip(或用户)的访问限速。
- “ip限速”:根据ip区分单个web访问者。
- “用户限速”:根据cookie键值或者header区分单个web访问者。
- “其他”:根据referer(自定义请求访问的来源)字段区分单个web访问者。
说明:选择“其他”时,“referer”对应的“内容”填写为包含域名的完整url链接,仅支持前缀匹配和精准匹配的逻辑,“内容”里不能含有连续的多条斜线的配置,如“///admin”,waf引擎会将“///”转为“/”。
例如:如果用户不希望访问者从“www.test.com”访问网站,则“referer”对应的“内容”设置为“http://www.test.com”。
- “目的限速”:选择该参数时,可选择以下限速类型进行配置:
- “策略限速” :当多个域名共用一个策略时,该策略下对应的所有域名请求次数合并限速(不区分访问ip);泛域名防护场景时,该泛域名对应的所有子域名的请求次数合并限速(不区分访问ip)。
- “域名限速”:每个域名单独统计总请求次数,超过设定值则触发防护动作(不区分访问ip)。
- “url限速”:每个url请求单独统计请求次数,超过设定值则触发防护动作(不区分访问ip)。
--
用户标识
“限速模式”选择 时,需要配置此参数:
- 选择cookie时,设置cookie字段名,即用户需要根据网站实际情况配置唯一可识别web访问者的cookie中的某属性变量名。用户标识的cookie,不支持正则,必须完全匹配。
例如:如果网站使用cookie中的某个字段name唯一标识用户,那么可以用name字段来区分web访问者。
- 选择header时,设置需要防护的自定义http首部,即用户需要根据网站实际情况配置可识别web访问者的http首部。
name
域名聚合统计
“限速模式”选择 时,不需要配置此参数。
默认关闭,开启后,泛域名对应的所有子域名的请求次数合并限速(不区分访问ip)。例如,配置的泛域名为“*.a.com”,会将所有子域名(b.a.com,c.a.com等)的请求一起聚合统计。
--
限速条件
单击“添加条件”增加新的条件,至少配置一项条件,最多可添加30项条件,多个条件同时满足时,本条规则才生效。
- 字段
- 子字段:当“字段”选择ipv4、ipv6、cookie、header、params等字段时,请根据实际需求配置子字段。
须知:
子字段的长度不能超过2048字节。
- 逻辑:在“逻辑”下拉列表中选择需要的逻辑关系。
说明:
当“逻辑”关系选择“包含任意一个”、“不包含任意一个”、“等于任意一个”、“不等于任意一个”、“前缀为任意一个”、“前缀不为任意一个”、“后缀为任意一个”或者“后缀不为任意一个”时,需要选择引用表,创建引用表的详细操作请参见。
- 内容:输入或者选择条件匹配的内容。
- 大小写敏感:开启后,系统在检测配置的内容时,将区分大小写。能够帮助系统更准确地识别和处理各种请求,从而有效提升策略的精确度和有效性。
“路径”包含“/admin/”
限速频率
单个web访问者在限速周期内可以正常访问的次数,如果超过该访问次数,web应用防火墙服务将根据配置的“防护动作”来处理。
“全局计数”:根据不同的限速模式,将已经标识的请求在一个或多个waf节点上的计数聚合。默认为每waf节点单独计数,开启后本区域所有节点合并计数。“ip限速”不能满足针对某个用户进行限速,需要选择“用户限速”或“其他”的referer限速,此时标识的请求可能会访问到不同的waf节点,开启全局计数后,将请求访问的一个或多个waf节点访问量聚合,达到全局统计的目的。
说明:如果网站在接入waf前,已经使用了cdn、高防等其他代理服务,waf收到的访问ip会被分散到各个waf节点进行流量转发,waf默认为waf节点单独计数。因此,waf针对单个web访问者的访问次数的计数会分散,所以“限速频率”中访问次数的设置原则如下:
- 云模式cname接入:该模式支持“全局计数”,即支持将已经标识的请求在一个或多个waf节点上的计数聚合,因此,配置时勾选“全局计数”即可。
- 独享模式:
- 一般情况下,该模式暂不支持“全局计数”,因此配置“限速频率”中访问次数应配置为允许单个web访问者在限速周期内访问网站的次数/waf节点数。
例如,waf节点数(防护该网站的独享引擎实例数)为2,如果您想当单个web访问者在限速周期内访问网站的次数不能超过1,000次,则“限速频率”中访问次数应配置为1,000除以2,即配置为500。
- 提交工单申请开通该功能后,该模式支持“全局计数”,即支持将已经标识的请求在一个或多个waf节点上的计数聚合。在使用该功能前需注意:“全局计数”不是精确数量的限速。在某些情况下,可能会出现延迟(“全局计数”的内部计数器的更新可能要花费几秒钟)。由于这种延迟,过多的请求仍然可能在waf引擎执行防护动作(如阻断)之前到达源站。
- 一般情况下,该模式暂不支持“全局计数”,因此配置“限速频率”中访问次数应配置为允许单个web访问者在限速周期内访问网站的次数/waf节点数。
10次/60秒
防护动作
当访问的请求频率超过“限速频率”时,可设置以下防护动作:
- 人机验证:表示超过“限速频率”后弹出验证码,进行人机验证,完成验证后,请求将不受访问限制。人机验证目前支持英文。
- 阻断:表示超过“限速频率”将直接阻断。
- 动态阻断:上一个限速周期内,请求频率超过“限速频率”将被阻断,那么在下一个限速周期内,请求频率超过“放行频率”将被阻断。
- 仅记录:表示超过“限速频率”将只记录不阻断。
- js挑战:表示waf向客户端返回一段正常浏览器可以自动执行的javascript代码。如果客户端正常执行了javascript代码,则waf在一段时间(默认30分钟)内放行该客户端的所有请求(不需要重复验证),否则拦截请求。
说明:
请求的referer跟当前的host不一致时,js挑战不生效。
阻断
token有效期
“防护动作”选择“js挑战”后,token有效期默认为1,800秒,支持自定义为60~86,400秒。
60秒
锁定验证
当“防护动作”选择“人机验证”时,需要配置该参数。
当人机验证未通过时,在设定时间内的访问都要进行验证。
300秒
生效模式
说明:周期生效、灰度生效为公测功能,需提交工单申请开通。
- 立即生效:防护规则开启后,规则立即生效。
- 周期生效:您可以将具体某一时区的每一天的一段时间设置为防护规则的生效时间。
- 灰度生效:在指定时间段内,客户端的请求触发该规则的生效概率从0%-100% 线性增长。
- 自定义:自定义规则生效时间段。
立即生效
放行频率
当“防护动作”选择“动态阻断”时,可配置放行频率。
如果在一个限速周期内,访问超过“限速频率”触发了拦截,那么,在下一个限速周期内,拦截阈值动态调整为“放行频率”。
“放行频率”小于等于“限速频率”。
说明:当“放行频率”设置为0时,表示如果上一个限速周期发生过拦截后,下一个限速周期所有的请求都不放行。
8次/60秒
阻断方式
当“防护动作”选择“阻断”时,支持两种阻断方式。
- 攻击惩罚:设置攻击惩罚后,当访问者的ip、cookie或params恶意请求被拦截时,waf将根据惩罚标准设置的拦截时长来封禁访问者。
- 阻断时长:可设置阻断后恢复正常访问页面的时间。
阻断时长
阻断时长
当“防护动作”选择“阻断”时,可设置阻断后恢复正常访问页面的时间。
600秒
阻断页面
当“防护动作”选择“阻断”时,需要设置该参数,即当访问超过限速频率时,返回的错误页面。
- 当选择“默认设置”时,返回的错误页面为系统默认的阻断页面。
- 当选择“自定义”时,返回错误信息由用户自定义。
- 当选择“重定向”时,根据界面提示配置重定向url。
自定义
http返回码
当“阻断页面”选择“自定义”时,支持配置http返回码。
418
响应标头
当“阻断页面”选择“自定义”时,支持配置响应标头。
单击“添加响应标头字段”,配置响应标头参数及参数值。
-
页面类型
当“阻断页面”选择“自定义”时,可选择阻断页面的类型“application/json”、“text/html”或者“text/xml”。
text/html
页面内容
当“阻断页面”选择“自定义”时,可设置自定义返回的内容。
不同页面类型对应的页面内容样式:
- text/html:forbidden
- application/json:{"msg": "forbidden"}
- text/xml:
forbidden
- “源限速”:对源端限速,如某ip(或用户)的访问频率超过限速频率,就会对该ip(或用户)的访问限速。
- 单击“确定”,添加的cc攻击防护规则展示在cc规则列表中。
- 规则添加成功后,默认的“规则状态”为“已开启”,如果您暂时不想使该规则生效,可在目标规则所在行的“操作”列,单击“关闭”。
- 如果需要修改添加的cc攻击防护规则时,可单击待修改的cc攻击防护规则所在行的“修改”,修改cc攻击防护规则。
- 如果需要删除用户自行添加的cc攻击防护规则时,可单击待删除的cc攻击防护规则所在行的“删除”,删除cc攻击防护规则。
防护效果
假如已添加域名“www.example.com”,且配置了如图1所示“阻断”防护动作的cc防护规则。可参照以下步骤验证防护效果:
- 清理浏览器缓存,在浏览器中输入防护域名,测试网站域名是否能正常访问。
- 不能正常访问,参照章节重新完成域名接入。
- 能正常访问,执行2。
- 清理浏览器缓存,在浏览器中访问满足cookie条件的“http://www.example.com/admin”页面,在60秒内刷新页面10次,正常情况下,在第11次访问该页面时,返回自定义的拦截页面;60秒后刷新目标页面,页面访问正常。
如果您设置了“人机验证”防护动作,当用户访问超过限制后需要输入验证码才能继续访问。
图2 人机验证 - 返回web应用防火墙控制界面,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,查看防护域名拦截日志。
配置示例-人机验证
假如防护域名“www.example.com”已接入waf,您可以参照以下操作步骤验证人机验证防护效果。
- 添加防护动作为“人机验证”cc防护规则。
图3 添加“人机验证”防护规则
- 开启cc攻击防护。
图4 开启cc防护
- 清理浏览器缓存,在浏览器中访问“http://www.example.com/admin/”页面。
当您在60秒内访问页面10次,在第11次访问该页面时,页面弹出验证码。此时,您需要输入验证码才能继续访问。
图5 人机验证 - 返回web应用防火墙管理控制台,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,您可以查看该防护事件。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨