WEB应用防火墙 WAF-WAF获取真实IP是从报文中哪个字段获取到的?

时间:2024-07-04 15:38:49

WAF获取真实IP是从报文中哪个字段获取到的?

WAF引擎会根据防护规则确定是否代理转发请求去后端,如果WAF配置了基于IP的规则(比如黑白名单、地理位置、基于IP的精准访问防护规则),那么WAF引擎就会获取真实IP后才能放行或者拦截代理请求。获取真实IP的方法基于以下原则:

  • 在WAF中开启了代理,即添加 域名 时,“是否已使用代理”选择了“四层代理”“七层代理”,按以下顺序获取源IP:
    1. 优先取“upstream”中配置的源IP头列表,即在域名的基本信息页面配置的“IP标记”,具体的操作请参见配置攻击惩罚的流量标识。如果未取到,执行2

      如果想以TCP连接IP作为客户端IP,“IP标记”应配置为“remote_addr”

    2. 取config中配置的源IP头列表“cdn-src-ip”字段对应的值,未取到,执行3
    3. “x-real-ip”字段的值,未取到,执行4
    4. “x-forwarded-for”字段左边开始第一个公网IP,未取到,执行5
    5. 取WAF看到的TCP连接IP,“remote_addr”字段对应的值。
  • 在WAF中未开启代理,即添加域名时,“是否已使用代理”选择了“无代理”,直接取“remote_ip”字段的值为真实IP。

获取客户端的真实IP的具体方法,详见获取客户端真实IP

support.huaweicloud.com/waf_faq/waf_01_4139.html