雷池 WAF 如何配置才能正确获取到源 IP

news2024/11/20 2:42:19

经常有大哥反馈说雷池攻击日志里显示的 IP 有问题。

这里我来讲一下为什么一些情况下雷池显示的攻击 IP 会有问题。

问题说明

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

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

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

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

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

对大多数 CDN 来说,会将 CDN 自身的 IP 也放到 XFF 中, 此时需要设置为从上上一级 获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177324.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

康谋分享 | 数据隐私和匿名化:PIPL与GDPR下,如何确保数据合规?(一)

目录 一、自动驾驶数据合规挑战 二、PIPL和GDPR的异同点 1、覆盖范围 2、个人信息定义 3、敏感数据 自动驾驶技术的快速发展伴随着数据隐私保护的严峻挑战。中国《个人信息保护法》(PIPL)与欧盟《通用数据保护条例》(GDPR)为…

Unity实战案例全解析:RTS游戏的框选和阵型功能(4)阵型功能

前篇:Unity实战案例全解析:RTS游戏的框选和阵型功能(3)生成范围检测框 重置框选操作-CSDN博客 本案例来源于unity唐老狮,有兴趣的小伙伴可以去泰克在线观看该课程 我只是对重要功能进行分析和做出笔记分享,…

PCIE XDMA

1 硬件电路 2 XDMA IP说明 2.1 Basic Mode:配置模式,选择 Basic 配置模式就可以了,Advanced 高级配置一般用不到; Lane Width:链路宽度,对于 ZYNQ MPSOC开发板,选择x2; Max Link Speed:最大链路速度,选择 8.0GT/s,即 PCIe 3.0 的传输速率; Refere

ultralytics yolo v8 示例:加载官方模型进行推理

Ultralytics YOLO 是计算机视觉和 ML 领域专业人士的高效工具。 安装 ultralytics 库: pip install ultralytics 实现代码如下: import cv2 from ultralytics import YOLO# 加载预训练的 YOLOv8n 模型 ckpt_dir "./ckpt/" # 模型缓存地址…

3、练习常用的HBase Shell命令+HBase 常用的Java API 及应用实例

目录 (一)练习常用的HBase Shell命令1、启动HBase2、练习shell命令create scan list describe alterputgetdeletedrop 关于NoSQL数据库中的列族和列3、关闭hbase服务 (二)HBase 常用的Java API 及应用实例1、启动hbase服务2、启动…

C++版本更新历史

前言 C语言发展至今已经迭代了很多版本,而在不同环境中编写代码时经常看到C标准的设定,比如 Leetcode 中可以看到版本信息: 这说明Leetcode已经支持最新C23标准了,但某些环境并不一定支持这些语法,如果不清楚使用的语法…

提示词工程 (Prompt Engineering) 最佳实践

prompt Engineering 概念解析 提示工程是一门较新的学科,关注提示词开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。研究人员可利用提示工程来提升大语言模型处理复杂任务场景的能力&#xf…

Jetson nano (4GB版本)跑yolov8n(TensorRT 加速)网络

大家好,我是王硕,项目原因需要在Jetson nano平台上跑yolov8s ,需要使用TensorRt加速,看了网上的教程,写的太差了,资料零零散散的,故详细介绍一下步骤。 如果想使用jetson Nano平台部署yolov8&a…

Selenium与数据库结合:数据爬取与存储的技术实践

目录 一、Selenium与数据库结合的基础概念 1.1 Selenium简介 1.2 数据库简介 1.3 Selenium与数据库结合的优势 二、Selenium爬取数据的基本步骤 2.1 环境准备 2.2 编写爬虫代码 2.3 数据提取 2.4 异常处理 三、数据存储到数据库 3.1 数据库连接 3.2 数据存储 3.3 …

windows10录屏工具,四款新手必备软件!

今天要和大家聊的是-——win10的录屏工具。在Win10电脑上,那些让我们爱不释手的录屏神器有很多,不管是哪个行业的人,录屏软件简直是日常工作的得力助手,比如说对于程序员来说,不管是分享代码教程、记录bug复现&#xf…

RKLLM部署

RKLLM 写在前面:建议去阅读官方提供的RKLLM doc,本文基于官方的RKLLM doc制作而成(没有将flask相关内容添加进来),仅仅添加了完整流程的执行过程截图和在做这以流程过程中遇到的问题 RKLLM可以帮助用户快速将人工智能…

【vite】搭建完整项目流程、项目配置

文章目录 完整项目源码项目技术栈:项目地址: 一、创建项目二、安装scss三、安装路由router四、项目配置 参考文章:vite搭建完整项目 完整项目源码 觉得创建太麻烦就直接从github克隆吧,https://github.com/fruge365/vite-common…

金智维KRPA之Excel自动化

Excel自动化操作概述 Excel自动化主要用于帮助各种类型的企业用户实现Excel数据处理自动化,Excel自动化是可以从单元格、列、行或范围中读取数据,向其他电子表格或工作簿写入数据等活动。 通过相关命令,还可以对数据进行排序、进行格式…

开发者如何自主绑定和解除小程序和公众号长期/短期运营者微信号?

开发者如何自主绑定和解除小程序和公众号长期/短期运营者微信号? 1、什么是长期/短期运营者微信号? 为了让更多人管理公众号更方便与安全,每个公众号可由管理员添加绑定5个长期运营者微信号、20个短期运营者微信号,运营者微信号…

【sw2024】solidworks2024双击setup.exe无反应管理员运行也没反应解决方法

第一步 官网下载xxclean,打开xxclean最新版本,登录。官网xxclean.com或者自己浏览器搜。 第二步 点击扩展功能,点击 运行sw2024安装程序无反应 右边的开始 第三步 进度百分之百之后去双击setup就有界面了。

Tusi.Art:AI模型,comfyui工作流,一键同款!

前言 Tusi.Art:AI模型分享与在线运行平台的革命性体验 在当今迅速发展的AI绘图领域,模型的分享与应用变得尤为重要。Tusi.Art 就是这样一个平台,为用户提供了分享和在线运行 AI 模型的便捷服务。不仅如此,平台还具备强大的功能&…

现代易货交易:重塑价值交换的新趋势与未来展望“

在当今社会,随着经济的快速发展,一种新兴的交易方式——现代易货交易,正逐渐受到市场的青睐。这种模式不仅对传统的物品交换方式进行了现代化的改进,而且体现了对物品价值的重新评估和交换方法的创新。那么,什么是现代…

2. 将GitHub上的开源项目导入(clone)到(Linux)服务器上——深度学习·科研实践·从0到1

目录 1. 在github上搜项目 (以OpenOcc为例) 2. 转移到码云Gitee上 3. 进入Linux服务器终端 (jupyter lab) 4. 常用Linux命令 5. 进入对应文件夹中导入项目(代码) 注意:系统盘和数据盘 1. 在github上搜项目 (以OpenOcc为例) 把链接复制下…

无锡卓瓷X哲讯智能科技,SAP项目正式启动!

在数字化浪潮的推动下,高精密陶瓷行业的领军企业—无锡卓瓷科技有限公司,携手哲讯智能科技有限公司近期启动SAP&BI项目,以打造行业领先的数字化管理平台。这一战略举措标志着无锡卓瓷在数字化转型的道路上迈出了坚实的一步。 无锡卓瓷—…

LORA DASH -一种更高效的微调方式

LORA DASH -一种更高效的微调方式 概述 大型语言模型(LLMs)通过在大规模数据集上的预训练,能够捕捉和学习丰富的语言特征和模式。目前,尽管预训练模型在诸多任务上取得了显著的成果,但它们在特定任务上的表现仍有提升…