×

SIP和AF不同版本在X-Forwarded-For/XFF/反向代理场景下的效果详解
  

杨童 32651人觉得有帮助

{{ttag.title}}
本帖最后由 杨童 于 2023-9-27 17:37 编辑

本案例意在介绍:
            1、AF封锁XFF IP的实现效果和能力边界(8048和其他版本(8085及以上和以下)的对比)
            2、SIP+AF在反向代理场景下搭配的效果(安全事件效果呈现+处置封锁的注意事项)
            3、反向代理场景下的解决方案(复习一下XFF是什么,有什么用,怎么用)

注意事项:
本案例基于SIP 3.0.81版本、AF的8048和8081/8090版本进行演示(SIP3081和AF8090截止发帖都是内测版本,实际上线可能有所不同,真实项目请提前联系400确认)
8048是专门用于重保/攻防场景的旧架构的版本,有很多针对攻防场景的特性能力,以XFF场景举例8048是功能最全的版本

--------------------------------------------------------------------------------------

一、8048和其他版本的对比总结
        1、AF8048版本的封锁XFF IP有三种方式:
                a)手动添加临时黑名单封锁:在临时黑名单中添加业务类型的黑名单,添加后攻击者不管是攻击还是正常访问,都会触发封锁,注意是代理和非代理都会封锁,也就是说攻击者不管是经过代理还是直连业务都无法访问
具体效果如下图,管理员手动添加一条业务封锁策略,封禁了攻击者IP192.168.31.135
当攻击者再次攻击或访问业务时,会自动生成两条策略,第一条是全局封锁,定义了源+目,封锁时间是自定义的;第三条是封锁XFF IP的,只有10分钟

                b)安全策略的联动封锁模块触发添加临时黑名单:策略自动在临时黑名单中添加一条,注意这里是仅封锁XFF IP,不会封锁真实IP,也就是说封禁后攻击者无法通过代理方式访问业务,但是不经过代理直连的话是可以访问的,举个例子---攻击者IP为A,安全策略触发联动封锁后,所有报文XFF IP是A的都会封禁,但是攻击者如果不通过代理直接用IP地址A去访问业务,还是可以访问的。
效果如下图,自动生成一条业务封锁策略,封锁时间10分钟

                c)SIP代理封锁联动AF添加临时黑名单:和手动添加临时黑名单封锁效果完全一致
演示图如下,管理员在SIP-重保中心-联动封锁-手动封锁-代理封锁中添加了一条攻击者IP并下发到AF
AF会新建一条业务封锁策略,显示来源为SIP
当攻击者再次访问业务或攻击时,AF会再生成两条规则,所以SIP下发代理封锁的和管理员手动添加的业务封锁效果是一样的

        2、除了8048以外,8085以下的版本(不包括8085),都没有业务封锁功能,所以这些版本都无法手动添加临时封锁策略封禁XFF IP,新架构8085开始有业务封锁按钮,用8090的bate版测试效果和8048一致(实际项目建议先详细咨询400具体能力是否有偏差)

        3、SIP下发的代理封锁指令效果为:给没有业务封锁模块的AF下发指令时,在AF上会新增全局封锁,无法封锁XFF IP,所以即使这样封锁了攻击者IP,也只是禁止了攻击者直连,无法阻断代理攻击,还是需要依靠安全策略里边联动封锁来封锁XFF。
                这里有个问题就是根据8090AF的环境实测(9月1号的包,版本还在内侧),SIP下发代理封锁配置到了AF上还是全局封锁,不是业务封锁,并不能实现XFF封锁。注意这是内侧版本,如果要用新架构做封锁XFF建议咨询400具体明确一下什么版本开始支持此能力

--------------------------------------------------------------------------------------

二、AF/SIP的XFF相关配置介绍
        1、AF7.4-8.0.26版本开始支持识别XFF字段:在【对象】-【安全防护策略模版】-【WEB应用防护】-新增模版,点击【高级配置】-【高级功能防护】里【日志记录设置】-选择头部字段“X-Forwarded-For”
         2AF8.0.32开始,AF WEB应用防护策略支持根据HTTP数据包的XFF字段中IP数据进行联动封锁:在【对象】-【安全防护策略模版】-【WEB应用防护】-新增模版,点击【高级配置】-【高级功能防护】里【X-Forwarded-For】-选择头部字段“X-Forwarded-For”,勾选启用并填写代理服务器的IP即可
               AF8.0.48操作路径示例:在【策略】-【安全策略】-【安全防护策略】新增业务防护策略,【策略优化项】业务访问场景选择【访问源经过源地址转换或CDN】,启用“X-Forwarded-For”并填写代理服务器的IP即可
         3、STA从3.0.14开始支持记录XFF字段:在【策略管理】-【安全策略】-【网站攻击检测】设置的【日志设置】模块中勾选记录源IP,添加记录X-Forwarded-For字段。
注意:从标准版本STA3.0.36版本(旧架构)、STA新架构版本、VSTA3.0.31C版本开始都默认开启记录XFF字段功能,无需界面配置。
--------------------------------------------------------------------------------------

三、AF和SIP关于XFF攻击效果的呈现,日志分析
        1、AF在设置好代理服务器后,正常的代理攻击日志应该如:
下图的测试环境是做了两层代理,代理服务器IP为10.10.0.1和10.20.0.1,代理IP的流量路径先到10.10.0.1到10.20.0.1再到防火墙,同时已经配置好了代理服务器IP,日志中数据包的X-Forwarded-For字段显示了两个IP,表示报文插入了两层XFF IP,日志中的XFF IP字段显示的是最原始的攻击者的IP 192.168.31.135,联动封锁就会根据此IP进行处置;

如果不设置代理服务器IP,或者少设置一个IP,这里的XXF IP的判断顺序就是根据报文X-Forwarded-For字段最右侧的IP来判断,如下图,将代理服务器的IP删除之后,上方XFF IP显示的就是10.10.0.1了,这时候设备联动封锁会根据这个IP来设置,这样就可能出现误判,所以需要提前设定好代理服务器IP地址

        
       2、SIP上的日志效果根据数据来源分为两种,分别为STA和AF的,两种类型的日志区别如下:


AF上传来的日志,SIP会根据AF传来的源目IP显示攻击者和受害者,不会显示AF日志里边的XFF IP,所以会导致SIP上日志的准确性有偏差,如下图,AF上传来的日志原始数据包内容是有X-Forwarded-For字段的,但是SIP并不会二次分析数据,而是直接把AF传来的日志显示出来,根据AF日志的源和目的直接显示了攻击者和受害者。所以这里的问题是,如果直接在SIP根据攻击者信息封锁的话,就会把代理服务器IP给封了。


        3、STA传来的日志相比AF更细致,会显示出来代理服务器,点击代理右上角还能看到具体有哪些代理服务器的IP;

        4、关于SIP的联动处置,针对代理场景,当前SIP也只是能够在重保中心-联动封锁-手动封锁-代理封锁栏目设置封禁XFF,处置中心的响应策略剧本不能封XFF,所以在上一步根据STA日志检索到真实攻击者后,不建议直接用联动处置来调用AF封禁,因为这样只能在AF形成全局黑名单,并不能封禁XFF IP,所以建议使用联动封锁中的代理封锁模块来封禁,这样才能完整的屏蔽掉攻击IP。

--------------------------------------------------------------------------------------

四、反向代理介绍/XFF介绍/解决方案介绍QA

Q:反向代理是什么?
A:在用户和服务器之间存在一个代理服务器,用户访问业务时,目的地址就是这个代理服务器,代理服务器收到请求后代理这个请求和后端服务器建立连接,代理用户到服务器之间的流量,对于用户来说,用户访问的就是代理服务器,对于服务器来说,就是代理服务器来请求的自己的服务,用户和真实服务器都不知道对方的存在。这就是反向代理

Q:反向代理带来了哪些问题?
A:根据第一条所述,用户和真实服务器都感知不到对方的存在,它们都认为代理服务器就是对端,那么流量路径中的安全设备也一样感知不到用户或者服务器是谁,典型的问题就是安全日志中发现攻击者是代理服务器,或者被攻击者是代理服务器,这就导致无法分析和处置安全事件

Q:怎么解决第二个问题?
A:这里就引入了X-Forwarded-For字段,简称XFF,原理就是报文在经过代理服务器时,代理服务器将代理前的源IP插入到报文头部,这样报文从代理设备发出后,后续的设备就可以根据这个字段识别出代理前的IP了,安全设备就可以基于此溯源到真实访问者

Q:怎么在代理服务器插入XFF字段?
A:这个涉及到代理服务器开发层面的问题,需要具体代理设备是否支持。以深信服负载均衡AD设备举例,AD在代理时做HTTP报文头部改写就可以实现XFF字段的插入。

Q:经过多层代理设备怎么办?
A:XFF是支持多层显示的,以AD负载均衡举例,多个AD串联时可以同时配置头部改写来插入XFF字段,第一个XFF IP会在字段最左侧,后续插入的XFF IP依次往后排列,分析安全事件时,最左侧的XFF IP就是攻击者,如下图

打赏鼓励作者,期待更多好文!

打赏
22人已打赏

赖祥 发表于 2023-9-25 12:05
  
通过杨专深入浅出的知识讲解,让我受益匪浅
技术小白 发表于 2023-9-25 15:23
  
通过杨专深入浅出的知识讲解,让我受益匪浅
赵庆煜 发表于 2023-9-25 15:38
  
666666666666666666666666666
一个无趣的人 发表于 2023-9-25 19:50
  
学习了。图文结合,步骤清晰,期待楼主下次的分享。
平凡的小网工 发表于 2023-9-25 19:53
  
多谢楼主的分享,十分有助于工作。
JM 发表于 2023-9-25 20:35
  

感谢分享有助于工资和学习!
司马缸砸了光 发表于 2023-9-25 20:55
  

感谢分享有助于工资和学习!
新手741261 发表于 2023-9-25 21:09
  

感谢分享有助于工资和学习!
发表新帖
热门标签
全部标签>
每日一问
每周精选
技术盲盒
技术笔记
2024年技术争霸赛
产品连连看
干货满满
技术咨询
2023技术争霸赛专题
标准化排查
技术晨报
GIF动图学习
安装部署配置
新版本体验
功能体验
秒懂零信任
自助服务平台操作指引
文档捉虫活动
信服课堂视频
通用技术
答题自测
每日一记
SDP百科
玩转零信任
技术圆桌
在线直播
测试报告
问题分析处理
畅聊IT
专家问答
MVP
网络基础知识
升级
安全攻防
上网策略
日志审计
流量管理
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
齐鲁TV
华北区交付直播
北京区每日一练

本版版主

0
1
0

发帖

粉丝

关注

32
5
5

发帖

粉丝

关注

2
3
4

发帖

粉丝

关注

43
4
1

发帖

粉丝

关注

1
4
0

发帖

粉丝

关注

0
0
0

发帖

粉丝

关注

本版达人