前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >雷池社区版 如何配置才能正确获取到源 IP

雷池社区版 如何配置才能正确获取到源 IP

作者头像
用户3358450
修改2024-11-19 14:58:32
修改2024-11-19 14:58:32
380
举报

问题说明

image.png
image.png

默认情况下,雷池会通过 HTTP 连接的 Socket 套接字读取客户端 IP。在雷池作为最外层网管设备的时候这没有问题,雷池获取到的 IP 就是攻击者的真实 IP。

但是,有些情况下我们需要在雷池前面再叠加其他代理设备(如 Nginx,CDN,应用交付,API 网管等等)。在这种情况下,实际连接雷池的不是真正的网站用户,而是这些代理设备,这种情况下我们就需要根据实际网络拓扑来调整雷池的 IP 获取方式。

先了解什么是 X-Forwarded-For

X-Forwarded-For 是一个相对通用的 HTTP 请求头。

HTTP 流量在经过代理时,由于网络连接被截胡,服务器无法得知真正的客户端 IP。这时代理设备会给当前的流量加上一个 X-Forwarded-For 头,里面的内容就是连接这个代理的客户端 IP。

下面这个例子中 HTTP 代理通过 X-Forwarded-For 头告诉服务器,真正的客户端地址是 1.2.3.4

代码语言:http
复制
GET / HTTP/1.1

Host: demo.waf-ce.chaitin.cn

User-Agent: Mozilla/5.0 (X11; Linux x86\_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36

X-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 连接直接来获取。

代码语言:http
复制
GET / HTTP/1.1

Host: demo.waf-ce.chaitin.cn

User-Agent: Mozilla/5.0 (X11; Linux x86\_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36

X-Forwarded-For: 1.2.3.4, 11.12.13.14, 21.22.23.24

IP-Forwarded-For 头靠谱么

在代理设备和代理链路可信的情况下 IP-Forwarded-For 头传递的内容是很靠谱的,可以放心的试用。

但是呢,如果代理设备不可信,那么攻击者会通过伪造 IP-Forwarded-For 头的办法来实现伪造源 IP。

雷池的配置

雷池全局配置里有一个这样的选项,专门用来解决这个问题。

image.png
image.png

雷池在这个配置里提供了几个选项,根据上面讲到的知识,大家可以根据实际情况来选择最适合的选项

  • **从网络连接中获取**: 当雷池作为最外层代理设备,无其他前置代理时选用
  • **从 X-Forwarded-For 中获取上一级代理的地址**:在流量到达雷池之前还有**一层**代理设备(如 Nginx,CDN 等)时可选用
  • **从 X-Forwarded-For 中获取上上一级代理的地址**:在流量到达雷池之前还有**两层**代理设备(如 Nginx,CDN 等)时可选用
  • **从 X-Forwarded-For 中获取上上上一级代理的地址**:在流量到达雷池之前还有**三层**代理设备(如 Nginx,CDN 等)时可选用
  • **从其他 HTTP Header 中获取**:有几种情况
  • 流量经过了一些特殊的反向代理设备,这类代理不会发送 X-Forwarded-For 头,但是可以通过配置,把 IP 通过其他头发过来
  • 流量到达雷池有多种途径,可能有一层代理,也可能有两层代理,可以通过配置前置代理设备来统一 HTTP

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题说明
    • 先了解什么是 X-Forwarded-For
  • IP-Forwarded-For 头靠谱么
  • 雷池的配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档