文档首页/ Web应用防火墙 WAF/ 快速入门/ 通过CC攻击防护规则拦截大流量高频攻击
更新时间:2024-10-23 GMT+08:00

通过CC攻击防护规则拦截大流量高频攻击

CC(Challenge Collapsar,以下简称CC)防护对单Web应用访问者IP或者Cookie键值进行访问频率限制,超过限制时通过人机识别或阻断访问,阻断页面可自定义内容和类型,满足业务多样化需要。

在大规模CC攻击中,单台傀儡机发包的速率往往远超过正常用户的请求频率。针对这种场景,直接对请求源IP设置限速规则是最有效的办法。

本文以如下配置为例,介绍如何通过CC攻击防护规则基于IP限速拦截大流量高频攻击。

  • 接入方式:云模式-CNAME接入
  • 防护对象:域名
  • 计费模式:包年/包月
  • 版本规格:标准版
  • 防护策略:CC攻击防护

操作流程

操作步骤

说明

准备工作

注册华为账号、开通华为云,并为账户充值、赋予WAF权限。

步骤一:购买WAF

购买WAF,选择业务防护区域、WAF模式等信息。

步骤二:将防护网站添加到WAF

将防护网站添加到WAF防护,实现WAF流量检测并转发。

步骤三:开通CC攻击防护

配置并开启CC攻击防护规则,助力网站有效缓解CC攻击。

准备工作

  1. 在购买Web应用防火墙之前,请先注册华为账号并开通华为云。具体操作详见注册华为账号并开通华为云实名认证

    如果您已开通华为云并进行实名认证,请忽略此步骤。

  2. 请保证账户有足够的资金,以免购买Web应用防火墙失败。
  3. 请确保已为账号赋予相关WAF权限。具体操作请参见创建用户组并授权使用WAF
    表1 WAF系统角色

    系统角色/策略名称

    描述

    类别

    依赖关系

    WAF Administrator

    Web应用防火墙服务的管理员权限。

    系统角色

    依赖Tenant Guest和Server Administrator角色。

    • Tenant Guest:全局级角色,在全局项目中勾选。
    • Server Administrator:项目级角色,在同项目中勾选。

    WAF FullAccess

    Web应用防火墙服务的所有权限。

    系统策略

    无。

    WAF ReadOnlyAccess

    Web应用防火墙的只读访问权限。

    系统策略

步骤一:购买WAF云模式标准版

  1. 登录华为云管理控制台
  2. 在控制台页面中选择安全与合规 > Web应用防火墙 WAF,进入Web应用防火墙控制台。
  3. 在页面右上角,单击“购买WAF实例”,进入购买页面,参考表2配置,完成WAF实例的购买。
    表2 购买参数说明

    参数

    示例

    说明

    WAF模式

    云模式

    支持使用云模式-CNAME接入,可防护部署在华为云、非华为云上或云下的Web业务,防护对象为域名。

    计费模式

    包年/包月

    预付费模式,按订单的购买周期计费,适用于可预估资源使用周期的场景,价格比按需计费模式更优惠。

    区域

    中国-香港

    根据防护业务的所在区域就近选择购买的WAF区域。

    版本规格

    标准版

    可防护中小型网站。

  4. 确认参数配置无误后,在页面右下角单击“立即购买”
  5. 确认订单详情无误后,阅读并勾选《Web应用防火墙免责声明》,单击“去支付”,完成购买操作。
  6. 进入“付款”页面,选择付款方式进行付款。

步骤二:将防护网站添加到WAF

  1. 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
  2. 在网站列表左上角,单击“添加防护网站”
  3. 选择“云模式-CNAME接入”,并单击“开始配置”
  4. “添加防护网站”页面,完成如下必要参数配置,其余参数保持默认值即可。参数说明请参见表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代理产品。
    • 否:没有使用七层代理。

    此处以“否”为例。

  5. 单击“下一步”,域名的基础信息配置完成。
    图2 基础信息配置完成
  6. 根据界面提示,完成“放行回源IP”“本地验证”
  7. 完成“DNS解析”

    到该域名的DNS服务商处,配置防护域名的别名解析,具体操作请咨询您的域名服务提供商。

    以下为华为云DNS的CNAME绑定方法,仅供参考。如与实际配置不符,请以各自域名服务商的信息为准。

    1. 图2中复制WAF提供的CNAME值。
    2. 单击页面左上方的,选择网络 > 云解析服务 DNS
    3. 在左侧导航栏中,选择“公网域名”,进入“公网域名”页面。
    4. 在目标域名所在行的“操作”列,单击“管理解析”,进入“解析记录”页面。
    5. 在目标记录集的所在行“操作”列,单击“修改”
    6. 在弹出的“修改记录集”对话框中修改记录值。
      • “主机记录”:在WAF中配置的域名。
      • “类型”:选择“CNAME-将域名指向另外一个域名”
      • “线路类型”:全网默认。
      • “TTL(秒)”:一般建议设置为5分钟,TTL值越大,则DNS记录的同步和更新越慢。
      • “值”:修改为7.a中已复制的WAF CNAME地址。
      • 其他的设置保持不变。
    7. 单击“确定”,完成DNS配置,等待DNS解析记录生效。

步骤三:配置CC攻击防护拦截大流量高频攻击

配置示例:您可以配置以下CC规则,当一个IP在30秒内访问当前域名下任意路径的次数超过1000次,则封禁该IP的请求10个小时。该规则可以作为一般中小型站点的预防性配置。

  1. 在左侧导航树中,选择“防护策略”,进入“防护策略”页面。
  2. 单击目标策略名称,进入目标策略的防护配置页面。
  3. 选择“CC攻击防护”配置框,开启CC攻击防护策略。

    :开启状态。

    :关闭状态。

  4. “CC攻击防护”规则配置列表左上方,单击“添加规则”,在弹出的对话框中,参考如图3所示进行配置。
    示例中仅解释必要参数,其余大多数配置可保留默认值。必要参数说明请参见表4
    图3 配置CC防护规则
    表4 必要参数说明

    参数

    示例

    参数说明

    限速模式

    源限速 > IP限速

    • “源限速”:对源端限速,如某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秒

    “防护动作”选择“阻断”时,可设置阻断后恢复正常访问页面的时间。

  5. 确认参数配置无误后,单击“确认”

相关信息