5、VPN 网关
VPN 网关是一款网络连接服务,通过建立加密隧道的方式实现企业本地数据中心、企业办公网络、互联网客户端与阿里云专有网络 VPC(Virtual Private Cloud)之间安全可靠的私网连接。
说明 阿里云VPN网关在国家相关政策法规内提供服务,仅支持建立非跨境连接,不支持建立跨境连接。更多信息,请参见什么是跨境连接和非跨境连接?。
VPN 网关提供 IPsec-VPN 和 SSL-VPN 两种网络连接方式,不同的网络连接方式适用于不同的应用场景。
5.1、VPN 类型
5.1.1、IPsec-VPN
IPsec-VPN 是一种基于路由的网络连接技术,提供灵活的流量路由方式,方便您配置和维护 VPN 策略,适用于在企业本地数据中心或企业办公网络与 VPC 之间建立网络连接。
在您创建 IPsec-VPN 的过程中,依据 IPsec 连接绑定的资源不同,实现网络连接的方式也不相同,如下图所示。
5.1.1.1、绑定 VPN 网关实例
5.1.1.2、绑定转发路由器实例
5.1.1.3、绑定 VPN 网关实例和绑定转发路由器实例功能对比
您可以依据下表中的对比信息,为 IPsec 连接选择适用的绑定资源,以满足您的场景需求。
5.1.2、SSL-VPN
SSL-VPN 是一种基于 OpenVPN 架构的网络连接技术,适用于在互联网客户端与 VPC 之间建立网络连接。部署后,仅需要在互联网客户端中加载证书并发起连接,互联网客户端便可与 VPC 互通。
SSL-VPN 仅支持绑定国际标准商用密码算法的公网 VPN 网关实例。SSL-VPN 更多应用场景,请参见 SSL-VPN应用场景。
5.2、VPN 应用场景
5.2.1、IPsec-VPN 应用场景(绑定 VPN 网关)
IPsec-VPN 支持在企业本地数据中心或企业办公网络与阿里云专有网络 VPC(Virtual Private Cloud)之间建立安全可靠的网络连接。IPsec 连接支持绑定 VPN 网关实例和转发路由器实例。本文为您介绍在 IPsec 连接绑定 VPN 网关实例的情况下,IPsec-VPN 常见的应用场景。
5.2.1.1、公网 VPN 网关应用场景
5.2.1.1.1、建立 VPC 与本地数据中心之间的连接
您可以通过 IPsec-VPN 将本地数据中心和 VPC 连接起来,构建混合云网络。具体操作,请参见建立 VPC 到本地数据中心的连接。
5.2.1.1.2、建立 VPC 与 VPC 之间的连接
您可以通过 IPsec-VPN 将两个 VPC 快速连接起来,实现云上资源共享。具体操作,请参见建立 VPC 到 VPC 的连接。
5.2.1.1.3、建立VPC和本地数据中心之间的高可用连接(主备链路)
VPN 网关实例支持绑定多个 IPsec 连接。本地数据中心可以通过多条 IPsec-VPN 链路与 VPC 互通,多个 IPsec-VPN 链路之间互为备份。具体操作,请参见 IPsec-VPN连接高可用。
5.2.1.1.4、建立多个站点之间的连接
您可以使用 IPsec-VPN 将多个办公网络同时连接到 VPN 网关中,并通过 VPN 网关的 Hub Spoke 功能实现多个办公网络之间私网互通。具体操作,请参见 Hub Spoke连接。
5.2.1.2、私网 VPN 网关应用场景
5.2.1.2.1、实现物理专线私网流量加密通信
在本地数据中心通过物理专线已与 VPC 建立私网连接的基础上,您可以通过 IPsec-VPN 实现物理专线私网流量加密通信,提高私网互通的安全性。具体操作,请参见通过私网 VPN 网关实现专线私网流量加密通信。
5.2.2、IPsec-VPN 应用场景(绑定转发路由器)
IPsec-VPN 支持在企业本地数据中心或企业办公网络与阿里云专有网络 VPC(Virtual Private Cloud)之间建立安全可靠的网络连接。IPsec 连接支持绑定 VPN 网关实例和转发路由器实例。本文为您介绍在 IPsec 连接绑定转发路由器实例的情况下,IPsec-VPN 常见的应用场景。
5.2.2.1、公网 IPsec 连接应用场景
5.2.2.1.1、建立 VPC 与本地数据中心之间的连接
将 IPsec 连接绑定转发路由器实例后,本地数据中心可以通过 IPsec-VPN 和转发路由器实例实现与任意 VPC 互通。
5.2.2.1.2、建立 VPC 和本地数据中心之间的高可用连接(ECMP 链路)
转发路由器支持同时绑定多个 IPsec 连接。本地数据中心可以通过多条 IPsec-VPN 链路与 VPC 互通,多个 IPsec-VPN 链路之间可以实现流量的负载分担。
5.2.2.1.3、建立多个站点之间的连接
如果企业拥有多个站点,在不同站点分布在不同地域,且通过 IPsec-VPN 等多种方式上云的情况下,多个站点之间可通过转发路由器实例实现互通。
5.2.2.2、私网 IPsec 连接应用场景
5.2.2.2.1、实现物理专线私网流量加密通信
在本地数据中心已通过物理专线与 VPC 建立私网连接的基础上,您可以通过 IPsec-VPN 实现物理专线私网流量加密通信,提高私网互通的安全性。
5.2.3、SSL-VPN 应用场景
SSL-VPN 支持在互联网客户端与阿里云专有网络 VPC(Virtual Private Cloud)之间建立安全可靠的网络连接。本文介绍 SSL-VPN 常见应用场景。
5.2.3.1、建立 VPC 与客户端之间的连接
您可以通过 SSL-VPN 将客户端和 VPC 连接起来,客户端通过互联网可随时随地安全地连接 VPC,满足远程办公的需要。
SSL-VPN 支持 Windows、Linux、Mac、Android 操作系统类型的客户端接入。具体操作,请参见客户端远程连接VPC。
5.2.3.2、建立客户端和站点之间的连接
您可以组合使用IPsec-VPN和SSL-VPN同时连接办公网络和客户端。连接建立后,客户端和办公网络均可以访问VPC,且客户端和办公网络之间可以互相通信。
5.3、IPsec-VPN 概论
实际上 VPN 有很多种,应用于各种不同的场景。
- 站点到站点的 VPN:ATM,Frame Relay, GRE, MPLS VPN, IPSec VPN。常用的是 IPSec VPN。
- 远程拨号VPN:IPSec VPN, PPTP, L2TP + IPSec, SSL VPN。常用的是 SSL VPN。
IPSec(Internet Protocol Security)是 IETF(Internet Engineering Task Force)制定的一组开放的网络安全协议。它并不是一个单独的协议,而是一系列为 IP 网络提供安全性的协议和服务的集合。
IPSec 用来解决 IP 层安全性问题的技术。IPSec 同时支持 IPv4 和 IPv6 网络。
IPSec 主要包括安全协议 AH(Authentication Header)和 ESP(Encapsulating Security Payload),密钥管理交换协议 IKE(Internet Key Exchange)以及用于网络认证及加密的一些算法等。
IPSec 主要通过加密与验证等方式,为 IP 数据包提供安全服务。
5.3.1、IPSec 提供的服务
IPSec 通过加密与验证等方式,从以下几个方面保障了用户业务数据在 Internet 中的安全传输:
- 数据来源验证:接收方验证发送方身份是否合法。
- 数据加密:发送方对数据进行加密,以密文的形式在 Internet 上传送,接收方对接收的加密数据进行解密后处理或直接转发。
- 数据完整性:接收方对接收的数据进行验证,以判定报文是否被篡改。
- 抗重放:接收方拒绝旧的或重复的数据包,防止恶意用户通过重复发送捕获到的数据包所带来的攻击。
5.3.2、IPSec 框架
IPSec 是一个框架,它不是具体指某个协议,而是定义了一个框架,由各种协议组和协商而成。该框架涉及到的主要有,加密算法、验证算法、封装协议、封装模式、秘钥有效期等等。
关于加密、签名、安全传输、证书相关等,请参考基础教程Linux 加密、签名和 SSL 握手机制
关于 IPSec 协议、协议号、报文详情、报文封装和算法的理解,可以参考 http://www.unixwiz.net/techtips/iguide-ipsec.html
5.3.3、封装协议(安全协议)
IPSec 使用认证头 AH(Authentication Header)和封装安全载体 ESP(Encapsulating Security Payload)两种安全协议来传输和封装数据,提供认证或加密等安全服务。
5.3.3.1、AH 协议
- AH 是一种基于 IP 的传输层协议,协议号为 51。
- 只能支持认证,不支持加密。
- 对整个头部进行认证。
其工作原理是在每一个数据包的标准 IP 报头后面添加一个 AH 报文头。如下所示:
AH 对数据包和认证密钥进行 Hash 计算,接收方收到带有计算结果的数据包后,执行同样的 Hash 计算并与原计算结果比较,传输过程中对数据的任何更改将使计算结果无效,这样就提供了数据来源认证和数据完整性校验。AH 协议的完整性验证范围为整个 IP 报文。
AH 报文头字段含义:
字段 | 长度 | 含义 |
---|---|---|
下一头部 | 8比特 | 标识AH报文头后面的负载类型。 传输模式下,是被保护的上层协议(TCP或UDP)或ESP协议的编号; 隧道模式下,是IP协议或ESP协议的编号。 注意:当AH与ESP协议同时使用时,AH报文头的下一头部为ESP报文头。 |
负载长度 | 8比特 | 表示以32比特为单位的AH报文头长度减2,缺省为4。 |
保留字段 | 16比特 | 保留将来使用,缺省为0。 |
SPI | 32比特 | IPSec安全参数索引,用于唯一标识IPSec安全联盟。 |
序列号 | 32比特 | 是一个从1开始的单项递增的计数器,唯一地标识每一个数据包,用于防止重放攻击。 |
认证数据 | 一个变长字段,长度为32比特的整数倍。 通常为96比特。 |
该字段包含数据完整性校验值 ICV(Integrity Check Value),用于接收方进行完整性校验。 可选择的认证算法有MD5、SHA1、SHA2、SM3。 |
Ah 报文抓包示例:
5.3.3.2、ESP 协议
ESP 是一种基于 IP 的传输层协议,协议号为 50。其工作原理是在每一个数据包的标准 IP 报头后面添加一个 ESP 报文头,并在数据包后面追加一个 ESP 尾(ESP Tail 和 ESP Auth data)。
与 AH 不同的是,ESP 将数据中的有效载荷进行加密后再封装到数据包中,以保证数据的机密性,但 ESP 没有对 IP 头的内容进行保护。
ESP 报文头字段:
字段 | 长度 | 含义 |
---|---|---|
SPI | 32比特 | IPSec安全参数索引,用于唯一标识IPSec安全联盟。 |
序列号 | 32比特 | 是一个从1开始的单项递增的计数器,唯一地标识每一个数据包,用于防止重放攻击。 |
负载数据 | — | 包含由下一头部字段给出的变长数据。 |
填充字段 | — | 用于增加ESP报文头的位数。填充字段的长度与负载数据的长度和算法有关。 当待加密报文的明文长度不是加密算法所要求的块长度时,需要进行填充补齐。 |
填充长度 | 8比特 | 给出前面填充字段的长度,置0时表示没有填充。 |
下一头部 | 8比特 | 标识ESP报文头后面的下一个负载类型。 传输模式下,是被保护的上层协议(TCP或UDP)的编号;隧道模式下,是IP协议的编号。 |
认证数据 | 一个变长字段,长度为32比特的整数倍。 通常为96比特。 |
该字段包含数据完整性校验值ICV,用于接收方进行完整性校验。 可选择的认证算法与AH的相同。 ESP的验证功能是可选的,如果启动了数据包验证,会在加密数据的尾部添加一个ICV数值。 |
ESP 报文抓包示例:
AH 协议和 ESP 协议比较:
安全特性 | AH | ESP |
---|---|---|
协议号 | 51 | 50 |
数据完整性校验 | 支持(验证整个IP报文) | 支持(不验证IP头) |
数据源验证 | 支持 | 支持 |
数据加密 | 不支持 | 支持 |
防报文重放攻击 | 支持 | 支持 |
IPSec NAT-T(NAT穿越) | 不支持 | 支持 |
5.3.4、封装模式
封装模式是指将 AH 或 ESP 相关的字段插入到原始 IP 报文中,以实现对报文的认证和加密,封装模式有传输模式和隧道模式两种。
5.3.4.1、传输模式
在传输模式中,AH 头或 ESP 头被插入到 IP 头与传输层协议头之间,保护 TCP/UDP/ICMP 负载。传输模式不改变报文头。
传输模式下,AH 协议的完整性验证范围为整个 IP 报文。ESP 协议验证报文的完整性检查部分包括 ESP头、传输层协议头、数据和 ESP 报尾,但不包括 IP 头,因此 ESP 协议无法保证 IP 头的安全。ESP 的加密部分包括传输层协议头、数据和 ESP 报尾。
5.3.4.2、隧道模式
在原 IP 头部之前插入 ESP/AH 头部,同时生成新的 IP 头部。
隧道模式下,AH 协议的完整性验证范围为包括新增 IP 头在内的整个 IP 报文。ESP 协议验证报文的完整性检查部分包括 ESP 头、原 IP 头、传输层协议头、数据和 ESP 报尾,但不包括新 IP 头,因此 ESP 协议无法保证新 IP 头的安全。ESP 的加密部分包括原 IP 头、传输层协议头、数据和 ESP 报尾。
5.3.4.3、传输模式和隧道模式比较
传输模式和隧道模式的区别在于:
- 从安全性来讲,隧道模式优于传输模式。它可以完全地对原始 IP 数据报进行验证和加密。隧道模式下可以隐藏内部 IP 地址,协议类型和端口。
- 从性能来讲,隧道模式因为有一个额外的 IP 头,所以它将比传输模式占用更多带宽。
当安全协议同时采用 AH 和 ESP 时,AH 和 ESP 协议必须采用相同的封装模式。
5.4、SSL VPN 概论
SSL VPN 是以 SSL 协议为安全基础的 VPN 远程接入技术,移动办公人员(在 SSL VPN 中被称为远程用户)使用 SSL VPN 可以安全、方便的接入企业内网,访问企业内网资源,提高工作效率。
SSL/TLS 技术请参见Linux 加密、签名和 SSL 握手机制
5.4.1、SSL VPN 与 IPSec VPN 对比
如上图,SSL 保护的是应用层的数据,可以针对某个应用做具体保护。而 IPSec VPN 针对的是整个网络层。无法做精细化控制。
所以在 SSL VPN 出现之前,IPSec、L2TP 等先期出现的 VPN 技术虽然可以支持远程接入这个应用场景,但这些 VPN 技术存在如下缺陷。
- 远程用户终端上需要安装指定的客户端软件,导致网络部署、维护比较麻烦。
- IPSec/L2TP VPN的配置繁琐。
- 网络管理人员无法对远程用户访问企业内网资源的权限做精细化控制。
SSL VPN 技术优势:
- 无客户端的便捷部署
- 应用层接入的安全保护
- 企业延伸的效率提升
SSL VPN 的特点:
- 采用 B/S 架构,远程用户无需安装额外软件,可直接使用浏览器访问内网资源。
- SSL VPN 可根据远程用户访问内网资源的不同,对其访问权限进行高细粒度控制。
- 提供了本地认证、服务器认证、认证匿名和证书挑战多种身份认证方式,提高身份认证的灵活性。
- 可以使用主机检查策略。
- 缓存清理策略用于清理远程用户访问内网过程中在终端上留下的访问痕迹,加固用户的信息安全。
SSL VPN 的主要应用场景是保证远程用户能够在企业外部安全、高效的访问企业内部的网络资源。通过多虚拟网关技术可以实现业务的隔离。
5.4.2、SSL VPN 原理
5.4.2.1、SSL VPN 访问内网资源的总体流程
虚拟网关:FW 向远程用户提供 SSL VPN 接入服务的功能模块称为虚拟网关,虚拟网关是远程用户访问企业内网资源的统一入口。
一台 FW 设备可以创建多个虚拟网关,每个虚拟网关之间相互独立,互不影响。可以在虚拟网关下配置各自的用户、资源和策略,进行单独管理。虚拟网关本身无独立的管理员,所有虚拟网关的创建、配置、修改和删除等管理操作统一由 FW 的系统管理员完成。
-
用户登录
远程用户通过 Web 浏览器(客户端)登录虚拟网关,请求建立 SSL 连接。虚拟网关向远程用户发送自己的本地证书,远程用户对虚拟网关的本地证书进行身份认证。认证通过后,远程用户与虚拟网关成功建立 SSL 连接。
-
用户认证
虚拟网关对远程用户进行用户认证,验证用户身份。用户认证可以选择以下四种方式之一:本地认证、服务器认证、证书匿名认证、证书挑战认证。
-
角色授权
用户认证完成后,虚拟网关查询该用户的资源访问权限。用户的权限分配通过角色实现,先将具有相同权限的用户/组加入某个角色,然后角色关联可访问的业务资源,角色是联系用户和资源的纽带。
-
资源访问
虚拟网关根据远程用户的角色信息,向用户推送可访问的资源链接,远程用户点击对应的资源链接进行资源访问。
5.4.2.2、本地证书认证
本地证书认证是在建立 SSL 连接前,客户端对虚拟网关身份的验证。
-
用户在客户端输入
https://
虚拟网关地址:
port
或https://域名
,向 SSL VPN 虚拟网关请求建立 SSL连接。 -
虚拟网关在收到请求后,从证书模块调用虚拟网关引用的本地证书。
-
虚拟网关将本地证书发送给客户端。
-
客户端根据自己证书库中的 CA 证书检查虚拟网关的本地证书是否可信。当满足以下三个条件时,客户端认为虚拟网关的本地证书可信,则继续运行下一步。
- 虚拟网关的本地证书在有效期内。
- 客户端的 CA 证书与虚拟网关的本地证书是同一个 CA 机构颁发的。
- 虚拟网关的本地证书的 CN 字段取值与虚拟网关地址或域名一致。
如果以上三个条件不能同时满足,则虚拟网关会为客户端推送一个提示框,要求客户端信任虚拟网关。如果客户端选择信任,则继续运行下一步。如果客户端选择不信任,则本地证书认证不通过。
-
客户端与虚拟网关进行 TCP 三次握手以及一次 SSL 握手,成功建立 SSL 连接。用户看到 SSL VPN 虚拟网关登录界面。
5.4.2.3、用户认证
用户认证是虚拟网关对客户端身份的验证,包括:本地认证、服务器认证、证书匿名认证和证书挑战认证。
认证授权:
- VPNDB 认证授权
- 第三方服务器认证授权(Radius、LDAP、AD、SecurID)
- 数字证书认证(X.509/USB Key + X.509)
- 短信辅助认证
5.4.2.3.1、本地认证
本地用户名和密码,存在 SSL 网关的本地用户。
-
用户在 SSL VPN 虚拟网关登录界面输入用户名和密码后,客户端会将用户名和密码发送给虚拟网关。
-
虚拟网关会将用户名、密码发送给认证域模块。
用户属于哪个认证域是由用户名中携带的
@
后的字符串来决定的。如user1@bj
属于bj
认证域。如果用户名中没有携带@
,则属于缺省的default
认证域。 -
认证域模块将用户名和密码发送给
用户/组模块
。 -
用户/组模块
会根据自己的数据库检查用户名和密码是否正确。如果是则认证通过,如果不是则认证不通过。 -
用户/组模块
将认证结果返回给认证域模块。 -
认证域模块将认证结果返回给虚拟网关。
-
如果认证结果为通过,则虚拟网关会从自己的角色授权列表中查找用户所属角色从而确认此用户的业务权限。如果认证结果为不通过,则直接进行第 8 步。
-
虚拟网关将认证结果返回给客户端。
认证结果为通过的用户能够登录 SSL VPN 虚拟网关界面,以相应的业务权限来使用 SSL VPN 业务。认证结果为不通过的用户会在客户端上看到
认证失败
。
5.4.2.3.2、服务器认证
服务器认证是指 SSL VPN 用户的用户名和密码保存在服务器上,需要在服务器上完成用户认证。服务器认证支持的服务器类型包括:RADIUS、HWTACACS、SecurID、AD、LDAP。
5.4.2.3.3、证书匿名认证
只采用证书,客户端发送证书给服务器认证。
5.4.2.3.4、证书挑战认证(最安全)
证书挑战认证是指将验证客户端证书与本地认证或服务器认证结合起来。
证书 + 本地用户名密码
证书 + 服务器认证
RADIUS 双因子认证:RADIUS 双因子认证是指 FW 和 RADIUS 服务器配合,对 SSL VPN 用户进行身份认证。认证时,除了验证用户名和静态PIN码,还要求用户输入动态验证码。动态验证码可以是短信验证码或硬件令牌生成的动态密码。
5.4.3、SSL VPN 业务
业务 | 定义 |
---|---|
Web代理 | 远程用户访问内网Web资源时使用Web代理业务。 |
文件共享 | 远程用户访问内网文件服务器(如支持SMB协议的Windows系统、支持NFS协议的Linux系统)时使用文件共享业务。 远程用户直接通过Web浏览器就能在内网文件系统上创建和浏览目录,进行下载、上传、改名、删除等文件操作。 就像对本机文件系统进行操作一样方便。 |
端口转发 | 远程用户访问内网TCP资源时使用端口转发业务。 适用于TCP的应用服务包括Telnet、远程桌面、FTP、Email等。 端口转发提供了一种端口级的安全访问内网资源的方式。 |
网络扩展 | 远程用户访问内网IP资源时使用网络扩展业务。 Web资源、文件资源以及TCP资源都属于IP资源,通常在不区分用户访问的资源类型时为对应用户开通此业务。 |
5.4.3.1、Web 代理
web 代理实现对内网 Web 资源的安全访问:
-
Web 代理实现了无客户端的页面访问。
-
Web 代理有两种实现方式:Web-Link 和 Web 改写(默认)。
- Web 改写:是将内网 web 链接隐藏起来,起到加密的作用。即远程用户在点击虚拟网关资源列表中的链接时,虚拟网关会将用户要访问的真实 URL 进行加密。
同时用户要访问的 Web 资源页面链接对象(例如 Flash、PDF、Java Applet 等)的 URL 也会被一并加密。
- Web-Link:不会进行加密和适配,只做单纯
转发
远程用户的 Web 资源请求。
Web 代理功能的基本实现原理是将远程用户访问 Web Server 的过程被分成了两个阶段。首先是远程用户与 FW 虚拟网关之间建立 HTTPS 会话,然后 FW 虚拟网关再与 Web Server 建立 HTTP 会话。虚拟网关在远程用户访问企业内网 Web Server 中起到了改写、转发 Web 请求的作用。
Web 代理报文封装原理:
远程用户访问内网 Web 资源时的报文封装过程,从图中可以看出远程用户的访问过程本质上是由 HTTPS 和 HTTP 这两个会话衔接而成。
其中,远程用户与虚拟网关建立 HTTPS 会话时,使用的源端口为 6293,这个源端口是一个随机端口;目的端口是 443。
虚拟网关与 Web Server 建立 HTTP 会话时,源端口是 10091,这个源端口也是随机端口,目的端口为 80。
5.4.3.2、文件共享
提供了对内网文件系统的安全访问:
- 采用协议转化技术,无需安装专有客户端,直接通过浏览器安全接入内部文件系统。
- 将客户端发起的文件共享请求转化成相应的协议格式,与服务器进行交互。
支持:SMB 协议(Windows),NFS(Linux)
在文件共享业务中FW起到了协议转换器的作用。
注意:在文件共享中,Ctrl + C 等组合键无法使用。
文件共享应用的特点:
- 所有文件接入需要认证
- 所有文件传输采用 SSL 加密
- 文件级的访问权限控制
- SVN 增加额外的访问控制
- 就像操作本机文件系统一样安全便捷。
5.4.3.3、端口转发
提供丰富的内网 TCP 应用服务。广泛支持静态端口的 TCP 应用:
- 单端口单服务器(如:Telnet,SSH,MS RDP, VNC 等)
- 单端口多服务器(如:Lotus Notes)
- 多端口多服务器(如:Outlook)
支持动态端口的 TCP 应用:
- 动态端口(如:FTP,Oracle)
提供端口级的访问控制。
端口转发实现原理:
端口转发需要在客户端上运行一个 ActiveX 控件作为端口转发器,用于侦听指定端口上的连接。
端口转发的应用特点:
- 实现对内网 TCP 应用的广泛支持
- 远程桌面、Outlook、Notes、FTP 等
- 所有数据流都经过加密认证
- 对用户进行统一的授权、认证
- 提供对 TCP 应用的访问控制
- 只需标准浏览器,不用安装客户端。
- 保证 TCP 应用的安全性、可靠性,提供方便快捷的操作、管理方式。
5.4.3.4、网络扩展
实现对内网所有复杂应用的全网访问。
- 通过建立安全的 SSL 隧道,实现对基于 IP 的内网业务的全面访问。
- 实现方式:
- ActiveX 控件
- 专用客户端软件:一次安装,零配置。
- 访问方式:
- 全路由模式(Full Tunnel):全通道方式,所有流量都流向网关。
- 分离模式(Split Tunnel):分离通道方式,可以访问内网,还能够访问客户端所在的本地子网。
- 手动模式(Manual Tunnel):能够访问内网和特定网段的资源,同时,客户端访问本地子网和 Internet 的操作不受影响。
网络扩展实现原理:
启动网络扩展功能,会触发以下几个动作:
- 远程用户与虚拟网关之间会建立一条 SSL VPN 隧道。
- 远程用户本地 PC 会自动生成一个虚拟网卡。虚拟网关从地址池中随机选择一个 IP 地址,分配给远程用户的虚拟网卡,该地址作为远程用户与企业内网 Server 之间通信之用。有了该私网 IP 地址,远程用户就如同企业内网用户一样可以方便访问内网 IP 资源。
- 虚拟网关向远程用户下发到达企业内网 Server 的路由信息。虚拟网关会根据网络扩展业务中的配置,向远程用户下发不同的路由信息。
网络扩展报文封装过程:
网络扩展功能建立 SSL VPN 隧道的方式有两种:可靠传输模式和快速传输模式。可靠传输模式中,SSL VPN 采用 SSL 协议封装报文,并以 TCP 协议作为传输协议;快速传输模式中,SSL VPN 采用 UDP 协议作为传输协议。
可靠性传输模式下,SSL VPN 隧道之间使用了 TCP 作为传输协议。
模式下报文的封装原理和可靠性模式下报文封装原理是一样的,只是传输协议由 TCP 改为了 UDP。
5.4.4、SSL VPN 组网分析
5.4.4.1、SSL VPN 应用典型网络位置
SSL VPN 网关多部署于网络出口处,应用服务器之前,介于远程用户和服务器之间,控制两者的通信。
5.4.4.2、SSL VPN 单臂组网模式应用场景分析
单臂和双臂组网方式,多用于 SVN 设备,SVN 单臂挂接在防火墙、路由器或交换机上,内网和 Internet 都通过这个网口与 SVN 通信, 这种模式称为单臂模式。
这种方案部署的缺点:因为 SSL VPN 的流量是加密的,那么当远程用户访问时,如果流量中有攻击或者病毒,而防火墙不认识加密流量,会转发给 SVN,SVN 解密后直接发往内网。会存在安全隐患。
所以,最好的部署是将 SVN 与防火墙串联。远程用户的流量先到 SVN,解密后给防火墙检查。检查通过后发送给内网。
5.4.4.3、SSL VPN 双臂组网模式应用场景分析
SVN 双臂挂接在防火墙、路由器或者交换机上。内网和 Internet 都通过不同的网口与 SVN 进行通信,这种模式称为双臂模式。