文档首页/ Web应用防火墙 WAF/ 用户指南/ 配置防护策略/ 配置防护规则/ 配置精准访问防护规则定制化防护策略
更新时间:2025-08-19 GMT+08:00
分享

配置精准访问防护规则定制化防护策略

网站接入WAF后,WAF默认不生效精准访问防护。您可以根据实际业务情况,针对常见HTTP字段(例如IP、路径、Referer、User Agent、Params等)进行条件组合,筛选指定访问请求(例如,拦截特定攻击请求、特定URL请求、指定文件类型等),可用于盗链、网站管理后台保护等场景。

前提条件

约束条件

  • 云模式入门版不支持该功能。
  • 云模式入门版和标准版不支持“全检测”检测模式。
  • 仅云模式专业版、企业版支持引用表管理功能。云模式入门版、标准版不支持该功能。
  • “云模式-ELB接入”方式不支持“Response Code”、“Response Length”、“Response Time”、“Response Header”和“Response Body”字段。“云模式-CNAME接入”“独享模式接入”提交工单申请开通。
  • 当精准访问防护规则的“防护动作”设置为“拦截”时,您可以配置攻击惩罚标准封禁访问者指定时长。配置攻击惩罚后,如果访问者的IP、Cookie或Params恶意请求被拦截时,WAF将根据攻击惩罚设置的拦截时长来封禁访问者。
  • 配置的“路径”“内容”不能包含特殊字符(<>*)。
  • 添加或修改防护规则后,规则生效需要等待几分钟。规则生效后,您可以在“防护事件”页面查看防护效果。
  • 如果WAF前有七层的反向代理(例如ELB),且其指纹会随Header传递给WAF时,“条件”字段配置为“TLS指纹(JA3)”“TLS指纹(JA4)”后,还需要为独享模式接入的防护域名配置JA3/JA4指纹标记,JA3/JA4指纹防御功能才会生效。

配置精准访问防护规则

  1. 登录Web应用防火墙控制台
  2. 在控制台左上角,单击图标,选择区域或项目。
  3. (可选) 如果您已开通企业项目,在左侧导航栏上方,单击“按企业项目筛选”下拉框,选择您所在的企业项目。完成后,页面将为您展示该企业项目下的相关数据。
  4. 在左侧导航栏,单击“防护策略”
  5. 单击目标策略名称,进入目标策略的防护规则配置页面。

    在配置防护规则前,请确认目标防护策略已绑定防护域名,即绑定策略生效目标。一条防护策略可以适用于多个防护域名,但一个防护域名只能绑定一个防护策略。

  6. 单击“精准访问防护”配置框,确认已开启精准访问防护规则。

    :开启状态。

  7. “精准访问防护配置”页面,设置“检测模式”

    精准访问防护规则提供了两种检测模式:
    • 短路检测:当用户的请求符合精准防护中的拦截条件时,便立刻终止检测,进行拦截。
    • 全检测:当用户的请求符合精准防护中的拦截条件时,不会立即拦截,它会继续执行其他防护的检测,待其他防护的检测完成后进行拦截。

  8. “精准访问防护”规则配置列表左上方,单击“添加规则”
  9. 在弹出的对话框中,根据添加精准访问防护规则。

    图1的配置为例,其含义为:当用户访问目标域名下包含“/admin”的URL地址时,WAF将拦截该用户访问目标URL地址。

    如果不确定配置的精准访问防护规则是否会使WAF误拦截正常的访问请求,您可以先将精准访问防护规则的“防护动作”设置为“仅记录”,在“防护事件”页面查看防护事件,确认WAF不会误拦截正常的访问请求后,再将该精准访问防护规则的“防护动作”设置为“拦截”

    图1 添加精准访问防护规则
    表1 规则参数说明

    参数

    参数说明

    取值样例

    规则名称

    自定义规则名称。

    waftest

    规则描述(可选)

    设置规则的备注信息。

    --

    条件列表

    配置要匹配的请求特征。请求一旦命中该特征,WAF则按照配置的规则处置该请求。

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

      该功能为公测功能,需提交工单申请开通。

      • 组内生效条件:命中组内其中一个条件,该组条件生效。单击“添加条件”,可增加一个组内限速条件。
      • 组间生效条件:
        • and分组生效:所有and分组同时生效,该组合生效。单击“添加and分组”,可增加一个and分组。
        • or分组生效:其中一个分组生效,该组合即可生效。单击“添加or分组”,可增加一个or分组。
    • “路径”包含“/admin/”
    • “User Agent”前缀不为“mozilla/5.0”
    • “IP”等于“192.168.2.3”
    • “Cookie[key1]”前缀不为“jsessionid”

    深度检测

    当条件列表中配置了“字段”为如下字段时:
    • 路径:“内容”支持“大小写敏感”
    • User Agent:“内容”支持“大小写敏感”
    • Params:“内容”支持“大小写敏感”
    • Cookie:“内容”支持“大小写敏感”
    • Referer:“内容”支持“大小写敏感”
    • Header:“子字段”支持“大小写敏感”“内容”支持“大小写敏感”

    开启“深度检测”后,可实现“子字段”“内容”的解码和忽略大小写后再匹配条件限制。深度检测支持Base64解码。

    -

    防护动作

    设置请求命中规则时要执行的处置动作。

    • 拦截:表示拦截命中规则的请求。

      拦截防护动作默认“拦截页面”“默认设置”,支持自定义拦截页面。

      • 拦截页面

        “防护动作”选择“拦截”时,需要设置该参数,即请求满足条件特征时,返回的错误页面。

        • 默认设置(默认):返回的错误页面为系统默认的拦截页面。
        • 自定义:自定义返回页面的返回码、响应标头、页面类型、页面内容。更多信息,可参考修改拦截返回页面
        • 重定向:配置防护网站的请求重定向到URL地址。

          重定向URL的根域名必须和当前被防护的域名(包括泛域名)保持一致。例如,被防护的域名为www.example.com,端口为8080,则重定向URL可设置为“http://www.example.com:8080/error.html”

      • 攻击惩罚

        配置针对访问者的IP、Cookie或Params的长时间拦截规则、短时间拦截规则后,当请求命中规则时,WAF会根据攻击惩罚自动封禁访问者。更多信息,请参见配置攻击惩罚标准封禁访问者指定时长

    • 放行:表示不拦截命中规则的请求,直接放行。
    • 仅记录:表示不拦截命中规则的请求,只记录。
    • JS挑战:表示WAF向客户端返回一段正常浏览器可以自动执行的JavaScript代码。如果客户端正常执行了JavaScript代码,则WAF在Token有效期内放行该客户端的所有请求(不需要重复验证),否则拦截请求。

      Token有效期默认为30分钟,支持自定义为60~86,400秒。

      注意:
      • 当初始页面自动加载Ajax请求时,需要将包含这个Ajax的页面配置精准防护规则,并配置JS挑战动作,比如Ajax接口的Referer页面或/主页,防止源站JS自动触发的异步接口请求先于WAF的SDK执行,造成页面显示异常。如果静态页面不会自动触发异步接口,则无需进行该配置。
      • 请求的Referer跟当前的Host不一致时,JS挑战不生效。

    拦截

    生效时间

    设置规则生效的时间。
    • 立即生效:防护规则开启后,规则立即生效。
    • 自定义:自定义规则生效时间段。

    “立即生效”

    优先级

    设置该条件规则检测的顺序值。如果您设置了多条规则,则多条规则间有先后匹配顺序,即访问请求将根据您设定的精准访问控制规则优先级依次进行匹配,优先级较小的精准访问控制规则优先匹配。

    您可以通过优先级功能对所有精准访问控制规则进行排序,以获得最优的防护效果。

    如果多条精准访问控制规则的优先级取值相同,则WAF将根据添加防护规则的先后顺序进行排序匹配。

    5

  10. 单击确定,添加的精准访问防护规则展示在精准访问防护规则列表中。

    完成以上配置后,您还可以执行以下操作:

    • 查看规则状态:在防护规则列表,查看已添加的规则。此时,“规则状态”默认为“已开启”
    • 关闭规则:如果您暂时不想使该规则生效,可在目标规则“操作”列,单击“关闭”
    • 删除规则:如果您不再使用该规则,可在目标规则“操作”列,单击“删除”
    • 复制规则:在目标规则“操作”列,单击更多 > 修改更多 > 复制,修改或复制已添加的防护规则。
    • 验证防护效果
      1. 清理浏览器缓存,在浏览器中访问“http://www.example.com/admin”页面或者包含/admin的任意页面,正常情况下,WAF会拦截满足条件的访问请求,返回拦截页面。
      2. “防护事件”页面,查看防护日志。

配置示例:拦截特定的攻击请求

通过分析某类特定的WordPress反弹攻击,发现其特征是User-Agent字段都包含WordPress,如图2所示。

图2 WordPress反弹攻击

因此,可以设置精准访问控制规则,拦截该类WordPress反弹攻击请求。

图3 User Agent配置

配置示例:拦截特定的URL请求

如果您遇到有大量IP在访问某个特定且不存在的URL,您可以通过配置以下精准访问防护规则直接拦截所有该类请求,降低源站服务器的资源消耗,如图4所示。

图4 特定的URL拦截

配置示例:拦截字段为空值的请求

如果您需要拦截某个为空值的字段,您可以通过配置精准访问防护规则直接拦截该类请求,如图5所示。

图5 Referer空值拦截

配置示例:拦截指定文件类型(zip、tar、docx等)

通过配置路径字段匹配的文件类型,您可以拦截特定的文件类型。例如,您需要拦截“.zip”格式文件,您可以配置精准防护规则拦截“.zip”文件类型访问请求,如图6所示。

图6 拦截特定文件类型请求

配置示例:防盗链

通过配置Referer匹配字段的访问控制规则,您可以拦截特定网站的盗链。例如,您发现“https://abc.blog.com”大量盗用本站的图片,您可以配置精准访问防护规则拦截相关访问请求。

图7 防盗链

配置示例:单独放行指定IP的访问

配置两条精准访问防护规则,一条拦截所有的请求,如图8所示,一条单独放行指定IP的访问,如图9所示。

图8 拦截所有的请求
图9 放行指定IP

配置示例:放行指定IP的特定URL请求

通过配置多条“条件列表”,当访问请求同时满足条件列表时,可以实现放行指定IP的特定URL请求,如图10所示。

图10 放行指定IP访问特定路径

相关文档