零信任+AD发布联动发布https资源
  

Char1es 496

{{ttag.title}}
背景:
用户当前已完成零信任已与其oauth认证平台单点登录功能,业务配置零信任web资源前端地址,自动单点登录成功后零信任将流量转发给AD,实现安全单点认证接入的智能负载调度效果。

具体实现原理如下:
1、用户访问统一入口,即零信任发布的一个web资源前端地址https://xxx.yyy.zzz:1234,对应后端地址为https://xxx.yyy.zzz:1234,已绑定可信证书;
2、未认证通过的情况下,触发oauth认证,在集成平台上可以实现自动登录,不在集成平台上无法完成oauth认证。
3、认证通过后零信任通过hosts的方式,将后端地址xxx.yyy.zzz解析到AD的一个虚拟服务的VIP上
4、AD做SSL卸载,同时AD通过前置策略实现区分uri进行不同节点池调度,从而实现客户需求。

基于此,突然有一天,客户领导提出新需求:将另外一套业务也通过零信任单点的方式接入,省去使用传统vpn拨号再连接的麻烦步骤。销售接到需求后,一个电话找到了苦逼技术,一番太极过后,这个需求又赶鸭子上架了。

处理过程:
1、给出配置方案,按实现原理,简单的认为只需要:
a.业务侧在集成平台配置https://xxx.yyy.zzz:1234+uri即可,xxx.yyy.zzz通过公共dns解析至零信任公网ip
b.零信任无需更新配置,AD上新增前置策略,uri匹配,调度到指定节点池
c.AD虚拟IP到新业务的安全策略放通

2、遇到的问题
a.一番操作过后,集成平台从互联网访问此业务时报404错误。
6031265daec2a21200.png


3、问题排查
a.查零信任日志,根据客户测试的源ip查到对应访问日志,确认流量正常过零信任。
过滤语句:client.ip equal "$IP"
b.在内网通过业务真实ip访问,页面能够正常打开。
c.在内网通过AD对应虚拟服务的VIP访问,同样报404。
d.基于此基本可以定位问题在AD上。

4、配置检查
a.零信任web资源配置:前端地址https://xxx.yyy.zzz:1234,后端地址https://xxx.yyy.zzz:1234,hosts指向AD虚拟服务VIP
b.AD配置:虚拟服务监听VIP的1234端口,前置策略匹配此次的uri后调度到此uri对应的节点池。https业务,做ssl卸载。节点池为业务IP的443端口。

5、问题诊断:
a.隧道能够正常拉通,但无法正常访问,经分析是由于零信任流量到AD后做了一次SSL卸载,导致转发时已经是http数据,而服务器需要https的数据,故请求无法完成导致报错。

6、解决方案:
a.业务侧提供节点池支持http的端口代替https的端口来做调度。
b.由于原虚拟服务只能做增加前置策略的操作,故提出使用新端口来实现此需求。

验证:
http和https的虚拟服务困扰了我一段时间,这次为了确保第二次给出方案切实可行,做了poc进行验证。
环境atrust综合网关2216旁路10.1.1.11,AD708R7旁路10.1.1.200,IIS提供http和https服务10.1.1.10。
验证过程如下:
情况一(可行):
a.零信任配置:
前端地址监听,认证通过后以综合网关的IP为源访问后端地址。
4046265daf1979ebe1.png
b.测试环境下AD省略前置策略,直接配置虚拟服务调度到指定节点池。
8415465daf29d55ca9.png
5118765daf2c998fb7.png
c.iis同时绑定http和https,最后一条https策略不限制主机名(模拟客户提供的业务为https://ip形式),页面内容为数字1。各种情况下IIS配置不变。
3462165db01fa39d3d.png
d.模拟访问https://www.ae86.cc:12346能够正常访问,零信任上查看到成功访问日志。
访问成功:
1619865daf429ca044.png

d.1.在AD上抓零信任到AD的包如下,加密数据没看头:
9898265daf61c0669a.png
d.2.在AD上抓AD到IIS的包如下,加密数据没看头:
776965daf6b6c8708.png
d.3.IIS上查看网站访问日志:
2486765daf74c871be.png
d.4.零信任上查看与上图IIS倒数第二条访问日志相对应的访问日志如下:
2582465daf88d4b3ff.png

情况二(不可行)-与客户现场环境一致:
a.零信任配置
web资源配置作为统一入口,与情况一不同的是后端地址由ip改为域名
4808465daf9d5b011d.png
hosts配置用于后端服务器地址解析,指向AD虚拟服务VIP
9878365dafa7c686d9.png
b.AD配置
服务类型由TCP改为HTTPS,使用相同的证书做卸载策略,其余配置保持不变
2335265dafaca2f53e.png
c.IIS配置,与情况一一致。
3462165db01fa39d3d.png
d.模拟访问https://www.ae86.cc:12346无法正常访问,报错504如下图:
9610465dafc4fa35e0.png
d.1.零信任到AD的包如下,加密没看头:
7795865dafcd4857cb.png
d.2.AD到IIS的包如下,可以看到已经完成解密,但是服务器没有回复,根据IIS来推断,443端口绑定的是https服务,而请求是http,故无法完成访问
8068865dafe93053db.png
d.3.零信任本次访问的日志如下:
5066465dafefe6cea9.png
d.4.未完成访问,IIS无日志。

情况三(可行):
a.零信任配置
web资源配置作为统一入口,与情况二保持一致。
4808465daf9d5b011d.png
hosts配置用于后端服务器地址解析,指向AD虚拟服务VIP
9878365dafa7c686d9.png
b.AD配置
从情况二将服务类型由HTTPS改为TCP,AD仅做转发。
2914465db00bf3179a.png
c.IIS配置保持不变。此处会使用到绑定主机名的策略。
3462165db01fa39d3d.png
d.模拟访问https://www.ae86.cc:12346能够正常访问:
812465db0199dd346.png
d.1.零信任到AD抓包如下:
6504365db030cc9105.png
d.2.AD到IIS抓包如下:
5344965db02a43ee53.png
d.3.IIS访问日志
8210065db035c6e510.png
d.4.零信任访问日志
9635365db03f93a04f.png
注意:此情况下需要服务器本身安装的证书和零信任的一致,否则依旧无法访问!!!

有了poc做保障,下回一定行。经过这次小事故,以后做AD涉及https时要多留意,争取少返工,共勉。
3573165daf37480df9.png
8817465daf48158143.png

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

打赏
暂无人打赏

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

本版达人

新手61940...

本周建议达人

zhao_HN

本周分享达人

ZSFKF

本周提问达人