目录
一、SSL工作过程
1.SSL握手协议的第一阶段
2.SSL握手协议的第二阶段
3.SSL握手协议的第三阶段编辑
4.SSL握手协议的第四阶段编辑
二、SSL预主密钥有什么作用?
三、SSL VPN主要用于那些场景?
四、SSL VPN的实现方式有哪些?
1.虚拟网关
2.WEB代理
3.文件共享
4.端口转发
5.网络扩展
五、SSL VPN客户端安全要求有哪些?
1.主机检查
2.缓存清除
3. 认证授权
六、SSL VPN的实现,防火墙需要放行哪些流量?
七、SSL VPN 功能总结
SSL(Secure Sockets Layer)是一种用于保护网络通信安全的协议。SSL的工作过程如下:
客户端发起连接请求:客户端向服务器发送连接请求,请求建立一个安全的SSL连接。
服务器响应:服务器接收到客户端的连接请求后,如果支持SSL协议,就会返回一个数字证书。数字证书包含了服务器的公钥以及其他相关信息,用于证明服务器的身份。
客户端验证服务器的证书:客户端会验证服务器返回的证书的有效性和合法性。验证过程包括检查证书的签名是否可信、证书是否过期、域名是否匹配等。如果验证失败,客户端会中止连接,或者提示用户关于证书不受信任的信息。
客户端生成随机数和密钥:客户端会生成一个随机数作为对称加密算法的密钥,并使用服务器的公钥对该密钥进行加密。
服务器解密密钥:服务器使用自己的私钥来解密客户端发来的密钥。
确立加密算法和参数:客户端和服务器根据各自支持的加密算法列表,选择一个适用的对称加密算法和参数,用于之后的数据加密。之后,客户端和服务器都知道使用同一个对称密钥进行通信。
建立SSL连接:客户端通过对称密钥加密算法加密一条消息,并发送给服务器。服务器收到消息后,使用对称密钥解密,确认连接建立成功。此后,客户端和服务器之间的通信将使用对称密钥进行加密和解密。
安全通信:客户端和服务器使用对称密钥进行加密和解密,保证通信的机密性和完整性。加密数据在传输过程中,即使被截获,也无法理解其中的内容。
client key exchange客户端密钥交换:根据服务端随机数算出一个pre-master,发给服务器,服务器收到后根据pre-master密钥生成一个main-matser。
预主密钥结合前面发的客户端随机数和服务器端随机数衍生出一个主密钥。然后主密钥会衍生出三个东西:共享密钥(对称加密的密钥);完整性的密钥(认证密钥);初始化向量。
SSL预主密钥(Pre-Master Secret)是在SSL/TLS握手过程中由客户端生成的一个随机数,用于协商会话密钥。它的作用有以下几个方面:
1.安全性:SSL预主密钥的生成是在客户端和服务器之间进行的,而不是通过网络传输。这样可以确保预主密钥在传输过程中不被窃听或篡改,提高了通信的安全性。
2.密钥协商:SSL握手过程中,客户端和服务器使用预主密钥来生成会话密钥(Session Key)。会话密钥是用于加密和解密数据的对称密钥。通过使用预主密钥,客户端和服务器可以协商出相同的会话密钥,从而实现安全的通信。
3.前向保密:预主密钥的生成过程中使用了随机数和其他密钥材料,这使得预主密钥具有前向保密性质。前向保密意味着即使在将来主密钥被泄漏,之前的会话仍然是安全的,因为会话密钥的生成是基于预主密钥,预主密钥不会被存储或传输,只在握手时生成。
SSL VPN是以SSL(Secure Sockets Layer)/TLS(Transport Layer Security)协议为基础,利用标准浏览器都内置支持SSL/TLS的优势,对其应用功能进行扩展的新型VPN。
SSL VPN每个虚拟网关可以独立管理,可以配置各自的资源,用户、认证方式,访问控制以及管理员。 并且相互隔离。
使用Web代理,用户只需标准的浏览器,终端不需安装任何客户端软件,就能够实现Web资源的安全访问,比如:内网网页浏览、Outlook Web Access和iNotes访问。
实现过程:
web-link :使用 activeX 控件方式,对页面进行请求web 改写:将所请求页面上链接进行改写,其他内容不变。
文件共享主要是通过协议转换技术,将网络文件系统NFS(Network File System)转换成HTTPS(Hypertext Transfer Protocol Secure)协议,用户直接通过浏览器就能够创建和浏览目录,进行新建、下载、上传、修改、删除文件操作。
实现过程:
实现原理
支持协议
SSL协议只应用于浏览器,端口转发是SSL协议的应用扩展。端口转发在应用层控制用户可以访问的应用服务(比如Telnet、远程桌面、FTP(File Transfer Protocol)和Email)。
实现过程:
提供内网TCP资源的访问,C/S资源
单端口单服务:telnet、SSH、MS、RDP、VNC
单端口多服务:notes
多端口多服务:outlook
自动安装运行一个 ActiveX控件,获取到管理端配置的端口转发资源列表(目的服务器IP、端口)。控件将客户端发起的TCP报文与资源列表进行比对,当发现报文的目的IP/Port与资源列表中的表项匹配,则截获报文,开启侦听端口(目的端口经过特定算法得出),并将目的地址改写为回环地址,转发到侦听端口。对该报文加密封装,添加私有报文头,将目的地址设为USG的IP地址,经由侦听端口发往USG。USG收到报文进行解密,发往真实的目的服务器端口。USG收到服务器的响应后,再加密封装回传给用户终端的侦听端口。
网络扩展功能是基于SSL协议进行的功能扩展,实现了对所有IP应用的支持,用户远程访问内网资源就像访问局域网一样方便。
在用户端安装网络扩展客户端后,客户端生成的虚拟网卡将截获的原始IP报文经过SSL协议封装后转发至虚拟网关,从而使用户的机器如同工作在企业内网一样,用户能够快速、安全地访问企业内网的所有资源(在没有进行ACL(Access Control List)访问控制限制的情况下)。
访问模式:
三种流量:去对方内网;去互联网;去本地局域网
全路由模式:三种流量都走隧道,代表本地不能访问互联网,也可通过隧道访问,也可访问本地局域网。
分离模式:对方内网流量走隧道,本地局域网流量走物理网卡,互联网流量不能走。意味着能访问对方内网,能访问本地局域网,不能访问互联网。
手动模式:对方内网流量走隧道,本地局域网流量和互联网流量走物理网卡。意味着都能访问,互联网走本地。
终端安全是在请求内网主机上部署一个软件,通过该软件检查终端的安全性包括:主机检查、缓存清除、认证授权。
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 产品的文档或联系供应商以获取准确的配置要求。此外,为了确保安全性,仅放行必要的流量,并遵循最佳安全实践,如限制访问权限、强化身份验证等。