更新时间:2024-04-12 GMT+08:00

配置CC攻击防护规则

CC攻击防护规则支持通过限制单个IP/Cookie/Referer访问者对防护网站上特定路径(URL)的访问频率,精准识别CC攻击以及有效缓解CC攻击。当您配置完CC攻击防护规则并开启CC攻击防护后,WAF才能根据您配置的CC攻击防护规则进行CC攻击防护。

前提条件

已添加防护网站。

约束条件

  • 添加或修改防护规则后,规则生效需要等待几分钟。规则生效后,您可以在“防护事件”页面查看防护效果。
  • 网站同时接入WAF和CDN(Content Delivery Network,内容分发网络)时,如果“防护动作”配置为“人机验证”,建议防护规则的“路径”配置为动态页面。

操作步骤

  1. 登录管理控制台。
  2. 单击管理控制台左上角的,选择区域或项目。
  3. 单击页面左上方的,选择安全 > Web应用防火墙
  4. 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
  1. 在目标域名所在行的“防护策略”栏中,单击“已开启N项防护”,进入“防护策略”页面。
  2. “CC攻击防护”配置框中,用户可根据自己的需要更改“状态”,单击“自定义CC攻击防护规则”,进入CC防护规则配置页面。
  3. “CC攻击防护”规则配置页面左上角,单击“添加规则”
  4. 在弹出的对话框中,根据表1配置CC防护规则。

    例如,Cookie标识为“name”字段的同一值的用户访问目标地址(以/admin为前缀的地址,例如,https://www.example.com/adminlogic)时,一旦在60秒内访问超过10次,就直接阻断该Cookie用户访问目标URL地址,阻断操作持续600秒,阻断页面返回自定义的页面内容。

    表1 CC防护规则参数说明

    参数

    参数说明

    取值样例

    限速模式

    • IP限速:根据IP区分单个Web访问者。
    • 用户限速:根据Cookie键值或者Header区分单个Web访问者。
    • 其他:根据Referer(自定义请求访问的来源)字段区分单个Web访问者。
      说明:

      “防护模式”选择“其他”时,“Referer”对应的“内容”填写为包含域名的完整URL链接,仅支持前缀匹配和精准匹配的逻辑,“内容”里不能含有连续的多条斜线的配置,如“///admin”,WAF引擎会将“///”转为“/”

      例如:防护路径设置为“/admin”,若用户不希望访问者从“www.test.com”访问该页面,则“Referer”对应的“内容”设置为“http://www.test.com”

    用户限速

    限速条件

    单击“添加”增加新的条件,至少配置一项条件,最多可添加30项条件,多个条件同时满足时,本条规则才生效。

    • 字段:路径、IP、Cookie、Header、Params。
    • 子字段:当“字段”选择“Cookie”“Header”“Params”时,请根据实际需求配置子字段。
      须知:

      子字段的长度不能超过2048字节,且只能由数字、字母、下划线和中划线组成。

    • 逻辑:在“逻辑”下拉列表中选择需要的逻辑关系。
      说明:

      “逻辑”关系选择“包含任意一个”“不包含所有”“等于任意一个”“不等于所有”“前缀为任意一个”“前缀不为所有”“后缀为任意一个”或者“后缀不为所有”时,需要选择引用表,创建引用表的详细操作请参见创建引用表

    • 内容:输入或者选择条件匹配的内容。

    “路径”包含“/admin/”

    用户标识

    “限速模式”选择“用户限速”时,需要配置此参数:

    • 选择Cookie时,设置Cookie字段名,即用户需要根据网站实际情况配置唯一可识别Web访问者的Cookie中的某属性变量名。用户标识的Cookie,不支持正则,必须完全匹配。

      例如:如果网站使用Cookie中的某个字段name唯一标识用户,那么可以选取name字段来区分Web访问者。

    • 选择Header时,设置需要防护的自定义HTTP首部,即用户需要根据网站实际情况配置可识别Web访问者的HTTP首部。

    name

    限速频率

    单个Web访问者在限速周期内可以正常访问的次数,如果超过该访问次数,Web应用防火墙服务将根据配置的“防护动作”来处理。

    10次/60秒

    防护动作

    当访问的请求频率超过“限速频率”时,可设置以下防护动作:

    • 人机验证:表示超过“限速频率”后弹出验证码,进行人机验证,完成验证后,请求将不受访问限制。
    • 阻断:表示超过“限速频率”将直接阻断。
    • 动态阻断:上一个限速周期内,请求频率超过“限速频率”将被阻断,那么在下一个限速周期内,请求频率超过“放行频率”将被阻断。
    • 仅记录:表示超过“限速频率”将只记录不阻断。可下载防护事件数据查看域名的防护日志。

    阻断

    放行频率

    “防护动作”选择“动态阻断”时,可配置放行频率。

    如果在一个限速周期内,访问超过“限速频率”触发了拦截,那么,在下一个限速周期内,拦截阈值动态调整为“放行频率”

    “放行频率”小于等于“限速频率”

    说明:

    “放行频率”设置为0时,表示如果上一个限速周期发生过拦截后,下一个限速周期所有的请求都不放行。

    8次/60秒

    阻断时长

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

    600秒

    阻断页面

    “防护动作”选择“阻断”时,需要设置,即当访问超过限速频率时,返回的错误页面。

    • 当选择“默认设置”时,返回的错误页面为系统默认的阻断页面。
    • 当选择“自定义”,返回错误信息由用户自定义。

    自定义

    页面类型

    “阻断页面”选择“自定义”时,可选择阻断页面的类型“application/json”“text/html”或者“text/xml”

    text/html

    页面内容

    “阻断页面”选择“自定义”时,可设置自定义返回的内容。

    不同页面类型对应的页面内容样式:

    • text/html:<html><body>Forbidden</body></html>
    • application/json:{"msg": "Forbidden"}
    • text/xml:<?xml version="1.0" encoding="utf-8"?><error> <msg>Forbidden</msg></error>

    规则描述

    可选参数,设置该规则的备注信息。

    --

  5. 单击“确认”,添加的CC攻击防护规则展示在CC规则列表中。

    • 规则添加成功后,默认的“规则状态”“已开启”,若您暂时不想使该规则生效,可在目标规则所在行的“操作”列,单击“关闭”
    • 若需要修改添加的CC攻击防护规则时,可单击待修改的CC攻击防护规则所在行的“修改”,修改CC攻击防护规则。
    • 若需要删除用户自行添加的CC攻击防护规则时,可单击待删除的CC攻击防护规则所在行的“删除”,删除CC攻击防护规则。

防护效果

假如已添加域名“www.example.com”,且配置了CC防护规则。可参照以下步骤验证防护效果:

  1. 清理浏览器缓存,在浏览器中输入防护域名,测试网站域名是否能正常访问。

  2. 清理浏览器缓存,在浏览器中访问满足Cookie条件的“http://www.example.com/admin”页面,在60秒内刷新页面10次,正常情况下,在第11次访问该页面时,返回自定义的拦截页面;600秒后刷新目标页面,页面访问正常。

    如果您设置了“人机验证”防护动作,当用户访问超过限制后需要输入验证码才能继续访问。

  3. 返回Web应用防火墙控制界面,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,查看防护域名拦截日志,您也可以下载防护事件数据

配置示例-人机验证

假如防护域名“www.example.com”已接入WAF,您可以参照以下操作步骤验证人机验证防护效果。

  1. 添加防护动作为“人机验证”CC防护规则。
  2. 开启CC攻击防护。
  3. 清理浏览器缓存,在浏览器中访问“http://www.example.com/admin/”页面。

    当您在60秒内访问页面10次,在第11次访问该页面时,页面弹出验证码。此时,您需要输入验证码才能继续访问。

  4. 返回Web应用防火墙管理控制台,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,您可以查看该防护事件。