安全防御之SSL VPN技术详解

admin 2024年1月25日13:46:30评论11 views字数 4344阅读14分28秒阅读模式

安全防御之SSL VPN技术详解

一、SSL工作过程

SSL(Secure Sockets Layer)是一种用于保护网络通信安全的协议。SSL的工作过程如下:

安全防御之SSL VPN技术详解

客户端发起连接请求:客户端向服务器发送连接请求,请求建立一个安全的SSL连接。

服务器响应:服务器接收到客户端的连接请求后,如果支持SSL协议,就会返回一个数字证书。数字证书包含了服务器的公钥以及其他相关信息,用于证明服务器的身份。

客户端验证服务器的证书:客户端会验证服务器返回的证书的有效性和合法性。验证过程包括检查证书的签名是否可信、证书是否过期、域名是否匹配等。如果验证失败,客户端会中止连接,或者提示用户关于证书不受信任的信息。

客户端生成随机数和密钥:客户端会生成一个随机数作为对称加密算法的密钥,并使用服务器的公钥对该密钥进行加密。

服务器解密密钥:服务器使用自己的私钥来解密客户端发来的密钥。

确立加密算法和参数:客户端和服务器根据各自支持的加密算法列表,选择一个适用的对称加密算法和参数,用于之后的数据加密。之后,客户端和服务器都知道使用同一个对称密钥进行通信。

建立SSL连接:客户端通过对称密钥加密算法加密一条消息,并发送给服务器。服务器收到消息后,使用对称密钥解密,确认连接建立成功。此后,客户端和服务器之间的通信将使用对称密钥进行加密和解密。

安全通信:客户端和服务器使用对称密钥进行加密和解密,保证通信的机密性和完整性。加密数据在传输过程中,即使被截获,也无法理解其中的内容。

1.SSL握手协议的第一阶段

客户端首先发送 client hello 消息到服务端,服务端收到 client hello 信息后,再发送server hello消息到客户端。

安全防御之SSL VPN技术详解

随机数: 32 位时间戳 +28 字节随机序列,用于计算摘要信息和预主密钥或主密钥的参数。

会话 ID :一次性会话 ID ,防止重放攻击。

2.SSL握手协议的第二阶段

安全防御之SSL VPN技术详解

服务器的证书:包含服务端公钥的证书,用于客户端给服务端发送信息时加密。

server key exchange 服务端密钥交换:决定密钥交换的方式,比如 DH,RSA ,会包含密钥交换所需的一系列参数。

3.SSL握手协议的第三阶段

安全防御之SSL VPN技术详解

client key exchange客户端密钥交换:根据服务端随机数算出一个pre-master,发给服务器,服务器收到后根据pre-master密钥生成一个main-matser。

4.SSL握手协议的第四阶段

安全防御之SSL VPN技术详解

二、SSL预主密钥有什么作用?

预主密钥结合前面发的客户端随机数和服务器端随机数衍生出一个主密钥。然后主密钥会衍生出三个东西:共享密钥(对称加密的密钥);完整性的密钥(认证密钥);初始化向量。

SSL预主密钥(Pre-Master Secret)是在SSL/TLS握手过程中由客户端生成的一个随机数,用于协商会话密钥。它的作用有以下几个方面:

1.安全性:SSL预主密钥的生成是在客户端和服务器之间进行的,而不是通过网络传输。这样可以确保预主密钥在传输过程中不被窃听或篡改,提高了通信的安全性。

2.密钥协商:SSL握手过程中,客户端和服务器使用预主密钥来生成会话密钥(Session Key)。会话密钥是用于加密和解密数据的对称密钥。通过使用预主密钥,客户端和服务器可以协商出相同的会话密钥,从而实现安全的通信。

3.前向保密:预主密钥的生成过程中使用了随机数和其他密钥材料,这使得预主密钥具有前向保密性质。前向保密意味着即使在将来主密钥被泄漏,之前的会话仍然是安全的,因为会话密钥的生成是基于预主密钥,预主密钥不会被存储或传输,只在握手时生成。

附:预主密钥和主密钥的关系

安全防御之SSL VPN技术详解

三、SSL VPN主要用于那些场景?

SSL VPN是以SSL(Secure Sockets Layer)/TLS(Transport Layer Security)协议为基础,利用标准浏览器都内置支持SSL/TLS的优势,对其应用功能进行扩展的新型VPN。

有浏览器的设备就可以使用 SSL ,进而使用 SSL VPN ,不需要担心客户端问题,所以 SSL VPN 也能称之为无客户端VPN 。 SSL VPN 在 client to Lan场景下 特别有优势。

SSL VPN和IPsec VPN区别:

安全防御之SSL VPN技术详解

IPSec是网络层保证IP通讯而提供的协议族,以网络层为中心

SSL是套接字层保护HTTP通讯的协议,以应用层为中心

优势:

安全防御之SSL VPN技术详解

四、SSL VPN的实现方式有哪些?

1.虚拟网关

安全防御之SSL VPN技术详解

SSL VPN每个虚拟网关可以独立管理,可以配置各自的资源,用户、认证方式,访问控制以及管理员。 并且相互隔离。

2.WEB代理

使用Web代理,用户只需标准的浏览器,终端不需安装任何客户端软件,就能够实现Web资源的安全访问,比如:内网网页浏览、Outlook Web Access和iNotes访问。

实现过程:

安全防御之SSL VPN技术详解

实现方式:

web-link :使用 activeX 控件方式,对页面进行请求

web 改写:将所请求页面上链接进行改写,其他内容不变。

实现结果:

实现对内网 web 资源的安全访问。

内网 web 资源只有私网地址,在不做 NAT 的情况下,可以通过 SSL VPN 实现对其的代理安全访问。

内网 web 资源只有私网地址,在做 NAT 的情况下,公网用户可以实现对其访问,但是 web 资源没有

使用安全传输协议, SSL VPN 可以实现对其 https 安全访问。

3.文件共享

文件共享主要是通过协议转换技术,将网络文件系统NFS(Network File System)转换成HTTPS(Hypertext Transfer Protocol Secure)协议,用户直接通过浏览器就能够创建和浏览目录,进行新建、下载、上传、修改、删除文件操作。

实现过程:

安全防御之SSL VPN技术详解

实现原理

协议转换:无需客户端,直接通过浏览器访问转为内网文件共享的相应协议格式,使用activeX控件。

支持协议

SMB  windows

NFS  linux

4.端口转发

SSL协议只应用于浏览器,端口转发是SSL协议的应用扩展。端口转发在应用层控制用户可以访问的应用服务(比如Telnet、远程桌面、FTP(File Transfer Protocol)和Email)。

实现过程:

安全防御之SSL VPN技术详解

实现原理:安装activeX控件,本质是NAT过程。

安全防御之SSL VPN技术详解

提供内网TCP资源的访问,C/S资源

提供丰富的静态端口的TCP应用

单端口单服务:telnet、SSH、MS、RDP、VNC

单端口多服务:notes

多端口多服务:outlook

动态端口TCP应用

提供端口的访问控制

自动安装运行一个 ActiveX控件,获取到管理端配置的端口转发资源列表(目的服务器IP、端口)。控件将客户端发起的TCP报文与资源列表进行比对,当发现报文的目的IP/Port与资源列表中的表项匹配,则截获报文,开启侦听端口(目的端口经过特定算法得出),并将目的地址改写为回环地址,转发到侦听端口。对该报文加密封装,添加私有报文头,将目的地址设为USG的IP地址,经由侦听端口发往USG。USG收到报文进行解密,发往真实的目的服务器端口。USG收到服务器的响应后,再加密封装回传给用户终端的侦听端口。

安全防御之SSL VPN技术详解

5.网络扩展

网络扩展功能是基于SSL协议进行的功能扩展,实现了对所有IP应用的支持,用户远程访问内网资源就像访问局域网一样方便。

在用户端安装网络扩展客户端后,客户端生成的虚拟网卡将截获的原始IP报文经过SSL协议封装后转发至虚拟网关,从而使用户的机器如同工作在企业内网一样,用户能够快速、安全地访问企业内网的所有资源(在没有进行ACL(Access Control List)访问控制限制的情况下)。

安全防御之SSL VPN技术详解

访问模式:

三种流量:去对方内网;去互联网;去本地局域网

全路由模式:三种流量都走隧道,代表本地不能访问互联网,也可通过隧道访问,也可访问本地局域网。

分离模式:对方内网流量走隧道,本地局域网流量走物理网卡,互联网流量不能走。意味着能访问对方内网,能访问本地局域网,不能访问互联网。

手动模式:对方内网流量走隧道,本地局域网流量和互联网流量走物理网卡。意味着都能访问,互联网走本地。

五、SSL VPN客户端安全要求有哪些?

终端安全是在请求内网主机上部署一个软件,通过该软件检查终端的安全性包括:主机检查、缓存清除、认证授权。

1.主机检查

杀毒软件检查

防火墙设置检查

注册表检查

端口检查

进程检查

操作系统检查

2.缓存清除

internet临时文件

浏览器自动保存密码

cookie记录

浏览器访问历史记录

回收站和最近打开的文件

指定文件或文件夹

3. 认证授权

vpndb的认证授权

第三方服务认证授权

数字证书的认证

短信辅助认证

六、SSL VPN的实现,防火墙需要放行哪些流量?

1.SSL/TLS协议流量:SSL VPN 使用 SSL/TLS 协议来进行加密通信,因此防火墙需要允许相关的 SSL/TLS 流量通过。通常情况下,这些流量使用 TCP 端口号 443,可以通过防火墙的规则配置进行放行。

2.VPN控制流量:SSL VPN 需要使用一组专门的协议和端口来进行 VPN 连接的建立、终止和维护,如HTTPS、UDP等。具体取决于所采用的 SSL VPN 解决方案和配置方式,防火墙需要放行相关的控制流量,以便客户端可以与服务器端正确地进行握手和身份验证。

3.VPN数据流量:一旦 SSL VPN 连接建立成功,数据流量将通过 SSL/TLS 隧道进行传输。防火墙需要放行与 VPN 数据流量相关的端口和协议,以确保数据的正常传输。这些端口和协议也视具体的 SSL VPN 实现而有所不同,可以是TCP、UDP或其他协议。

4.认证和授权服务流量:在一些实现中,SSL VPN 可能需要与认证服务器、授权服务器或其他基础设施进行交互,例如LDAP、RADIUS等。防火墙需要放行与此相关的流量,以确保用户的身份验证和授权过程的正常进行。

5.可选的应用程序特定流量:某些 SSL VPN 实现可以支持特定的应用程序代理,允许用户在 VPN 连接上访问特定的应用程序或服务。如果你使用了这样的应用程序代理功能,防火墙可能需要放行该应用程序所使用的额外端口和协议。

需要注意的是,以上流量需根据具体的 SSL VPN 解决方案和部署配置来确定,可能会有差异。建议参考所使用的 SSL VPN 产品的文档或联系供应商以获取准确的配置要求。此外,为了确保安全性,仅放行必要的流量,并遵循最佳安全实践,如限制访问权限、强化身份验证等。

七、SSL VPN 功能总结

安全防御之SSL VPN技术详解

配置:

安全防御之SSL VPN技术详解

END
安全防御之SSL VPN技术详解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_63292411/article/details/132191564

版权声明:著作权归作者所有。如有侵权请联系删除

原文始发于微信公众号(开源聚合网络空间安全研究院):安全防御之SSL VPN技术详解

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月25日13:46:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   安全防御之SSL VPN技术详解https://cn-sec.com/archives/2427044.html

发表评论

匿名网友 填写信息