还在为源 IP 获取不准烦恼?雷池 WAF 的智能配置赢在哪?

位流程风
• 阅读 5

不想看长文可以直接翻到最后看结论 经常有大哥反馈说雷池攻击日志里显示的 IP 有问题。 这里我来讲一下为什么一些情况下雷池显示的攻击 IP 会有问题。


问题说明

还在为源 IP 获取不准烦恼?雷池 WAF 的智能配置赢在哪? 默认情况下,雷池会通过 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 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。


雷池的配置

雷池全局配置里有一个这样的选项,专门用来解决这个问题。 还在为源 IP 获取不准烦恼?雷池 WAF 的智能配置赢在哪? 雷池在这个配置里提供了几个选项,根据上面讲到的知识,大家可以根据实际情况来选择最适合的选项 ● 从网络连接中获取: 当雷池作为最外层代理设备,无其他前置代理时选用 ● 从 X-Forwarded-For 中获取上一级代理的地址:在流量到达雷池之前还有一层代理设备(如Nginx,CDN 等)时可选用 ● 从 X-Forwarded-For 中获取上上一级代理的地址:在流量到达雷池之前还有两层代理设备(如 Nginx,CDN 等)时可选用 ● 从 X-Forwarded-For 中获取上上上一级代理的地址:在流量到达雷池之前还有三层代理设备(如 Nginx,CDN 等)时可选用 ● 从其他 HTTP Header 中获取:有几种情况 ○ 流量经过了一些特殊的反向代理设备,这类代理不会发送 X-Forwarded-For 头,但是可以通过配置,把 IP 通过其他头发过来 ○ 流量到达雷池有多种途径,可能有一层代理,也可能有两层代理,可以通过配置前置代理设备来统一 HTTP 头

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
springboot整合redis的错误记录
https://blog.csdn.net/CeliaTodd/article/details/104977577springboot整合redis的过程中,遇到Unabletoconnecttolocalhost:6379的异常问题.(redis是在Linux中启动的)注解:IP地址最开始用的是Linux的IP地址,这里显示是local
Stella981 Stella981
3年前
Nginx多层代理获取真实客户端IP
一般的应用都是通过Nginx来做为反向代理,并且Nginx还可能是多层的。如果想在内部服务里面获取最原始的客户端IP地址。则需要做一些配置最外层Nginx为了防止XForwardedFor头的伪造,可在最外层Nginx将XForwardedFor设置为真实IP$remote\_addr。$remote\_addr是获取的是
Stella981 Stella981
3年前
Nginx proxy_set_header 理解
用户认证接口:根据客户端IP和port,进行IP反查和端口范围确认,如符合则用户认证通过。当前使用的是Nginx负载均衡,从客户端到Nginx端ip和port都对,从Nginx到应有服务器上port端口变成很奇怪的端口号。真是遇到的问题,登录页的ip和port在登录验证没有问题,但在登录完成后跳转的时候,端口号发生了变化。跟nginx服务器
Wesley13 Wesley13
3年前
GO语言网络编程
socket编程Socket是BSDUNIX的进程通信机制,通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。Socket可以理解为TCP/IP网络的API,它定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。电脑上运行的应用程序通常通过”套接字”向网络发出请求或者应答网络请求。Socke
位流程风 位流程风
8小时前
你,好奇吗?被雷池情报库拉黑的 IP 都在干什么?
在使用雷池的时候,经常会遇到源IP被恶意IP情报库拉黑的情况,如下图什么样的IP会进入长亭恶意IP情报库长亭恶意IP库是由超过20万雷池社区用户共创组成的IP情报网。安装雷池WAF后若启用IP情报共享计划,所有的攻击IP会回传至长亭IP情报收集系统这里仅会
位流程风 位流程风
8小时前
部署雷池 WAF 后,我终于不用凌晨 3 点爬起来封 IP 了!
还记得以前做运维的日子,手机半夜突然响起攻击告警,慌忙爬起来处理,发现是某个IP疯狂刷接口,只能手动封禁。但这样治标不治本,还影响正常用户访问。直到部署了雷池WAF,这种“深夜惊魂”才彻底消失。其中最让我安心的,就是它灵活精准的频率限制配置和清晰直观的日志
位流程风 位流程风
8小时前
个人开发者的安全之选:雷池WAF与腾讯云EdgeOne/阿里云ESA集成
随着网络安全风险持续上升,Web应用防火墙已成为网站安全的基础组件。对个人开发者而言,开源的雷池WAF能提供企业级的安全防护,但单纯使用WAF面临几个显著挑战:1.DDoS防护能力有限:源站防护无法有效应对大流量攻击2.性能瓶颈:所有流量直接打到WAF宿主
位流程风 位流程风
1个月前
Web 应用防护利器!SafeLine 雷池深度解析​
在网络安全威胁日益严峻的当下,Web应用面临着各种攻击风险,如何为Web服务筑牢安全防线成为开发者和企业关注的焦点。今天给大家推荐一款超实用的Web应用防火墙(WAF)——SafeLine,中文名“雷池”,它凭借简单易用的操作和卓越的防护效果,为Web服务打造坚实的安全壁垒。​
位流程风 位流程风
1个月前
雷池WAF磁盘空间告急?手把手教你轻松清理⭐
一、为什么磁盘会满?——了解空间去哪了雷池WAF在保护你的网站时,会持续记录各种安全数据。主要占用空间的有两大"仓库":1.防护日志仓库(数据库)●存放内容:攻击记录、人机验证日志、访问统计等●存储位置:默认由PostgreSQL数据库管理,路径为/dat
位流程风 位流程风
4星期前
雷池社区版高可用部署实战教程
想象一下,互联网就是一片汪洋大海,网站是船,用户是水手,而恶意攻击者就是海上的“海盗”。而雷池WAF就是你船上的“护航舰队”,时刻防御各种海盗袭击,包括SQL注入、跨站脚本攻击(XSS)、以及你可能没听过的“缓冲区溢出攻击”。WAF为什么需要高可用性即便你