一、IPSec 与 SSL 的对比

IPSec 远程接入的局限性

  • 组网灵活性差:依赖固定的网络拓扑,对复杂网络环境适应性弱,调整网络结构时需重新配置大量参数。
  • 客户端依赖度高:必须安装专用客户端软件,增加了部署难度和用户操作成本,尤其在多设备、多系统环境下管理复杂。
  • 资源区分能力弱:仅能基于五元组(源 IP、目的 IP、源端口、目的端口、协议)建立连接,无法针对具体服务资源(如特定文件、URL)进行精细化控制。

SSL 的核心优势

  1. 协议层定位优势
    • 工作于传输层与应用层之间(OSI 模型表示层),安全防护针对应用层数据,不修改 IP 头部和 TCP 头部信息,对原有网络拓扑无影响。
    • 仅需网络中放行 HTTPS 协议即可正常工作,无需调整复杂的网络策略。
  2. 架构便捷性
    • 基于 B/S(浏览器 / 服务器)架构,利用浏览器内置的 SSL 功能实现接入,无需安装额外客户端软件,降低用户使用门槛。
  3. 精细化访问控制
    • 可实现文件级、URL 级别的权限管控,精准限制用户对内部资源的访问范围,提升安全性。

二、SSL 协议剖析

相关协议关联

  • FTPS = FTP + SSL:在 FTP 协议基础上增加 SSL 加密,保障文件传输安全。
  • SFTP = FTP + SSH:借助 SSH 协议实现文件传输加密,与 FTPS 实现类似功能但底层协议不同。
  • HTTPS = HTTP + SSL:通过 SSL 对 HTTP 协议进行加密,广泛用于网页安全访问。
  • SSH = Telnet + SSL:替代明文传输的 Telnet,通过 SSL 加密实现远程登录安全。

发展历程

  • 1994 年,网景公司推出SSL(安全套接层) 协议。
  • 1999 年,IETF(互联网工程任务组)将 SSL 标准化为TLS(传输层安全协议),目前 TLS 已成为主流,如 TLS 1.2、TLS 1.3。

核心特性

  • 基于 TCP 协议工作,可保护所有运行在 TCP 上的应用层协议(如 HTTP、FTP、Telnet 等)。
  • 局限性:无法保护基于 UDP 的应用层协议(如 DNS、TFTP 等),需依赖其他技术补充。

三、SSL 工作原理

协议分层结构

  1. SSL 记录协议(下层)

    • 功能:对上层协议数据进行分块(≤16KB)、可选压缩、计算 HMAC(消息认证码)、加密,最终封装为记录块传输。
    • 作用:确保数据在传输过程中的机密性、完整性和真实性。
  2. 上层协议

    • SSL 握手协议:核心协议,负责客户端与服务器的相互认证、加密算法协商(如对称加密算法 AES、非对称加密算法 RSA)、哈希算法协商(如 SHA-256)及会话密钥生成。
    • SSL 密码变化协议:仅含一个报文,用于通知对端后续数据将采用协商后的加密参数传输。
    • SSL 告警协议:当检测到错误(如证书无效、加密算法不支持)时,向对端发送告警信息,可终止连接。

完整工作流程

步骤 1:TCP 三次握手
  • 客户端与服务器先建立 TCP 连接(默认端口 443),为 SSL 握手提供底层网络通道。
步骤 2:客户端发起 SSL 握手(Client Hello)
  • 客户端发送包含以下信息的报文:
    • 支持的 SSL/TLS 版本(如 TLS 1.3)。
    • 客户端生成的随机数(Client Random)。
    • 支持的加密套件列表(如 ECDHE-ECDSA-AES256-GCM-SHA384)。
    • 会话 ID(若需恢复之前的会话)。
步骤 3:服务器响应(Server Hello 及后续报文)
  • Server Hello:服务器从客户端提供的选项中选定 SSL 版本、加密套件,并生成服务器随机数(Server Random)。
  • 服务器证书:包含服务器公钥、证书颁发机构(CA)信息等,由 CA 签名,用于客户端验证服务器身份(强制要求)。
  • Server Key Exchange(可选):若加密套件需要额外参数(如 DH 算法的公钥参数),在此提供,并用服务器私钥签名。
  • Certificate Request(可选):若需客户端认证,服务器请求客户端提供证书。
  • Server Hello Done:通知客户端服务器已完成初始响应,等待客户端后续报文。
步骤 4:客户端回应
  • 证书验证:客户端验证服务器证书的有效性(检查 CA 签名、有效期、吊销状态等)。
  • Client Certificate(可选):若服务器请求,客户端发送自身证书。
  • Client Key Exchange
    • 若使用 RSA 算法:客户端生成预主密钥(Pre-Master Secret),用服务器公钥加密后发送。
    • 若使用 DH/ECDH 算法:客户端生成 DH 公钥,发送给服务器,双方基于各自私钥和对方公钥计算共享密钥。
  • Certificate Verify(可选):若发送了客户端证书,用客户端私钥对关键参数签名,证明证书所有权。
  • Change Cipher Spec:通知服务器后续数据将使用协商的加密套件和会话密钥。
  • Finished:发送用会话密钥加密的握手消息摘要,验证握手过程的完整性。
步骤 5:服务器最终响应
  • Change Cipher Spec:通知客户端后续数据使用加密传输。
  • Finished:发送加密的握手消息摘要,完成握手。
  • New Session Ticket(可选):服务器生成会话票据(包含会话密钥、加密套件等信息,用服务器密钥加密),客户端保存后,下次连接可通过该票据快速恢复会话,无需重新完整握手。

加密过程细节

  1. 分片:将应用层数据分割为≤16KB 的块(适配对称加密的分组长度)。
  2. 压缩:可选步骤,减少数据量(现代 TLS 常禁用,因压缩可能引入安全漏洞)。
  3. HMAC 计算:基于哈希算法(如 SHA-256)生成消息认证码,确保数据未被篡改或伪造。
  4. 加密:用协商的对称加密算法(如 AES-GCM)对 “压缩数据 + HMAC” 进行加密,保障机密性。

脆弱性分析

  • UDP 协议支持缺失:无法保护 UDP 应用,需依赖 VPN 的网络扩展等技术补充。
  • 客户端身份认证可选:默认仅验证服务器,若未启用客户端认证,可能存在客户端假冒风险。
  • 流量分析风险:无法隐藏通信双方的 IP 地址和通信频率等元数据,可能被用于流量分析。

四、SSL虚拟局域网技术

定义

远程用户通过 Web 浏览器内置的 SSL 功能,连接企业内部 SSL虚拟局域网服务器,经身份认证后访问指定内网资源的轻量级远程接入方案。

核心技术:虚拟网

  • 作用:作为用户接入的统一接口,一台设备可创建多个独立虚拟网关,隔离不同用户群体或业务。
  • 工作流程
    1. 用户通过浏览器访问虚拟网关(如https://vpn.example.com)。
    2. 完成身份认证后,虚拟网关推送可访问的内网资源列表。
    3. 用户选择资源后,虚拟网关负责数据转发和协议转换。
  • 配置示例
    [FW1]v-gateway ssl_server interface GigabitEthernet 1/0/0 port 4430 private
    # 创建名为ssl_server的虚拟网关,绑定接口GE1/0/0,端口4430,独占模式
    
  • 认证方式

    • 本地认证:用户信息存储在 VPN 设备本地。
    • 服务器认证:对接外部认证服务器(如 RADIUS、LDAP)。
    • 证书匿名认证:通过验证客户端证书确认身份,无需用户名密码。
    • 证书挑战认证:结合用户名密码和客户端证书,双重验证。

提供的资源及技术

1. Web 代理
  • 核心功能
    • URL 级别访问控制:精确限制用户可访问的网页路径。
    • 隐藏真实 URL:用户访问的是经代理转换的 URL(如https://vpn.example.com/webproxy/1/16548651/4/http://internal.site/resource),隐藏内网真实地址。
  • 代理方式
    • web-link:直接跳转至目标 URL,适合简单静态页面。
    • web 改写:对网页内容中的链接、图片等资源地址进行自动替换,适配代理路径,适合动态页面。
对比项Web 改写Web-Link
安全性对真实的 URL 进行改写,隐藏内网服务器地址,安全性较高。对 URL 不会进行改写,直接转发 Web 请求和响应,会暴露内网服务器的真实地址
易用性不依赖 IE 控件,在非 IE 环境的浏览器中可以正常使用。依赖 IE 控件,在非 IE 环境中无法正常使用。
兼容性由于 Web 技术发展非常迅速,防火墙对于各类 URL 资源的改写无法做到面面俱到,可能会出现图片错位,字体显示不正常等问题。无需对资源进行改写,由防火墙直接对请求和响应进行转发,所以没有页面兼容性的问题。
使用建议优先推荐使用 Web 改写,因为这是最安全、最方便的一种访问方式。如果出现页面显示异常,再考虑 Web-Link 方式。Web-Link 作为 Web 改写的最佳替补,但由于依赖 IE 控件,必然在使用上存在局限性。而且没有对内网 URL 进行改写,存在安全风险。

2. 文件共享
  • 支持协议:SMB(Windows 文件共享)、NFS(Linux/Unix 文件共享)。
  • 工作原理:将客户端的 HTTPS 请求 “翻译” 为 SMB/NFS 协议报文,与内网文件服务器通信,再将响应封装为 HTTPS 返回给客户端。
3. 端口转发(端口映射)
  • 适用场景:访问基于 TCP 的非 Web 应用(如 Telnet、SSH、邮件服务 POP3/IMAP)。
  • 技术依赖:通过 IE 浏览器的 Active X 控件(或其他浏览器插件)检测本地应用发起的 TCP 请求,将其转发至虚拟网关,再由网关转发至内网目标服务。
4. 网络扩展
  • 适用场景:保护基于 UDP 的应用(如视频会议、VoIP)或需要内网 IP 访问的场景。
  • 工作流程
    1. 用户登录虚拟网关后,触发 SSL VPN 隧道建立。
    2. 客户端自动生成虚拟网卡,由虚拟网关分配内网 IP。
    3. 虚拟网关下发内网路由信息,客户端通过虚拟网卡访问内网资源。
  • 封装方式

    • 可靠传输模式:UDP 数据先封装为 TCP 报文,再通过 SSL 加密,确保传输可靠性(适合丢包敏感场景)。
    • 快速传输模式:直接对 UDP 数据进行 SSL 加密传输,减少延迟(适合实时性要求高的场景)。
  • 路由模式

    • 分离路由模式:内网流量走虚拟网卡,公网流量走物理网卡。
    • 全路由模式:所有流量均通过虚拟网卡,适合需要严格管控的场景。
    • 手动路由模式:管理员手动配置内网路由,客户端按配置转发。

更多推荐