
# 配置精准访问防护规则定制化防护策略
网站接入WAF后，WAF默认不生效精准访问防护。您可以根据实际业务情况，针对常见HTTP字段（例如IP、路径、Referer、User Agent、Params等）进行条件组合，筛选指定访问请求（例如，拦截特定攻击请求、特定URL请求、指定文件类型等），可用于盗链、网站管理后台保护等场景。
#### 约束条件
| 类别                        | 约束说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|
| 接入方式与版本限制                 | - **云模式-CNAME接入/云模式-ELB接入** ：仅**标准版** 、**专业版** 、**企业版**支持该功能。  - **独享模式** **接入**：支持该功能。                                                                                                                                                                                                                                                                                     |
| "全检测"检测模式                 | 仅云模式**专业版** 、**企业版**支持该功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 引用表                       | - 仅云模式**标准版** 、**专业版** 、**企业版**支持引用表管理功能。  - 当"逻辑"关系选择"包含任意一个"、"不包含任意一个"、"等于任意一个"、"不等于任意一个"、"前缀为任意一个"、"前缀不为任意一个"、"后缀为任意一个"或者"后缀不为任意一个"时，需要选择引用表。创建引用表的详细操作请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。                                                                                                                              |
| 条件字段                      | 条件字段约束限制等详细说明，请参见[条件字段说明](https://support.huaweicloud.com/usermanual-waf/waf_01_3271.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Response相关条件字段            | Response相关条件字段包括**Response Code** 、**Response Length** 、**Response Time** 、**Response Header** 和**Response Body** 字段。不同接入方式和服务版本支持情况不同： - **云模式-CNAME接入** ：**企业版** 支持，其他版本需[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)申请开通。  - **云模式-ELB接入**：不支持该功能。  - **独享模式接入**：支持该功能。   |
| Method条件字段                | "条件"字段配置为"Method"时，"内容"不支持配置为"TRACE"和"CONNECT"，否则会导致解析报错。                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| TLS指纹（JA3）、TLS指纹（JA4）条件字段 | 如果WAF前有七层的反向代理（例如ELB），且其指纹会随Header传递给WAF时，"条件"字段配置为"TLS指纹（JA3）"、"TLS指纹（JA4）"后，还需要为独享模式接入的防护域名[配置JA3/JA4指纹标记](https://support.huaweicloud.com/usermanual-waf/waf_01_3157.html)，JA3/JA4指纹防御功能才会生效。                                                                                                                                                                                                                                                                                                                                     |
| 规则生效时间                    | 添加或修改防护规则后，规则生效需要等待几分钟。规则生效后，您可以在"防护事件"页面，[查看防护效果](https://support.huaweicloud.com/usermanual-waf/waf_01_0156.html)。                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
#### 前提条件
- 已[将网站成功接入WAF](https://support.huaweicloud.com/usermanual-waf/waf_01_1108.html)。
- 如果使用独享WAF，确保独享引擎已升级到最新版本，具体的操作请参见[升级独享引擎实例](https://support.huaweicloud.com/usermanual-waf/waf_01_0253_4.html)。
 
#### 配置精准访问防护规则
1. [登录Web应用防火墙控制台](https://console.huaweicloud.com/waf/?locale=zh-cn)。
2. 在控制台左上角，单击![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002304713360.png)图标，选择区域或项目。
3. (可选) 如果您已开通企业项目，在左侧导航栏上方单击"按企业项目筛选"下拉框，选择您所在的企业项目。完成后，页面将为您展示该企业项目下的相关数据。
4. 在左侧导航栏，选择"防护策略 \> WAF核心防护"。
5. 在防护策略列表，单击目标策略名称，进入目标策略的防护规则配置页面。 
   您也可以在"资产管理 \> 防护对象"页面，单击目标域名"防护策略"列的"已开启防护项"后的数字，进入网站绑定的防护策略的规则配置页面。
   
   
6. 单击"精准访问防护"配置框，确认已开启精准访问防护规则。 
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000001761737873.png)：开启状态。
   
   
7. 在"精准访问防护配置"页面，设置"检测模式"。 
   精准访问防护规则提供了两种检测模式：
   - 短路检测：当用户的请求符合精准防护规则中的拦截条件时，WAF引擎便立刻终止检测，进行拦截。
   
   - 全检测：当用户的请求符合精准防护规则中的拦截条件时，不会立即拦截，WAF引擎会按照检测顺序，继续执行后续防护规则（例如扫描防护、网站反爬虫、CC攻击防护）的检测，待其他防护规则检测完成后，进行拦截。
    
   
   
8. 在"精准访问防护"规则配置列表左上方，单击"添加规则"。
9. 添加精准访问防护规则。 
   以[图1]的配置为例，其含义为：当用户访问目标域名下包含"/admin"的URL地址时，WAF将拦截该用户访问目标URL地址。
   如果不确定配置的精准访问防护规则是否会使WAF误拦截正常的访问请求，您可以先将精准访问防护规则的"防护动作"设置为"仅记录"，在"防护事件"页面查看防护事件，确认WAF不会误拦截正常的访问请求后，再将该精准访问防护规则的"防护动作"设置为"拦截"。
   图1添加精准访问防护规则   
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002112501150.png "点击放大")
    表1规则参数说明 
   | 参数   | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 取值样例                                                                                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|:---|
   | 规则名称 | 自定义规则名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | waftest                                                                                                                                                                                                                                                                                                                                                                                      |
   | 描述   | 设置规则的备注信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | --                                                                                                                                                                                                                                                                                                                                                                                           |
   | 条件列表 | 配置要匹配的请求特征。请求一旦命中该特征，WAF则按照配置的规则处置该请求。 - 至少需要配置一项，本条规则才能生效。配置多个条件时，需同时满足，本条规则才生效。  - 单击"添加条件"增加新的条件，最多可添加30个条件。  - 支持添加条件分组。 该功能为公测功能，需[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)申请开通。 - 组内生效条件：命中组内其中一个条件，该组条件生效。单击"添加条件"，可增加一个组内限速条件。  - 组间生效条件： - **and分组**生效：所有and分组同时生效，该组合生效。单击"添加and分组"，可增加一个and分组。  - **or分组**生效：其中一个分组生效，该组合即可生效。单击"添加or分组"，可增加一个or分组。       [条件](https://support.huaweicloud.com/usermanual-waf/waf_01_3271.html)中各参数配置说明如下： - **字段** ：指用于检测、匹配请求内容的具体数据维度。详细说明请参见[条件字段说明](https://support.huaweicloud.com/usermanual-waf/waf_01_3271.html)。 如果WAF前有七层的反向代理（例如ELB），且其指纹会随Header传递给WAF时，"条件"字段配置为"TLS指纹（JA3）"、"TLS指纹（JA4）"后，还需要为独享模式接入的防护域名[配置JA3/JA4指纹标记](https://support.huaweicloud.com/usermanual-waf/waf_01_3157.html)，JA3/JA4指纹防御功能才会生效。   - **子字段** "IPv4""IPv6""Params""Cookie""Response Header""Header" - 子字段的长度不能超过2048字符。  - 当"字段"选择"Response Header"或者"Header"，且"子字段"非"所有子字段"、"任意子字段"时，支持"子字段大小写敏感"。     - **逻辑** ：在"逻辑"下拉列表中选择需要的逻辑关系。 - 选择"包含任意一个"、"不包含任意一个"、"等于任意一个"、"不等于任意一个"、"前缀为任意一个"、"前缀不为任意一个"、"后缀为任意一个"或者"后缀不为任意一个"时，"内容"需要选择引用表名称，创建引用表的详细操作请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。  - "不包含任意一个"、"不等于任意一个"、"前缀不为任意一个"、"后缀不为任意一个"是指当访问请求中字段不包含、不等于、前/后缀不为引用表中设置的任何一个值时，WAF将进行防护动作（拦截、放行或仅记录）。例如，设置"路径"字段的逻辑为"不包含所有"，选择了"test"引用表，如果"test"引用表中设置的值为test1、test2和test3，则当访问请求的路径不包含test1、test2或test3时，WAF将进行防护动作。    - **内容**：输入或者选择条件匹配的内容。  - **大小写敏感** ："字段"配置为"路径"、"User Agent"、"Params"、"Cookie"、"Referer"、"Header"、"Response Header"、"Response Body"时，支持配置大小写敏感。 开启后，系统在检测配置的内容时，将区分大小写。能够帮助系统更准确地识别和处理各种请求，从而有效提升策略的精确度和有效性。    | - "路径"包含"/admin/"  - "User Agent"前缀不为"mozilla/5.0"  - "IP"等于"192.168.2.3"  - "Cookie\[key1\]"前缀不为"jsessionid"   |
   | 深度检测 | 当条件列表中配置了"字段"为如下字段时： - 路径："内容"支持"大小写敏感"。  - User Agent："内容"支持"大小写敏感"。  - Params："内容"支持"大小写敏感"。  - Cookie："内容"支持"大小写敏感"。  - Referer："内容"支持"大小写敏感"。  - Header："子字段"支持"大小写敏感"，"内容"支持"大小写敏感"。   开启"深度检测"后，可实现"子字段"和"内容"的解码和忽略大小写后再匹配条件限制。深度检测支持Base64解码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                            |
   | 防护动作 | 设置请求命中规则时要执行的处置动作。 说明： 选择防护动作前，需综合考虑当前防护规则的检测优先级，避免高优先级规则因防护动作配置不当，影响低优先级规则的检测。 - 拦截：表示拦截命中规则的请求。 拦截防护动作默认拦截页面为"默认设置"，支持自定义拦截页面。 - **拦截页面** 当"防护动作"选择拦截时，需要设置该参数，即请求满足条件特征时，返回的错误页面。 - **默认设置**（默认）：返回的错误页面为系统默认的拦截页面。  - **自定义** ：自定义返回页面的返回码、响应标头、页面类型、页面内容。更多信息，可参考[修改拦截返回页面](https://support.huaweicloud.com/usermanual-waf/waf_01_0154.html)。    - **攻击惩罚** 配置针对访问者的IP、Cookie或Params的长时间拦截规则、短时间拦截规则后，当请求命中规则时，WAF会根据攻击惩罚自动封禁访问者。更多信息，请参见[配置攻击惩罚标准封禁访问者指定时长](https://support.huaweicloud.com/usermanual-waf/waf_01_0271.html)。     - **放行**：表示不拦截命中规则的请求，直接放行。  - **仅记录**：表示不拦截命中规则的请求，只记录。  - **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. 单击确定，添加的精准访问防护规则展示在精准访问防护规则列表中。 
    如果要生效该防护规则，需确认防护规则所属防护策略已[绑定防护域名](https://support.huaweicloud.com/usermanual-waf/waf_01_0074.html)，即绑定策略生效目标。一条防护策略可以适用于多个防护域名，但一个防护域名只能绑定一个防护策略。
    完成以上配置后，您还可以执行以下操作：
    - **查看规则状态**：在防护规则列表，查看已添加的规则。此时，"规则状态"默认为"已开启"。
    
    - **关闭规则**：如果您暂时不想使该规则生效，可在目标规则"操作"列，单击"关闭"。
    
    - **删除规则**：如果您不再使用该规则，可在目标规则"操作"列，单击"删除"。
    
    - **复制规则**：在目标规则"操作"列，单击"更多 \> 复制"或"更多 \> 复制"，修改或复制已添加的防护规则。
    
    - **验证防护效果** ：
      1. 清理浏览器缓存，在浏览器中访问"http://www.example.com/admin"页面或者包含/admin的任意页面，正常情况下，WAF会拦截满足条件的访问请求，返回拦截页面。
      
      2. 在"防护事件"页面，查看防护日志。
       
    
    
    
    
 
#### 配置示例
您可以参考以下配置示例，配置精准访问防护规则。
#### 拦截特定的攻击请求
以某类特定的WordPress反弹攻击为例，通过分析发现其特征是"User-Agent"字段都包含"WordPress"，如[图2]所示。因此，可针对该特征设置精准访问控制规则，拦截该类WordPress反弹攻击请求。
图2WordPress反弹攻击   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0168632822.png "点击放大")
以[图3]为例，可实现防护效果：当请求的"User-Agent"字段包含"WordPress"时，WAF将拦截该请求。
图3**User Agent配置**   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002148347821.png "点击放大")
#### 拦截特定的URL请求
如果网站遭遇大量IP访问某个特定且不存在的URL，可针对路径配置精准访问防护规则拦截所有此类请求，从而降低源站服务器的资源消耗。假设路径"/xxxx"不存在，以[图4]为例，可实现防护效果：当请求访问"路径"包含"/xxxx"时，WAF将拦截该请求。
图4特定的URL拦截   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002112927398.png "点击放大")
#### 拦截字段为空值的请求
如果需要拦截包含大量为空值的字段的请求时，可针对为空的字段配置精准访问防护规则。以[图5]为例，可实现防护效果：当请求"Header"的"referer"长度为0，即请求中未携带referer头部信息时，WAF将拦截该请求。
图5Referer空值拦截   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002164742733.png "点击放大")
#### 拦截指定文件类型（zip、tar、docx等）
如果不希望指定文件类型被访问，可针对路径后缀配置精准防护规则拦截相关请求。以[图6]为例，可实现防护效果：当请求试图访问后缀为".zip"格式的文件时，WAF将拦截该请求。
图6拦截特定文件类型请求   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002121356716.png "点击放大")
#### 防盗链
通过配置Referer匹配字段的访问控制规则，您可以拦截特定网站的盗链。例如，您发现"https://abc.blog.com"大量盗用本站的图片，您可以配置精准访问防护规则拦截相关访问请求。
图7防盗链   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002156718837.png "点击放大")
#### 仅允许指定IP访问
配置两条精准访问防护规则，一条将要放行的IP加入IP白名单（优先级为1），一条拦截所有IP的请求（优先级为2）。如此，可实现防护效果：仅白名单IP（192.168.2.3）允许访问，其他IP请求被WAF拦截。
图8拦截所有的请求   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002007942858.png "点击放大")
图9放行指定IP   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002043823985.png "点击放大")
#### 仅允许指定IP访问特定URL
配置两个条件：
- 一条定义允许访问的URL特征，如[图10]所示，此处URL特征为"路径"包含"/admin"。
- 一条指定允许访问的IP，如[图10]所示，此处白名单IP为192.168.2.3。
如此，可实现防护效果：仅允许白名单IP 192.168.2.3访问包含"/admin"的路径。
图10放行白名单IP访问特定路径   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002124508402.png "点击放大")
