更新时间:2026-07-03 GMT+08:00
分享

配置攻击惩罚的流量标识

WAF流量标识的本质是从客户端请求中,提取可唯一识别请求主体的关键信息,是攻击惩罚功能的核心前提和基础,可为攻击惩罚提供识别依据,精准定位恶意请求来源的身份标签,区分合法与恶意请求的主体,并设定惩罚目标。

WAF流量标识支持如下标记:
  • IP标记:从HTTP请求头(如X-Forwarded-For)中提取客户端真实IP,未配置时WAF默认读取客户端IP,是识别“哪台机器发起请求”的核心依据,对应IP维度(机器)惩罚。
  • Session标记:从请求的Cookie中提取会话ID(如 JSESSIONID),是识别“哪个浏览器会话发起请求”的依据,需与业务Cookie字段严格匹配,对应Cookie维度(浏览器会话)惩罚。
  • User标记:从请求参数(如 uid、username)中提取业务用户标识,是识别“哪个业务账号发起请求”的依据,需与业务接口参数一致,对应Params维度(业务账号)惩罚。

流量标识配置越精准,惩罚越能精准命中恶意主体,避免误封、漏封。

实现原理

流量标识和攻击惩罚的实现,整体遵循“请求拦截→标识提取→攻击判定→惩罚执行”的全流程闭环。详细原理如下:
  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恶意请求的攻击惩罚功能前,您需要分别配置对应域名的Session、User标记。

配置攻击惩罚的流量标识

  1. 登录Web应用防火墙控制台
  2. 在控制台左上角,单击图标,选择区域或项目。
  3. (可选) 如果您已开通企业项目,在左侧导航栏上方单击“按企业项目筛选”下拉框,选择您所在的企业项目。完成后,页面将为您展示该企业项目下的相关数据。
  4. 在左侧导航栏,单击“网站设置”
  5. “网站设置”页面,单击目标网站域名。
  6. “流量标识”栏中,单击“IP标记”“Session标记”“User标记”后的,分别设置流量标记,相关参数说明如表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中提取会话ID(如JSESSIONID),需与业务Cookie字段严格匹配,用于Cookie恶意请求的攻击惩罚功能。在选择Cookie拦截的攻击惩罚功能前,必须配置该标识。

    只能由数字、字母、中划线(-)、下划线(_)和半角句号(.)组成。

    sessiontest

    User标记

    从请求参数(如uid、username)中提取业务用户标识,用于Params恶意请求的攻击惩罚功能。在选择Params拦截的攻击惩罚功能前,必须配置该标识。

    只能由数字、字母、中划线(-)、下划线(_)和半角句号(.)组成。

    Params

    配置建议

    场景

    核心需求

    配置方案

    电商/APP后端接口(有登录态)

    防范单IP批量攻击、单账号恶意操作(如恶意下单、恶意评论)

    IP标记+User标记双配置

    • IP标记:X-Forwarded-For,cdn-src-ip(若经过CDN);$remote_addr(若未经过CDN)
    • Session标记:无需配置(不依赖Cookie惩罚)
    • User标记:uid(或userId,与APP接口用户标识字段一致)

    后台管理系统(无CDN,有会话验证)

    限制异常IP访问、防范单浏览器高频登录尝试

    IP标记+Session标记双配置

    • IP标记:$remote_addr(未经过CDN,直接获取TCP连接IP)
    • Session标记:JSESSIONID(Tomcat容器)或PHPSESSID(PHP容器)
    • User标记:无需配置(不依赖Params惩罚)

    无登录态公开接口(如官网静态接口)

    防范单IP批量扫描、CC攻击

    仅配置IP标记

    • IP标记:X-Forwarded-For,cdn-src-ip(若经过CDN)
    • Session标记:无需配置
    • User标记:无需配置

    经过多层CDN/ELB的网站

    精准获取客户端真实IP,避免误封CDN节点IP

    自定义IP标记字段,优先读取最外层代理传递的真实IP

    • IP标记:X-Real-IP,X-Forwarded-For,cdn-src-ip(按代理层级排序,最外层在前)
    • Session标记:sessionId(根据业务Cookie字段配置)
    • User标记:userName(若有登录态)

    自定义请求头防护场景(如设备绑定、渠道管控)

    防范特定设备、非法渠道的恶意请求,如伪造设备标识、非授权渠道访问

    IP标记 + Header标记双配置

    • IP标记:X-Forwarded-For,cdn-src-ip(若经过CDN);$remote_addr(若未经过CDN)
    • Session标记:无需配置(不依赖Cookie惩罚)
    • User标记:无需配置(不依赖Params惩罚)

  7. 单击“确定”,完成标记信息配置。

    完成以上配置后,在访问日志中,筛选目标域名、指定时间范围,查看相关字段,能正常显示对应信息,说明标记配置生效。

    也可以配置对应维度的配置攻击惩罚,并模拟对应维度的恶意请求(如单IP高频访问、单Session多次提交恶意参数、携带特定Header字段的恶意请求)后,攻击被拦截,说明标记配置生效。

相关文档