#原创分享# SSL7.6.8新版本WEBVPN配置访问案例体验(免客户端免插件)与工作原理分析
  

Princeling 186136人觉得有帮助

{{ttag.title}}


最近公司某公司专家(小弟进公司的师傅)分享了一个7.6.8版本的web VPN,顺便测试体验了一把,小弟在此整体学习了一波分享出来和大家一起共同学习;
  一: 首先我们先了解一下webvpn
   老话说温故而知新,首先还是复习一下老版本的web应用资源,在早期老版本的SSL VPN配置中,我们一般都不建议将资源发布成web应用资源,因为web应用资源是在一定程度上对数据进行了https加密,将数据包进行HTTP和HTTPS的转换,在这个过程中容易出现一些兼容性问题导致资源访问异常,(具体的原理可以参考下边两张SCSA培训教材):
2019-12-10_235043.png

只是浏览器免控件 客户端在使用SSL VPN的过程中还是会下载的。

2019-12-10_235100.png

   而在新版本7.6.7R1开始对web资源进行了重构新增子站点配置、泛域名配置(依旧兼容旧版本web资源)
2019-12-11_001856.png

2019-12-11_002329.png

   因此在重构的webVPN中,有了新的概念,这是新一代纯网页形式的VPN,WebVPN无需用户做任何配置或安装客户端软件及浏览器插件(真正做到不需要下载客户端),直接在网页上通过身份验证即可进入内网应用,大大降低使用门槛,提升用户体验。
   好了废话就不多说了,我们一起看一下具体的案例:
  二: webvpn具体案例配置细节分享
下边我们拿到一个XX某公司的一个测试项目,体验一下新版本7.6.8版本的webVPN配置与访问过程:(配置其实比较简单)
(1)基础网络 常规单臂 出口端口映射配置
2019-12-11_101435.png

新版本的在线授权体验:
2019-12-11_101601.png

相对于老版本SSL VPN新版本如果发布web资源,除了443登录端口的映射到公网,还需要映射泛域名所用的端口,默认8118
2019-12-11_102059.png


(2)配置泛域名(如无法申请泛域名证书,则开启HTTP透明代理)
   申请配置泛域名并在域名供应商处写A记录到SSL VPN映射公网地址,操作指导:http://bbs.sangfor.com.cn/plugin.php?id=sangfor_databases:index&mod=viewdatabase&tid=80535
    针对与Web 资源,需在【系统设置】-【SSL VPN 选项】-【系统选项】-【资源服务选项项】-【WEB 应用】中配置好WEB 泛域名及端口,默认是8118,若没有导入受信SSL 泛域名证书(泛域名证书需要单独申请需要费用,免费的一般有效期只有一年),则需要勾选启用HTTP 透明代理访问。(本案例中因为没有申请泛域名证书,因此开启了HTTP代理)
注:开启HTTP 透明代理访问会重启SSL VPN 服务,请合理安排时间配置。
   SSL单臂部署在内网,在出口设备映射8118 端口。
2019-12-11_104033.png

(3)发布新版本web应用资源
下边就可以愉快的建立资源了:
2019-12-11_103709.png

2019-12-11_103733.png

   这里的子站点一般填写地址的子链接,支持通配符,例如“*.cnki.net”,也可以填写其他地址,例如“www.baidu.com、*.qq.com”等,最多支持10 个子站点。需要注意:地址和子站点填写域名需要设备能够解析到该地址,可在设备接口上的地址配置可以解析的内网DNS。
(4)用户登录免客户端 免浏览器差件登录SSL VPN访问web资源
接下来我们体验无客户端无插件的接入场景:直接打开浏览器接入·
0.png

没有提示下载客户端 登入就可以看到web资源:
2.png

直接点击相关资源访问:
2019-12-10_091914.png

三:从访问实际使用中对比数据报文深入分析webVPN的一些原理
   小弟是一个喜欢瞎折腾的,只要有充足的时间,纵向深入了解一下webVPN是靠什么实现的,它的工作原理究竟是什么。虽然从外观,配置形式,访问形式上,上我们看到与传统web资源好像区别并不大,那么我们究竟如何在客户现场向客户解释这块究竟是优化了什么,因此小弟开始google一堆资料,丰富一下自己装X词汇。
   于是通过资源访问对比两种场景:(通过webvpn访问的资源与直接访问的资源F12查看HTTP报文的变化)
首先是直接访问:SOSHOO数据的时候我们看到的请求与相应的情况:
2019-12-10_235316.png

     当我们使用webvpn资源访问SOHOO的时候我们看到地址栏出现了目的域名+泛域名的形式出现了,目的域名中间多了一些“-”的符号,HTTP请求和响应中明显多了一些web_proxy.js和 vpn_config。
2019-12-11_100912.png

通过页面点击直接跳转资源:

2019-12-10_235222.png

在这些访问中可以看到实际上访问是先到了SSLVPN的ip地址,然后由8118端口代理访问了真实的端口。(不知道理解是否有误,欢迎有大神可以前来指正。)

2019-12-10_235854.png
   看到这个web_proxy.js文件小编goole 百度了一堆资料,大致整理如下:
     可以从上图看到实际上这是一种通过某公司SSL设备的一个页面网站的8118端口(泛域名A记录是指向SSL VPN设备的),去访问另外一个网站的。
   实际上这种通过某个网站访问另一个网站的在线代理技术,(通常是代理去访问一些无法直接访问网站,或者是如某公司资源 知网这种,特定的公网IP段才可以获取一些资源权限,否则下载资源要收费),这种代理形式是不用安装任何插件,不用修改任何配置,仅仅打开一个网页即可。类似的网站,或许大家都曾见过,但是因为网站复杂的结构,实际中都不怎么好用。相比 ssr/v2ray 这些网络层代理,这种在线代理的成熟度显然要低得多,只能临时凑合着用。
   然而在guthub的开源项目中,许多大神已经有了更先进的技术来实现并优化在线代理,参考:
https://github.com/EtherDream/jsproxy/blob/master/docs/blogs/js-hook.md
   简单的说, 是一个基于浏览器端 JS 实现的在线代理, JS Hook 技术,靠它来实现我们实现了三种类型的 Hook:API Hook (重写函数和属性);DOM Hook (MutationObserver);URL Hook (Service Worker),这样无论加载 URL 还是调用 API,都可被我们拦截和代理,仿佛将原始网页嵌套在一个沙盒中运行,这个过程中借助了泛域名来实现。
  小编不是搞开发,可以说基本看不懂,只是拿来和大家某公司,扩展一下思路的,从截图中小编猜测某公司也是借助这种类似的基于浏览器端 JS 实现的在线代理技术来实现的webvpn。(欢迎各位大神对这些原理进行指正)

最后附上新版webVPN配置测试指导,本案比较简单,例没有结合CAS第三方统一认证

好了这次分享就到这里

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

打赏
13人已打赏

主动出击 发表于 2019-12-12 08:37
  
感谢分享。
Sangfor_闪电回_朱丽 发表于 2019-12-12 09:16
  

12.12狂欢一周 +48 S豆 详情>

您好,感谢您参与社区原创分享计划5,您的文章已被收录到计划中,交由专家评审小组评审,分享奖励将在活动结束后统一安排发放!分享越多,奖励越多,期待您更多的精彩分享哦!:感恩:
无路赛 发表于 2019-12-12 10:46
  

12.12狂欢一周 +48 S豆 详情>

文章很实用,有借鉴价值!
Simmer 发表于 2019-12-12 11:20
  

12.12狂欢一周 +48 S豆 详情>

感谢分享,学习了。
新手741261 发表于 2019-12-12 13:00
  

12.12狂欢一周 +48 S豆 详情>

图文并茂,非常不错
司马缸砸了光 发表于 2019-12-12 13:09
  

12.12狂欢一周 +48 S豆 详情>

写的详细认真,非常棒
新手780102 发表于 2019-12-12 13:20
  

12.12狂欢一周 +48 S豆 详情>

说的清楚,小白的我学到了
新手031815 发表于 2019-12-12 13:31
  

12.12狂欢一周 +48 S豆 详情>

写的不错,期待下次分享
chenx 发表于 2019-12-12 14:05
  

12.12狂欢一周 +48 S豆 详情>

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

本版版主

26
76
83

发帖

粉丝

关注

本版达人

新手24268...

本周建议达人

阿凯

本周分享达人

新手39341...

本周提问达人