雷池 WAF 如何配置才能正确获取到源 IP
齐天大圣孙悟空
更新于 5 个月前
不想看长文可以直接翻到最后看结论
经常有大哥反馈说雷池攻击日志里显示的 IP 有问题。
这里我来讲一下为什么一些情况下雷池显示的攻击 IP 会有问题。

默认情况下,雷池会通过 HTTP 连接的 Socket 套接字读取客户端 IP。在雷池作为最外层网管设备的时候这没有问题,雷池获取到的 IP 就是攻击者的真实 IP。
但是,有些情况下我们需要在雷池前面再叠加其他代理设备(如 Nginx,CDN,应用交付,API 网管等等)。在这种情况下,实际连接雷池的不是真正的网站用户,而是这些代理设备,这种情况下我们就需要根据实际网络拓扑来调整雷池的 IP 获取方式。
X-Forwarded-ForX-Forwarded-For 是一个相对通用的 HTTP 请求头。
HTTP 流量在经过代理时,由于网络连接被截胡,服务器无法得知真正的客户端 IP。这时代理设备会给当前的流量加上一个 X-Forwarded-For 头,里面的内容就是连接这个代理的客户端 IP。
下面这个例子中 HTTP 代理通过 X-Forwarded-For 头告诉服务器,真正的客户端地址是 1.2.3.4
1GET / HTTP/1.1
2Host: demo.waf-ce.chaitin.cn
3User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36
4X-Forwarded-For: 1.2.3.4
X-Forwarded-For 实际上是一个链式结构。如果流量经过了多层代理设备,X-Forwarded-For 会记录途径的所有 IP。
下面这个例子中 HTTP 代理通过 X-Forwarded-For 头告诉服务器,流量经过了三层代理,真正的客户端地址是 1.2.3.4,第一层代理的是 11.12.13.14,第二层代理的地址是 21.22.23.24,第三次代理的地址可以通过 Socket 连接直接来获取。
1GET / HTTP/1.1
2Host: demo.waf-ce.chaitin.cn
3User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36
4X-Forwarded-For: 1.2.3.4, 11.12.13.14, 21.22.23.24
IP-Forwarded-For 头靠谱么在代理设备和代理链路可信的情况下 IP-Forwarded-For 头传递的内容是很靠谱的,可以放心的试用。
但是呢,如果代理设备不可信,那么攻击者会通过伪造 IP-Forwarded-For 头的办法来实现伪造源 IP。
雷池全局配置里有一个这样的选项,专门用来解决这个问题。

雷池在这个配置里提供了几个选项,根据上面讲到的知识,大家可以根据实际情况来选择最适合的选项
X-Forwarded-For 中获取上一级代理的地址:在流量到达雷池之前还有一层代理设备(如 Nginx,CDN 等)时可选用X-Forwarded-For 中获取上上一级代理的地址:在流量到达雷池之前还有两层代理设备(如 Nginx,CDN 等)时可选用X-Forwarded-For 中获取上上上一级代理的地址:在流量到达雷池之前还有三层代理设备(如 Nginx,CDN 等)时可选用X-Forwarded-For 头,但是可以通过配置,把 IP 通过其他头发过来HTTP 头7
10
雷池 WAF 9.2.8 版本更新公告
雷池-洋仔
更新于 2 天前
参考文档 更新雷池
需要注意
凡是从版本9.2.7之前升级的用户需要仔细阅读9.2.7的版本公告,手动迁移部分nginx配置
雷池 WAF 9.2.7 版本更新公告

0
5
雷池 WAF 9.3.1 版本更新公告
雷池-洋仔
更新于 2 天前
参考文档 更新雷池
需要注意
凡是从版本9.2.7之前升级的用户需要仔细阅读9.2.7的版本公告,手动迁移部分nginx配置
雷池 WAF 9.2.7 版本更新公告



1
1
雷池 WAF 9.3.0 版本更新公告
雷池-洋仔
更新于 2 天前
参考文档 更新雷池
需要注意
凡是从版本9.2.7之前升级的用户需要仔细阅读9.2.7的版本公告,手动迁移部分nginx配置
雷池 WAF 9.2.7 版本更新公告
在此版本中,我们重点增强了对特定框架漏洞、NoSQL 注入以及部分协议的支持,扩展了检测覆盖面。
JeecgBoot v3.5.1 SQL注入漏洞JeecgBoot v3.5.4 SQL注入漏洞ThinkPHP5 远程代码执行漏洞-pathThinkPHP Debug模式日志信息泄露漏洞Vite 任意文件读取漏洞 (CVE-2025-30208)Vite 任意文件读取漏洞 (CVE-2025-31125)MongoDB NoSQL 注入-query 检测MongoDB NoSQL 注入-form 检测MongoDB NoSQL 注入-json key 检测Gitlab 任意文件读取漏洞 (CVE-2020-10977)Pulse Secure SSL VPN 命令注入漏洞 (CVE-2019-11539)Raspap 命令注入漏洞 (CVE-2022-39986)多款 TP-Link 产品操作系统命令注入漏洞 (CVE-2020-12109)Shiro 权限绕过 检测file 协议调用 检测支持SQL 内置函数 识别与检测对检测引擎进行深度优化,提升了对各类注入攻击和异常流量的识别准确率。
针对已有的检测规则进行了微调和增强,以减少误报并提高针对特定 CVE 的检出率。
Spring 框架漏洞 检测规则[HW2020] Spring Data Rest RCE (CVE-2017-8046) 检测规则Jeecg-boot v2.1.2-v3.0.0 后台未授权 SQL 注入漏洞 检测规则XStream 反序列化漏洞 检测规则Java 代码注入 检测规则可疑远程调用协议 及 jdbc 协议调用 检测规则深层路径穿越攻击 检测规则XML 实体注入漏洞 (UTF-7) 检测规则LDAP 注入 检测规则MongoDB NoSQL 注入 相关规则(query/form/json key)访问敏感文件的请求 检测规则低危的命令执行 检测规则多款路由器命令操作系统命令注入漏洞 (CVE-2019-3929) 检测规则2
1
雷池 WAF 如何配置才能正确获取到源 IP
齐天大圣孙悟空
更新于 5 个月前
不想看长文可以直接翻到最后看结论
经常有大哥反馈说雷池攻击日志里显示的 IP 有问题。
这里我来讲一下为什么一些情况下雷池显示的攻击 IP 会有问题。

默认情况下,雷池会通过 HTTP 连接的 Socket 套接字读取客户端 IP。在雷池作为最外层网管设备的时候这没有问题,雷池获取到的 IP 就是攻击者的真实 IP。
但是,有些情况下我们需要在雷池前面再叠加其他代理设备(如 Nginx,CDN,应用交付,API 网管等等)。在这种情况下,实际连接雷池的不是真正的网站用户,而是这些代理设备,这种情况下我们就需要根据实际网络拓扑来调整雷池的 IP 获取方式。
X-Forwarded-ForX-Forwarded-For 是一个相对通用的 HTTP 请求头。
HTTP 流量在经过代理时,由于网络连接被截胡,服务器无法得知真正的客户端 IP。这时代理设备会给当前的流量加上一个 X-Forwarded-For 头,里面的内容就是连接这个代理的客户端 IP。
下面这个例子中 HTTP 代理通过 X-Forwarded-For 头告诉服务器,真正的客户端地址是 1.2.3.4
1GET / HTTP/1.1
2Host: demo.waf-ce.chaitin.cn
3User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36
4X-Forwarded-For: 1.2.3.4
X-Forwarded-For 实际上是一个链式结构。如果流量经过了多层代理设备,X-Forwarded-For 会记录途径的所有 IP。
下面这个例子中 HTTP 代理通过 X-Forwarded-For 头告诉服务器,流量经过了三层代理,真正的客户端地址是 1.2.3.4,第一层代理的是 11.12.13.14,第二层代理的地址是 21.22.23.24,第三次代理的地址可以通过 Socket 连接直接来获取。
1GET / HTTP/1.1
2Host: demo.waf-ce.chaitin.cn
3User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36
4X-Forwarded-For: 1.2.3.4, 11.12.13.14, 21.22.23.24
IP-Forwarded-For 头靠谱么在代理设备和代理链路可信的情况下 IP-Forwarded-For 头传递的内容是很靠谱的,可以放心的试用。
但是呢,如果代理设备不可信,那么攻击者会通过伪造 IP-Forwarded-For 头的办法来实现伪造源 IP。
雷池全局配置里有一个这样的选项,专门用来解决这个问题。

雷池在这个配置里提供了几个选项,根据上面讲到的知识,大家可以根据实际情况来选择最适合的选项
X-Forwarded-For 中获取上一级代理的地址:在流量到达雷池之前还有一层代理设备(如 Nginx,CDN 等)时可选用X-Forwarded-For 中获取上上一级代理的地址:在流量到达雷池之前还有两层代理设备(如 Nginx,CDN 等)时可选用X-Forwarded-For 中获取上上上一级代理的地址:在流量到达雷池之前还有三层代理设备(如 Nginx,CDN 等)时可选用X-Forwarded-For 头,但是可以通过配置,把 IP 通过其他头发过来HTTP 头7
10
雷池 WAF 9.2.8 版本更新公告
雷池-洋仔
更新于 2 天前
参考文档 更新雷池
需要注意
凡是从版本9.2.7之前升级的用户需要仔细阅读9.2.7的版本公告,手动迁移部分nginx配置
雷池 WAF 9.2.7 版本更新公告

0
5
雷池 WAF 9.3.1 版本更新公告
雷池-洋仔
更新于 2 天前
参考文档 更新雷池
需要注意
凡是从版本9.2.7之前升级的用户需要仔细阅读9.2.7的版本公告,手动迁移部分nginx配置
雷池 WAF 9.2.7 版本更新公告



1
1
雷池 WAF 9.3.0 版本更新公告
雷池-洋仔
更新于 2 天前
参考文档 更新雷池
需要注意
凡是从版本9.2.7之前升级的用户需要仔细阅读9.2.7的版本公告,手动迁移部分nginx配置
雷池 WAF 9.2.7 版本更新公告
在此版本中,我们重点增强了对特定框架漏洞、NoSQL 注入以及部分协议的支持,扩展了检测覆盖面。
JeecgBoot v3.5.1 SQL注入漏洞JeecgBoot v3.5.4 SQL注入漏洞ThinkPHP5 远程代码执行漏洞-pathThinkPHP Debug模式日志信息泄露漏洞Vite 任意文件读取漏洞 (CVE-2025-30208)Vite 任意文件读取漏洞 (CVE-2025-31125)MongoDB NoSQL 注入-query 检测MongoDB NoSQL 注入-form 检测MongoDB NoSQL 注入-json key 检测Gitlab 任意文件读取漏洞 (CVE-2020-10977)Pulse Secure SSL VPN 命令注入漏洞 (CVE-2019-11539)Raspap 命令注入漏洞 (CVE-2022-39986)多款 TP-Link 产品操作系统命令注入漏洞 (CVE-2020-12109)Shiro 权限绕过 检测file 协议调用 检测支持SQL 内置函数 识别与检测对检测引擎进行深度优化,提升了对各类注入攻击和异常流量的识别准确率。
针对已有的检测规则进行了微调和增强,以减少误报并提高针对特定 CVE 的检出率。
Spring 框架漏洞 检测规则[HW2020] Spring Data Rest RCE (CVE-2017-8046) 检测规则Jeecg-boot v2.1.2-v3.0.0 后台未授权 SQL 注入漏洞 检测规则XStream 反序列化漏洞 检测规则Java 代码注入 检测规则可疑远程调用协议 及 jdbc 协议调用 检测规则深层路径穿越攻击 检测规则XML 实体注入漏洞 (UTF-7) 检测规则LDAP 注入 检测规则MongoDB NoSQL 注入 相关规则(query/form/json key)访问敏感文件的请求 检测规则低危的命令执行 检测规则多款路由器命令操作系统命令注入漏洞 (CVE-2019-3929) 检测规则2
1