1. SSLVPN 是指基于安全套接层协议,建立远程安全访问通道的 VPN 技术。

    基本信息:
    SSL 协议主要由 SSL 记录协议和握手协议组成,共同为应用访问连接提供认证、加密和防篡改功能。
    SSL 握手协议相对于 IPSEC 协议体系中的 IKE (互联网密钥交换协议)协议,主要用于服务器和用户之间的相互认证,协商加密算法和 MAC(Message Authentication Code)算法,用于生成在 SSL 记录协议中使用的加密和认证密钥。SSL 记录协议是为了各种应用协议提供基本的安全服务,类似于 IPSEC 的传输模式,应用程序消息参照MTU被分割成可治理的数据块(可进行数据压缩处理),并产生一个 MAC 信息,加密后插入新的报头,最后在 TCP 中加以传输,接收端将收到的数据解密,做一个身份验证(MAC 认证)、解压缩、重组数据报然后交给应用层协议进行处理。

    协议优势:
    SSL VPN 客户端程序直接使用浏览器,并不需要再次安装。
    SSL VPN 可以在 NAT 代理装置上以透明模式工作。
    SSL VPN 不会受到防火墙等设备的影响。
    SSL VPN 部署和支持费用低
    但 SSL VPN 性能不如 IPSec VPN

    协议版本

    • SSL 1.0 从未公开,因为其存在严重的安全漏洞
    • SSL 2.0 1995.2 发布,但因为存在数个严重安全漏洞被 SSL 3.0 代替
    • SSL 3.0 1996 发布,完全重新设计,较新的 SSL/TLS 基于 SSL 3.0。

    工作方式:

    1. 发送一个「ClientHello」消息,内容包括:支持的协议版本,比如TLS1.0版,一个客户端生成的随机数(稍后用于生成“会话密钥”),支持的加密算法(如RSA公钥加密)和支持的压缩算法。
    2. 然后收到一个「ServerHello」消息,内容包括:确认使用的加密通信协议版本,比如TLS 1.0版本(如果浏览器与服务器支持的版本不一致,服务器关闭加密通信),一个服务器生成的随机数(稍后用于生成“对话密钥”),确认使用的加密方法(如RSA公钥加密),服务器证书。
    3. 当双方知道了连接参数,客户端与服务器交换证书(依靠被选择的公钥系统)。这些证书通常基于X.509,不过已有草案支持以OpenPGP为基础的证书。
    4. 服务器请求客户端公钥。客户端有证书即双向身份认证,没证书时随机生成公钥。
    5. 客户端与服务器通过公钥保密协商共同的主私钥(双方随机协商),这通过精心谨慎设计的伪随机数功能实现。结果可能使用Diffie-Hellman交换,或简化的公钥加密,双方各自用私钥解密。所有其他关键数据的加密均使用这个「主密钥」。数据传输中记录层(Record layer)用于封装更高层的HTTP等协议。记录层数据可以被随意压缩、加密,与消息验证码压缩在一起。每个记录层包都有一个Content-Type段用以记录更上层用的协议。

    image.png

    工作模式:

    1. Clientless Mode
      1. 无客户端模式
      2. 提供安全的Web资源访问和基于 Web 的内容访问
      3. 使用 CIFS 提供远程文件共享
      4. 主要支持 HTTP 和 CIFS 运用
    2. Thin Client Mode
      1. 瘦客户端模式,也称为端口转发
      2. 提供客户端 TCP 服务的远程访问 (EX : POP3 SMTP IMAP Telnet SSH)
      3. 瘦客户端在 SSL VPN 会话建立后通过 Java 程序方式动态下载
      4. 增强网页浏览器的加密功能
    3. Thick Client Mode
      1. 厚客户端,也叫做 Tunnel Mode or Full Tunnel Client
      2. 提供应用程序支持
      3. 客户端软件在 VPN 服务器上动态下载
      4. 支持所有 IP 协议