查看原文
其他

VPN 的技术原理是什么?

点击关注 👉 Java架构师技术 2023-09-18
以下文章来源Java架构师技术,回复”Spring“获惊喜礼包
上一篇推文:牛逼!这个前后端分离的后台系统开源了!

大家好,我是Java架构师


SSL VPN技术



SSl协议支队通信双方传输的应用数据进行加密,而不是对从一个主机到另一个主机的所有数据进行加密。


IPSec缺陷


由于IPSec是基于网络层的协议,很难穿越NAT和防火墙,特别是在接入一些防护措施较为严格的个人网络和公共计算机时,往往会导致访问受阻。移动用户使用IPSec VPN需要安装专用的客户端软件,为日益增长的用户群发放、安装、配置、维护客户端软件已经使管理员不堪重负。因此,IPSec VPN在Point- to-Site远程移动通信方面并不适用。



SSL VPN功能技术


虚拟网关



每个虚拟网关都是独立可管理的,可以配置各自的资源、用户、认证方式、访问控制规则以及管理员等。


当企业有多个部门时,可以为每个部门或者用户群体分配不同的虚拟网关,从而形成完全隔离的访问体系。扩展:接私活儿


WEB代理



它将远端浏览器的页面请求(采用https协议)转发给web服务器,然后将服务器的响应回传给终端用户,提供细致到URL的权限控制,即可控制到用户对某一张具体页面的访问。


web代理实现对内网Web资源的安全访问:


Web代理有两种实现方式:
Web-Link和Web改写(默认)。

  • Web-link采用ActiveX控件方式,对页面进行转发。
    Web改写方式采用脚本改写方式,将请求所得页面上的链接进行改写,其他网页内容不作修改。





从业务交互流程可以看出,Web代理功能的基本实现原理是将远程用户访问Web Server的过程被分成了两个阶段。首先是远程用户与NGFW虛拟网关之间建立HTTPS会话,然后NGFW虚拟网关再与Web Server建立HTTP会话。虚拟网关在远程用户访问企业内网Web Server中起到了改写、转发Web请求的作用。


文件共享



文件共享实现过程


  • 客户端向内网文件服务器发起HTTPS格式的请求,发送到USG防火墙。
  • USG防火墙将HTTPS格式的请求报文转换为SMB格式的报文。
  • USG防火墙发送SMB格式的请求报文给文件服务器。
  • 文件服务器接受请求报文,将请求结果发送给USG防火墙,用的是SMB报文。另外,搜索公众号程序员小乐后台回复“赚钱”,获取一份惊喜礼包。
  • USG防火墙将SMB应答报文转换为HTTPS格式。
  • 将请求结果(HTTPS格式的报文)发送到客户端。

端口转发


提供丰富的内网TCP应用服务。


广泛支持静态端口的TCP应用:

  • 单端口单服务器(如:Telnet,SSH,MS RDP, VNC等)。

  • 单端口多服务器(如:Lotus Notes)。

  • 多端口多服务器(如:Outlook)。


支持动态端口的TCP应用:

  • 动态端口(如:FTP,Oracle)。


提供端口级的访问控制。


端口转发实现原理



端口转发特点

  • 实现对内网TCP应用的广泛支持。
  • 远程桌面、outlook、Notes、FTP等。
  • 所有数据流都经过加密认证。
  • 对用户进行统一的授权、认证。
  • 提供对TCP应用的访问控制。
  • 只需标准浏览器,不用安装客户端。

网络扩展




  • 分离模式:用户可以访问远端企业内网(通过虚拟网卡)和本地局域网(通过实际网卡),不能访问Internet。

  • 牛逼啊!接私活必备的 N 个开源项目!


  • 全路由模式:用户只允许访问远端企业内网(通过虚拟网卡),不能访问Internet和本地局域网。


  • 手动模式:用户可以访问远端企业内网特定网段的资源(通过虚拟网卡),对其它Internet和本地局域网的访问不受影响(通过实际网卡)。网段冲突时优先访问远端企业内网。


网络扩展实现过程



报文封装过程

可靠传输模式



快速传输模式



终端安全


主机检查


终端安全是在请求接入内网的主机上部署一个软件,通过该软件检查终端主机的安全状况。主要包括:主机检查、缓存清理。


主机检查:检查用户用来访问内网资源的主机是否符合安全要求。


主机检查策略包括如下检查项:
  • 杀毒软件检查
  • 防火墙检查
  • 注册表检查
  • 文件检查
  • 端口检查
  • 进程检查
  • 操作系统检查


缓存清理


USG可以在用户访问虚拟网关结束时,采用必要的手段清除终端.上的访问痕迹(例如生成的临时文件、Cookie等),以防止泄密,杜绝安全隐患。


清理范围:

  • Internet临时文件

  • 浏览器自动保存的密码

  • Cookie记录

  • 浏览器的访问历史记录

  • 回收站和最近打开的文档列表

  • 指定文件或文件夹


完善的日志功能



  • 日志查询

  • 日志导出

  • 虚拟网关管理员日志

  • 用户日志

  • 系统日志


认证授权



证书匿名认证


NGFW只通过验证用户的客户端证书来验证用户的身份。




1.用户在SSLVPN网关登录界面选择证书后,客户端会将客户端证书发送给网关。


2.网关会将客户端证书以及自己引用的CA证书的名称发送给证书模块。


3.证书模块会根据网关引用的CA证书检查客户端证书是否可信,并将结果返回给网关:


  • 如果网关引用的CA证书与客户端证书是同一个CA机构颁发的,且客户端证书在有效期内,则证书模块认为客户端证书可信,用户认证通过,继续执行4。扩展:这些书,真tm肝……


  • 如果证书模块认为客户端证书不可信,用户认证不通过,则执行5。


4.网关根据用户过滤字段从客户端证书中提取用户名。


  • 网关会从自己的角色授权列表中查找用户所属角色从而确认此用户的业务权限。


5.网关将认证结果返回给客户端。


认证结果为通过的用户能够登录SSLVPN网关界面,以相应的业务权限来使用SSL VPN业务。


认证结果为不通过的用户会在客户端上看到“您的证书验证非法,请提供合法的证书”。另外,搜索公众号Java架构师技术后台回复“面试题”,获取一份惊喜礼包。


证书挑战认证



证书挑战认证是指将验证客户端证书与本地认证或服务器认证结合起来。

证书+本地用户名密码证书+服务器认证


SSL VPN应用场景



SSL VPN单臂组网模式应用场景分析



在网络规划时,SVN的接口IP为内网IP地址,此地址需要能与所有被访问需求的服务器路由可达。


防火墙上需配置nat server,将SVN的地址映射到防火墙的某一公网IP. 上。也可以只映射部分端口,如443。如果外网用户有管理SVN的需求,还需要映射SSH、Telnet等端口。扩展:接私活儿


SSLVPN双臂组网模式应用场景分析




  • 在此类组网环境中,SVN使用两个不同的网口连接外网与内网,这种组网方式下,具有清晰的内网、外网概念;无需做额外的配置,外网口对应虚拟网关IP,内网口配置内网管理IP。


  • 虛拟网关IP不一定需要经过NAT转换,只要外网用户能够访问此虚拟网关IP地址即可。内外网接口没有特定的物理接口,任何一个物理接口都可以作为内网或外网接口。


  • 图中路由器和交换机之间处于连接状态。这是因为客户网络中可能有部分应用不需要经过SSL加密,而是直接通过防火墙访问外网。这时就需要在交换机和路由器.上配置策略路由,需要建立SSLVPN的流量就转发到SVN上,而普通的应用就直接通过防火墙访问外网。


SSL VPN配置步骤


1.配置接口


2.配置安全策略

  • 放行Untrust到L ocal安全区域的SSL VPN流量。

  • 放行Local到Trust安全区域的业务流量。


3.配置VPNDB


4.虚拟网关配置



5.业务选择



ensp将防火墙该功能阉割
欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个 赞 + 在看 啦!❤️

在 GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!

最后,整理了100多套项目,赠送读者。扫码下方二维码,后台回复赚钱即可获取。

--END--

来源:GitHub科技

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!

往期惊喜:

何谓架构?

一个很酷的后台权限管理系统

一个很酷的博客系统

一个很酷的快速开发代码生成器系统

看看人家那 IM 即时通讯系统,那叫一个优雅(附源码)

支付宝架构师眼中的高并发架构

负载均衡 LVS vs Nginx 对比!还傻傻分不清?

看看人家那企业级脚手架系统,那叫一个优雅

4.4万 Star,飘了!

这份日志格式规范,拿走不谢(Java版)

牛逼,团队工作的神器开源了!

Spring Boot 实现万能文件在线预览

从 7 分钟到 10 秒,Mybatis 批处理真的很强!

这是我见过最好的支付系统!


扫码关注我们的Java架构师技术

带你全面深入Java

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存