
# 配置攻击惩罚的流量标识
WAF流量标识的本质是从客户端请求中，提取可唯一识别请求主体的关键信息，是攻击惩罚功能的核心前提和基础，可为攻击惩罚提供识别依据，精准定位恶意请求来源的身份标签，区分合法与恶意请求的主体，并设定惩罚目标。
WAF流量标识支持如下标记：
- IP标记：从HTTP请求头（如X-Forwarded-For）中提取客户端真实IP，未配置时WAF默认读取客户端IP，是识别"哪台机器发起请求"的核心依据，对应IP维度（机器）惩罚。
- Session标记：从请求的Cookie中提取会话ID（如 JSESSIONID），是识别"哪个浏览器会话发起请求"的依据，需与业务Cookie字段严格匹配，对应Cookie维度（浏览器会话）惩罚。
- User标记：从请求参数（如 uid、username）中提取业务用户标识，是识别"哪个业务账号发起请求"的依据，需与业务接口参数一致，对应Params维度（业务账号）惩罚。
- Header标记：从HTTP请求头中提取自定义指定字段的信息，是识别"自定义请求标识"的依据，适用于IP、Session、User标记无法覆盖的特殊防护场景，需与业务自定义请求头字段严格匹配，对应Header维度惩罚。
 
流量标识配置越精准，惩罚越能精准命中恶意主体，避免误封、漏封。
![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/note_3.0-zh-cn.png)
配置针对Header的攻击惩罚前，需[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)申请开通。
#### 原理介绍
流量标识和攻击惩罚的实现，整体遵循"请求拦截→标识提取→攻击判定→惩罚执行"的全流程闭环。详细原理如下：
1. **请求拦截**：客户端请求首先被华为云WAF引擎拦截，避免恶意请求直接到达后端服务器。
2. **标识提取**：WAF根据配置的IP标记、Session标记、User标记、Header标记，从HTTP请求头、Cookie、请求参数、请求头中提取对应信息。
3. **攻击判定**：结合预设的攻击惩罚规则，对提取到的标识进行"攻击计数"------同一标识在规定时间内发起的恶意请求次数累计，达到预设阈值则判定为"恶意主体"。
4. **惩罚执行**：针对判定为恶意的标识，WAF执行对应处置，且惩罚仅作用于该标识对应的主体（如封禁恶意IP、限制异常Session、禁止违规账号访问、特定请求头标识的请求等），不影响其他合法主体的正常访问。
 
若未配置对应流量标识，该维度的攻击惩罚功能将直接失效，WAF仅能基于默认规则进行基础防护，防护精度大幅下降。
#### 典型应用场景
- 电商、APP后端接口：需防范单IP批量扫描、账号暴力破解、单用户高频恶意请求。
- 后台管理系统：需限制异常会话、非法IP访问，保障管理入口安全。
- 经过CDN/ELB代理的网站：需精准获取客户端真实IP，避免误封、漏封。
- 多用户业务平台：需基于业务账号（User）维度，惩罚账号级恶意行为（如恶意注册、恶意下单）。

- 自定义防护场景：需基于HTTP请求头自定义字段（如设备标识、接口密钥、渠道标识）进行攻击惩罚，如防范特定设备、特定渠道的恶意请求。
 
#### 约束条件
- 如果配置了IP标记，为了确保IP标记生效，请您确认防护网站在接入WAF前已使用了7层代理，且防护网站的"是否使用七层代理"为"是"。 如果未配置IP标记，WAF默认通过客户端IP进行识别**。**
  
- 使用Cookie、Params、Header恶意请求的攻击惩罚功能前，您需要分别配置对应域名的Session、User、Header标记。
 
#### 前提条件
[防护网站已接入WAF](https://support.huaweicloud.com/usermanual-waf/waf_01_1108.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. 在左侧导航栏，选择"资产管理 \> 防护对象"。
5. 在"防护对象"页面，单击目标防护域名。
6. 在"流量标识"区域，单击"IP标记"、"Session标记"、"User标记"、"Header标记"后的![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002055762373.png)，分别设置流量标记，相关参数说明如[表1]所示。
   
    表1流量标识参数说明 
   | 标识        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 配置样例                |
   |:---|:---|:---|
   | IP标记      | 客户端最原始的IP地址的HTTP请求头字段。配置后，WAF从HTTP请求头（如X-Forwarded-For）中提取客户端真实IP，未配置时WAF默认读取客户端IP。 网站接入时，配置的IP标识，会同步到流量标识的IP标记中。支持修改： - **$remote_sockaddr**：当WAF前无其他代理时，如果报文存在TOA（TCP Option Address），且不希望WAF以TCP Option Address作为客户端IP时，选择该选项。配置后，WAF会以报文的3层源IP作为客户端真实IP。  - **$remote_addr**：当WAF前存在四层代理时，如果希望WAF以TCP连接IP作为客户端真实IP，选择该选项。  - **x-forwarded-for**：当WAF前存在七层代理时，选择该选项后，WAF会以X-Forwarded-For（XFF）中的首个IP地址作为客户端真实IP。  - **自定义** ：当WAF前存在七层代理时，选择该项并配置字段名后，WAF优先从配置的字段中获取客户端真实IP。配置多个字段时，WAF从左到右依次读取客户端真实IP。 如果WAF从自定义字段中未获取到客户端真实IP，将依次从CDN-Src-Ip、X-Real-Ip、X-Forwarded-For、$remote_addr字段获取客户端真实IP。    该字段用于保存客户端的真实IP地址，可自定义字段名且支持配置多个字段（多个字段名以英文逗号隔开），配置后，WAF优先从配置的字段中获取客户端真实IP（配置多个字段时，WAF从左到右依次读取）。 - 如果想以TCP连接IP作为客户端IP，"IP标记"应配置为"$remote_addr"。  - 如果报文存在TOA，而不想以"TCP Option Address"作为客户端IP，"IP标记"应配置为"$remote_sockaddr"，并将独享引擎版本升级到24年5月及之后的版本，配置后会以报文的3层源IP作为客户端IP。  - 如果从自定义字段中未获取到客户端真实IP，WAF将依次从cdn-src-ip，x-real-ip，x-forwarded-for，$remote_addr字段获取客户端IP。   | **x-forwarded-for** |
   | Session标记 | 用于Cookie恶意请求的攻击惩罚功能。在选择Cookie拦截的攻击惩罚功能前，必须配置该标识。 只能由数字、字母、中划线（-）、下划线（_）和半角句号（.）组成。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | sessiontest         |
   | User标记    | 用于Params恶意请求的攻击惩罚功能。在选择Params拦截的攻击惩罚功能前，必须配置该标识。 只能由数字、字母、中划线（-）、下划线（_）和半角句号（.）组成。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Params              |
   | Header标记  | 用于Header恶意请求的攻击惩罚功能。在选择Header拦截的攻击惩罚功能前，必须配置该标识。 只能由数字、字母、中划线（-）、下划线（_）和半角句号（.）组成。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Referer             |
      
   
   
7. 单击"确定"，完成标记信息配置。
 
 #### 配置建议
流量标识配置越精准，攻击惩罚越能够精准命中恶意访问主体，减少误封与漏封。请结合自身业务场景参考下表选择流量标记组合。
| 场景                     | 核心需求                             | 配置方案                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| 电商/APP后端接口（有登录态）       | 防范单IP批量攻击、单账号恶意操作（如恶意下单、恶意评论）    | IP标记+User标记双配置 - IP标记：X-Forwarded-For,cdn-src-ip（若经过CDN）；$remote_addr（若未经过CDN）  - Session标记：无需配置（不依赖Cookie惩罚）  - User标记：uid（或userId，与APP接口用户标识字段一致）    - Header标记：无需配置（不依赖请求头惩罚）    |
| 后台管理系统（无CDN，有会话验证）     | 限制异常IP访问、防范单浏览器高频登录尝试            | IP标记+Session标记双配置 - IP标记：$remote_addr（未经过CDN，直接获取TCP连接IP）  - Session标记：JSESSIONID（Tomcat容器）或PHPSESSID（PHP容器）  - User标记：无需配置（不依赖Params惩罚）    - Header标记：无需配置（不依赖请求头惩罚）               |
| 无登录态公开接口（如官网静态接口）      | 防范单IP批量扫描、CC攻击                   | 仅配置IP标记 - IP标记：X-Forwarded-For,cdn-src-ip（若经过CDN）  - Session标记：无需配置  - User标记：无需配置    - Header标记：无需配置                                                                        |
| 经过多层CDN/ELB的网站         | 精准获取客户端真实IP，避免误封CDN节点IP          | 自定义IP标记字段，优先读取最外层代理传递的真实IP - IP标记：X-Real-IP,X-Forwarded-For,cdn-src-ip（按代理层级排序，最外层在前）  - Session标记：sessionId（根据业务Cookie字段配置）  - User标记：userName（若有登录态）    - Header标记：无需配置（不依赖请求头惩罚）   |
| 自定义请求头防护场景（如设备绑定、渠道管控） | 防范特定设备、非法渠道的恶意请求，如伪造设备标识、非授权渠道访问 | IP标记 + Header标记双配置 - IP标记：X-Forwarded-For,cdn-src-ip（若经过CDN）；$remote_addr（若未经过CDN）  - Session标记：无需配置（不依赖Cookie惩罚）  - User标记：无需配置（不依赖Params惩罚）  - Header标记：device-id,channel（分别对应设备标识、渠道标识，与业务请求头字段一致）                   |
   
 #### 验证方法
在访问日志中，筛选目标域名、指定时间范围，查看相关字段，能正常显示对应信息，说明标记配置生效。
也可以配置对应维度的[配置攻击惩罚](https://support.huaweicloud.com/usermanual-waf/waf_01_0271.html)，并模拟对应维度的恶意请求（如单IP高频访问、单Session多次提交恶意参数、携带特定Header字段的恶意请求）后，攻击被拦截，说明标记配置生效。
#### 相关操作
[配置攻击惩罚标准封禁访问者指定时长](https://support.huaweicloud.com/usermanual-waf/waf_01_0271.html)
