文章目录
-
目录
一.SSL-VPN概述
SLL VPN是一种基于HTTPS(即支持SSL的HTTP协议)的远程安全接入技术。它充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制,从而为用户远程访问公司内部网络提供安全保障。
优点
SSL VPN具有多项显著特点。首先,它采用无客户端部署 ,这是因为Web浏览器都内嵌支持SSL协议,使得远程安全接入的使用变得非常简单。此外,SSL VPN工作在传输层和应用层之间,不会改变IP报文头和TCP报文头,也不会影响原有网络拓扑。因此,其部署、配置和维护都相对简便和低成本。
从安全性角度看,SSL VPN采用公匙加密的方式保障数据在传输过程中的安全性。它使用浏览器和服务器直接沟通的方式,既方便了用户的使用,又通过SSL协议保证了数据的安全。此外,SSL VPN还可以对应用进行精细化管控,对具体的应用进行保护。
与IPSec VPN相比,SSL VPN具有架构简单、运营成本低、处理速度快和安全性能高等特点。然而,由于SSL VPN是基于WEB开发的,通过浏览器来使用,因此,在保障其安全运营方面,需要不断更新安全技术以应对电脑病毒的多样性。
SSL 协议封装解析:
二.SSL协议的工作原理
- SSL记录协议:应用层的数据加密封装之后,放置在这个记录协议中。
- SSL握手协议:允许服务器和客户端相互认证,并在应用层协议传输数据之前,协商出一个 加密算法和会话密钥(对称加密算法的密钥)。
- SSL密码变化协议:通知后面的数据将使用协商出来 的加密算法加密传输。
- SSL警告协议: 用来在出现错误的时候进行告警
SSL协议(Secure Socket Layer,安全套接字层)的工作原理主要涉及到在客户端和服务器之间建立一条安全的信息传输加密通道,以确保数据在传输过程中的安全性和完整性。
以下是SSL协议的主要工作原理:前提建立TCP连接
1.客户端发起连接请求:
2.服务器回应并发送证书:
该数据包中没有实质参数,仅起到通知作用,通知客户端,服务器已经做好准备进行主 密钥的协商。
3.密钥交换:客户端
因为此时客户端已经拥有服务器的公钥,所以,发送的参数都是加密(公钥加密,非对 称加密算法)发送的。
- 1,预主密钥---pre-master-key ---- 注意,最终的会话密钥就是靠三个随机数 生成--- 1,客户端发送的随机数;
- 2,服务器发送的随机数;
- 3,预主密钥(加密 发送)---因为机器产生的随机数都是伪随机数,所以,可能存在被破解的风险, 所以,使用三个随机数进行计算,更安全。三个随机数相当于是真随机。
- 2,编码变更通知---因为此时客户端已经拥有三个随机数,可以计算出最最终的 会话密钥,所以,告知服务器,后面是数据可以加密传输了。
- 3,结束通知---告知结束,并进行一次验证
6**.密钥交换**:服务端
Session ticket --- 进行会话复用---- 主要记录身份认证信息。----会话结束之后,如 果需要重启会话,在重新进行握手是,客户端发送hello时,可以携带该参数,用于快速 重启会话。(省略了身份认证。)
三.虚拟网关技术
SSL VPN中的虚拟网关是远程用户访问企业内网资源的统一入口。这个虚拟网关是由FW(防火墙)设备提供的SSL VPN接入服务功能模块,用于处理远程用户的连接请求和管理访问权限。
在设备上部署SSL VPN功能时,管理员需要先创建虚拟网关。每个虚拟网关之间相互独立,互不影响,管理员可以在虚拟网关下配置各自的用户、资源和策略,进行单独管理。虚拟网关本身没有独立的管理员,所有虚拟网关的创建、配置、修改和删除等管理操作都由FW的系统管理员统一完成。
远程用户通过Web浏览器(客户端)登录虚拟网关,请求建立SSL连接。虚拟网关会向远程用户发送自己的本地证书,进行身份认证。认证通过后,远程用户与虚拟网关成功建立SSL连接,之后虚拟网关会对远程用户进行用户认证,验证用户身份。
在虚拟网关建立后,管理员还需要在虚拟网关下配置SSL VPN的基本功能、WEB代理业务、端口转发业务、网络扩展业务和页面定制功能,以满足不同用户的访问需求.
用户认证方式
本地认证
基于本地用户名和密码的认证方式。这种方式要求用户在虚拟网关上拥有账户,并输入正确的用户名和密码才能访问资源。
服务器认证:
通过对接第三方的认证服务器,也是输入用户名和密码,不过这个信息存 储在第三方服务器上,由第三方服务器进行认证判断,之后将结果反馈给防火墙。
证书匿名认证
防火墙通过验证客户端证书的合法性实现身份验证。
身份认证通过需求:
- 服务器能够使用CA机构颁发的客户端CA证书中包含的公钥能够解开客户端用于身份验证的客户端证书(包含CA私钥)---证明该用户身份的合法性。
- 服务器通过识别客户端证书用户过滤字段来确认管理员是否配置了并存贮了用户信息从而确认服务器是否允许该用户访问。
Web代理
服务器将访问本地资源的URL发布在虚拟网关的资源列表中,虚拟网关改写该URL(如上图),用户成功登录虚拟网关后通过获取资源列表信息中被改写的URL访问服务器;用户的请求报文会发送给虚拟网关,虚拟网关代替用户向服务器请求资源;然后虚拟网关再次代替服务器给用户回复资源响应报文。
Web-link和Web改写
端口转发
主要针对非web服务且基于TCP协议(例如:SSH,远程登录)
前提:需要下载一个IE浏览器的控件---ActiveX
虚拟网关会将资源资源访问路径(例如:1.1.1.1:23)下发给客户端的ActiveXk控件,ActiveX会监听客户端的动作,若客户端访问IP:1.1.1.+端口23 时(IP+端口同时满足)会触发ActiveX控件,ActiveX将该报文拦截并发送给虚拟网关。
网络扩展(允许UDP协议)
如果需要获取"网络扩展"的资源,则客户端再接入虚拟网关之后,会生成一张虚拟网 卡。虚拟网关会给这个虚拟网卡下发一个私网网段的IP地址用于封装报文(参考GRE)建立进入与虚拟网关连接的隧道,后面过程如上图。
快速传输模式