通过频率控制策略缓解CC攻击
您可以通过设置频率控制策略,限制单个IP/Cookie/Referer访问者对防护网站上源端的访问频率,同时支持策略限速、域名限速和URL限速,精准识别CC攻击以及有效缓解CC攻击。
前提条件
网站类业务已开启“WEB基础防护”,具体操作请参考开启WEB基础防护。
开启频率控制策略
- 登录管理控制台。
- 在页面上方选择“区域”后,单击页面左上方的,选择 ,进入“Anti-DDoS流量清洗”界面。
- 在左侧导航栏选择“防护策略”页面。
,进入DDoS高防图1 DDoS高防防护策略页面
- 单击“Web CC防护”页签。
- 选择需要防护的区域和对象后,在“频率控制”下方单击“自定义频率控制规则”。
图2 频率控制
- 单击“添加规则”。
- 配置频率控制规则,如图3所示。
表1 参数说明 参数
说明
规则名称
自定义规则名称。
限速模式
- “源限速”:对源端限速,如某IP(或用户)的访问频率超过限速频率,就会对该IP(或用户)的访问限速。
- “IP限速”:根据IP区分单个Web访问者。
- “用户限速”:根据Cookie键值或者Header区分单个Web访问者。
- “其他”:根据Referer(自定义请求访问的来源)字段区分单个Web访问者。
说明:
选择“其他”时,“Referer”对应的“内容”填写为包含域名的完整URL链接,仅支持前缀匹配和精准匹配的逻辑,“内容”里不能含有连续的多条斜线的配置,如“///admin”,引擎会将“///”转为“/”。
例如:如果用户不希望访问者从“www.test.com”访问网站,则“Referer”对应的“内容”设置为“http://www.test.com”。
- “目的限速”:对目的端限速。
- “策略限速”:当多个域名共用一个策略时,该策略下对应的所有域名请求次数合并限速(不区分访问IP);泛域名防护场景时,该泛域名对应的所有子域名的请求次数合并限速(不区分访问IP)。
- “域名限速”:每个域名单独统计总请求次数,超过设定值则触发防护动作(不区分访问IP)。
- “URL限速”:每个URL请求单独统计请求次数,超过设定值则触发防护动作(不区分访问IP)。
域名聚合统计
“限速模式”选择 时,不需要配置此参数。
默认关闭,开启后,泛域名对应的所有子域名的请求次数合并限速(不区分访问IP)。例如,配置的泛域名为“*.a.com”,会将所有子域名(b.a.com,c.a.com等)的请求一起聚合统计。
用户标识
“限速模式”选择
时,需要配置此参数:- 选择“Cookie”时,设置Cookie字段名,即用户需要根据网站实际情况配置唯一可识别Web访问者的Cookie中的某属性变量名。用户标识的Cookie,不支持正则,必须完全匹配。
例如:如果网站使用Cookie中的某个字段name唯一标识用户,那么可以用name字段来区分Web访问者。
- 选择“Header”时,设置需要防护的自定义HTTP首部,即用户需要根据网站实际情况配置可识别Web访问者的HTTP首部。
限速条件
单击“添加”增加新的条件,至少配置一项条件,最多可添加30项条件,多个条件同时满足时,本条规则才生效。
- “字段”:根据实际选择。
- “子字段”:当“字段”选择IPv4、IPv6、Cookie、Header、Params时,请根据实际需求配置子字段。
- “逻辑”:在下拉列表中选择需要的逻辑关系。
- “内容”:输入或者选择条件匹配的内容。
限速频率
单个Web访问者在限速周期内可以正常访问的次数,如果超过该访问次数,系统将根据配置的“防护动作”来处理。
“全局计数”:根据不同的限速模式,将已经标识的请求在一个或多个节点上的计数聚合。默认为每节点单独计数,开启后本区域所有节点合并计数。“IP限速”不能满足针对某个用户进行限速,需要选择“用户限速”或“其他”的Referer限速,此时标识的请求可能会访问到不同的节点,开启全局计数后,将请求访问的一个或多个节点访问量聚合,达到全局统计的目的。
防护动作
当访问的请求频率超过“限速频率”时,可设置以下防护动作:
- “人机验证”:表示超过“限速频率”后弹出验证码,进行人机验证,完成验证后,请求将不受访问限制。人机验证目前支持英文。
- “阻断”:表示超过“限速频率”将直接阻断。
- “动态阻断”:上一个限速周期内,请求频率超过“限速频率”将被阻断,那么在下一个限速周期内,请求频率超过“放行频率”将被阻断。
- “仅记录”:表示超过“限速频率”将只记录不阻断。
- “JS挑战”:表示DDoS高防向客户端返回一段正常浏览器可以自动执行的JavaScript代码。如果客户端正常执行了JavaScript代码,则DDoS高防在一段时间(默认30分钟)内放行该客户端的所有请求(不需要重复验证),否则拦截请求。
锁定验证
当“防护动作”选择“人机验证”时,需要配置该参数。
当人机验证未通过时,在设定时间内的访问都要进行验证。
放行频率
当“防护动作”选择“动态阻断”时,可配置放行频率。
如果在一个限速周期内,访问超过“限速频率”触发了拦截,那么,在下一个限速周期内,拦截阈值动态调整为“放行频率”。
“放行频率”需要小于等于“限速频率”。
生效时间
默认为“立即生效”。
阻断时长
当“防护动作”选择“阻断”时,可设置阻断后恢复正常访问页面的时间。
阻断页面
当“防护动作”选择“阻断”时,需要设置该参数,即当访问超过限速频率时,返回的错误页面。
- 当选择“默认设置”时,返回的错误页面为系统默认的阻断页面。
- 当选择“自定义”,返回错误信息由用户自定义。
页面类型
当“阻断页面”选择“自定义”时,可选择阻断页面的类型“application/json”、“text/html”或者“text/xml”。
页面内容
当“阻断页面”选择“自定义”时,可设置自定义返回的内容。
- “源限速”:对源端限速,如某IP(或用户)的访问频率超过限速频率,就会对该IP(或用户)的访问限速。
- 单击“确定”。
后续操作
- 开启频率控制防护:在“Web CC防护”页面,将“频率控制”状态设置为。
- 关闭频率控制防护:在“Web CC防护”页面,将“频率控制”状态设置为。