通过CC攻击防护规则拦截大流量高频攻击
CC(Challenge Collapsar,以下简称CC)防护对单Web应用访问者IP或者Cookie键值进行访问频率限制,超过限制时通过人机识别或阻断访问,阻断页面可自定义内容和类型,满足业务多样化需要。
在大规模CC攻击中,单台傀儡机发包的速率往往远超过正常用户的请求频率。针对这种场景,直接对请求源IP设置限速规则是最有效的办法。
本文以如下配置为例,介绍如何通过CC攻击防护规则基于IP限速拦截大流量高频攻击。
- 接入方式:云模式-CNAME接入
- 防护对象:域名
- 计费模式:包年/包月
- 版本规格:标准版
- 防护策略:CC攻击防护
操作流程
操作步骤 |
说明 |
---|---|
注册华为账号、开通华为云,并为账户充值、赋予WAF权限。 |
|
购买WAF,选择业务防护区域、WAF模式等信息。 |
|
将防护网站添加到WAF防护,实现WAF流量检测并转发。 |
|
配置并开启CC攻击防护规则,助力网站有效缓解CC攻击。 |
准备工作
- 在购买Web应用防火墙之前,请先注册华为账号并开通华为云。具体操作详见注册华为账号并开通华为云、实名认证。
如果您已开通华为云并进行实名认证,请忽略此步骤。
- 请保证账户有足够的资金,以免购买Web应用防火墙失败。
- 请确保已为账号赋予相关WAF权限。具体操作请参见创建用户组并授权使用WAF。
表1 WAF系统角色 系统角色/策略名称
描述
类别
依赖关系
WAF Administrator
Web应用防火墙服务的管理员权限。
系统角色
依赖Tenant Guest和Server Administrator角色。
- Tenant Guest:全局级角色,在全局项目中勾选。
- Server Administrator:项目级角色,在同项目中勾选。
WAF FullAccess
Web应用防火墙服务的所有权限。
系统策略
无。
WAF ReadOnlyAccess
Web应用防火墙的只读访问权限。
系统策略
步骤一:购买WAF云模式标准版
- 登录华为云管理控制台。
- 在控制台页面中选择 ,进入Web应用防火墙控制台。
- 在页面右上角,单击“购买WAF实例”,进入购买页面,参考表2配置,完成WAF实例的购买。
- 确认参数配置无误后,在页面右下角单击“立即购买”。
- 确认订单详情无误后,阅读并勾选《Web应用防火墙免责声明》,单击“去支付”,完成购买操作。
- 进入“付款”页面,选择付款方式进行付款。
步骤二:将防护网站添加到WAF
- 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
- 在网站列表左上角,单击“添加防护网站”。
- 选择“云模式-CNAME接入”,并单击“开始配置”。
- 在“添加防护网站”页面,完成如下必要参数配置,其余参数保持默认值即可。参数说明请参见表3。
图1 添加域名
表3 必要参数说明 参数
示例
说明
防护域名
www.example.com
需要添加到WAF进行防护的域名。
防护端口
标准端口
需要防护的域名对应的业务端口。
配置80/443端口,在下拉框中选择“标准端口”。
服务器配置
对外协议:HTTP
源站协议:HTTP
源站地址:IPv4 XXX .XXX.1.1
源站端口:80
服务器地址的配置。包括对外协议、源站协议、源站地址、源站端口和权重。
- 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”、“HTTPS”两种协议类型。
- 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”、“HTTPS”两种协议类型。
- 源站地址:客户端访问的网站服务器的公网IP地址(一般对应该域名在DNS服务商处配置的A记录)或者域名(一般对应该域名在DNS服务商处配置的CNAME)。支持以下两种IP格式:
- IPv4,例如:XXX.XXX.1.1
- IPv6,例如:fe80:0000:0000:0000:0000:0000:0000:0000
- 源站端口:WAF转发客户端请求到服务器的业务端口。
- 权重:负载均衡算法将按权重将请求分配给源站。
是否使用七层代理
否
- 是:使用了DDoS高防(七层代理)、CDN、云加速等Web代理产品。
- 否:没有使用七层代理。
此处以“否”为例。
- 单击“下一步”,域名的基础信息配置完成。
- 根据界面提示,完成“放行回源IP”和“本地验证”。
- 完成“DNS解析”。
到该域名的DNS服务商处,配置防护域名的别名解析,具体操作请咨询您的域名服务提供商。
以下为华为云DNS的CNAME绑定方法,仅供参考。如与实际配置不符,请以各自域名服务商的信息为准。
- 在图2中复制WAF提供的CNAME值。
- 单击页面左上方的,选择 。
- 在左侧导航栏中,选择“公网域名”,进入“公网域名”页面。
- 在目标域名所在行的“操作”列,单击“管理解析”,进入“解析记录”页面。
- 在目标记录集的所在行“操作”列,单击“修改”。
- 在弹出的“修改记录集”对话框中修改记录值。
- “主机记录”:在WAF中配置的域名。
- “类型”:选择“CNAME-将域名指向另外一个域名”。
- “线路类型”:全网默认。
- “TTL(秒)”:一般建议设置为5分钟,TTL值越大,则DNS记录的同步和更新越慢。
- “值”:修改为7.a中已复制的WAF CNAME地址。
- 其他的设置保持不变。
- 单击“确定”,完成DNS配置,等待DNS解析记录生效。
步骤三:配置CC攻击防护拦截大流量高频攻击
配置示例:您可以配置以下CC规则,当一个IP在30秒内访问当前域名下任意路径的次数超过1000次,则封禁该IP的请求10个小时。该规则可以作为一般中小型站点的预防性配置。
- 在左侧导航树中,选择“防护策略”,进入“防护策略”页面。
- 单击目标策略名称,进入目标策略的防护配置页面。
- 选择“CC攻击防护”配置框,开启CC攻击防护策略。
:开启状态。
:关闭状态。
- 在“CC攻击防护”规则配置列表左上方,单击“添加规则”,在弹出的对话框中,参考如图3所示进行配置。
示例中仅解释必要参数,其余大多数配置可保留默认值。必要参数说明请参见表4。
表4 必要参数说明 参数
示例
参数说明
限速模式
- “源限速”:对源端限速,如某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)。
限速条件
- “字段”:路径
- “逻辑”:前缀为
- “内容”:/login.php
单击“添加条件”增加新的条件,至少配置一项条件,最多可添加30项条件,多个条件同时满足时,本条规则才生效。
- 字段
- 子字段:当“字段”选择IPv4、IPv6、Cookie、Header、Params时,请根据实际需求配置子字段。
须知:
子字段的长度不能超过2048字节。
- 逻辑:在“逻辑”下拉列表中选择需要的逻辑关系。
- 内容:输入或者选择条件匹配的内容。
限速频率
1,000次30秒
全局计数
单个Web访问者在限速周期内可以正常访问的次数,如果超过该访问次数,Web应用防火墙服务将根据配置的“防护动作”来处理。
“全局计数”:根据不同的限速模式,将已经标识的请求在一个或多个WAF节点上的计数聚合。默认为每WAF节点单独计数,开启后本区域所有节点合并计数。“IP限速”不能满足针对某个用户进行限速,需要选择“用户限速”或“其他”的Referer限速,此时标识的请求可能会访问到不同的WAF节点,开启全局计数后,将请求访问的一个或多个WAF节点访问量聚合,达到全局统计的目的。
防护动作
阻断
当访问的请求频率超过“限速频率”时,可设置以下防护动作:
- 人机验证:表示超过“限速频率”后弹出验证码,进行人机验证,完成验证后,请求将不受访问限制。人机验证目前支持英文。
- 阻断:表示超过“限速频率”将直接阻断。
- 动态阻断:上一个限速周期内,请求频率超过“限速频率”将被阻断,那么在下一个限速周期内,请求频率超过“放行频率”将被阻断。
- 仅记录:表示超过“限速频率”将只记录不阻断。
- JS挑战:表示WAF向客户端返回一段正常浏览器可以自动执行的JavaScript代码。如果客户端正常执行了JavaScript代码,则WAF在一段时间(默认30分钟)内放行该客户端的所有请求(不需要重复验证),否则拦截请求。
阻断时长
36,000秒
当“防护动作”选择“阻断”时,可设置阻断后恢复正常访问页面的时间。
- “源限速”:对源端限速,如某IP(或用户)的访问频率超过限速频率,就会对该IP(或用户)的访问限速。
- 确认参数配置无误后,单击“确认”。
相关信息
- 关于CC攻击防护更多详细的操作,请参见配置CC攻击防护规则防御CC攻击。
- 如果您的业务部署在华为云上,规模为大型企业网站,且对业务稳定性有较高的安全防护需求,需要防护对象为域名/IP,您可以采用“云模式-ELB接入”的接入方式,具体操作可参考如下方法:
- 购买WAF云模式标准版。
购买实例后,提交工单申请开通“云模式-ELB接入”。
- 将网站接入WAF防护(云模式-ELB接入)。
- 配置CC攻击防护拦截大流量高频攻击。
- 购买WAF云模式标准版。
- 如果您的业务部署在华为云上,规模为大型企业网站,且基于业务特性具有制定个性化防护规则的安全需求,需要防护对象为域名/IP,您可以采用“独享模式”的接入方式,具体操作可参考如下方法:
- 独享模式在部分区域已经停售,详见独享模式停售通知。如果您已购买独享模式的WAF,可跳过该步骤继续使用。
- 将网站接入WAF防护(独享模式)。
- 配置CC攻击防护拦截大流量高频攻击。