这份文档是深信服科技关于 IPSec VPN 解决方案的培训资料,围绕 IPSec VPN 的协议框架、工作模式、通信协议、建立阶段及应用场景展开,重点讲解了其技术原理、部署问题及解决办法,核心内容如下:
一、IPSec VPN 基础概述
- 诞生背景:企业对数据保密性需求提升,而 GRE、L2TP 等 VPN 技术无法满足保密要求,IPSec VPN 应运而生。
- 定义与目标:IPSec 是基于网络层的安全通信协议簇,并非单一协议,旨在为 IPv4/IPv6 环境的网络层流量提供灵活安全服务;IPSec VPN 则基于该协议簇构建,通过在数据包插入预定义头部保障上层数据安全,保护 TCP、UDP 等数据包。
- 核心安全服务:涵盖访问控制、机密性、完整性、数据源鉴别、抗重放攻击、不可否认性等,全方位保障数据传输安全。
- 协议簇安全框架:包含 AH/ESP 两大通信保护协议、传输 / 隧道两种工作模式,依托 IKE 协议进行密钥交换和 SA 协商,搭配安全策略数据库(SPD)和安全关联数据库(SAD),并结合加密、鉴别算法及解释域(DOI)实现整体安全架构。
二、IPSec 核心技术细节
- 两种工作模式
- 传输模式:适用于主机间端到端通信,不修改原 IP 包头,仅在其后插入 IPSec 包头,保护上层数据。
- 隧道模式:适用于私网间通过公网通信,新增外网 IP 头,封装原整个数据包,保护范围更广,是 VPN 主流使用模式。
- 两大通信保护协议
- AH(认证报头):提供数据完整性、数据源认证、抗重放服务,无加密功能,保护整个 IP 数据包(易变字段除外),协议号 51,不支持 NAT 穿越。
- ESP(封装安全载荷):在 AH 基础上增加数据加密和有限数据流保护,协议号 50,不验证原 IP 头,支持 NAT 穿越,常用 DES、3DES 等加密算法,MD5/SHA1 做完整性认证,是 IPSec VPN 主要使用协议。
- 安全联盟(SA):通信双方的安全约定,由三元组唯一标识,是 IPSec 通信的基础,可手工配置或由 IKE 动态建立。
三、IPSec 建立阶段:IKE 协商 + 数据传输
- IKE(互联网密钥交换) :解决手工配置 SA 的弊端,为 IPSec 动态协商 SA、生成加解密密钥,分为两个阶段,且阶段 1 有两种协商模式。
- 阶段 1:建立加密的 IKE SA 通道,主模式(6 个消息交互,以 IP 为身份 ID,安全性高、速度慢)和野蛮模式(3 个消息交互,支持多类型身份 ID,速度快、前两包明文传输,安全性较低)。
- 阶段 2:仅快速模式,依托 IKE SA 协商 IPSec SA 的具体安全参数(加密 / Hash 算法、封装模式等),生成实际数据流加密密钥,所有数据加密传输,还可周期性更新密钥。
- 数据传输阶段 :基于建立的 IPSec SA,通过 AH/ESP 协议在网络层传输数据;针对设备异常导致的VPN 隧道黑洞问题,采用 DPD(死亡对等体检测)技术,通过空闲计时器机制探测对端存活状态,异常时重新协商隧道。
四、IPSec VPN 应用场景与部署问题解决
- 基础网关部署:企业分支与总部间通过 IPSec VPN 隧道模式 + ESP 协议,实现研发资源等机密数据的公网安全传输,对原数据包加密并封装新 IP 头。
- NAT 环境部署问题与解决
- 协商问题 :深信服主模式身份 ID 默认不可改,NAT 后公网 IP 与私网身份 ID 不匹配导致协商失败,需选用野蛮模式(支持自定义身份 ID)。
- 传输问题 :AH 无加密、ESP 传输模式下 NAT 修改 IP 会导致 TCP/UDP 伪首部校验失败,仅ESP 隧道模式可在 NAT 下实现数据传输。
- 多 VPN 连接问题与 NAT-T 技术
- 核心问题:IKE 协商要求源目端口为 UDP 500,多 VPN 时 NAT 会修改源端口导致协商失败;ESP 无传输层头部,无法实现 NAPT 端口复用,导致传输失败。
- NAT-T 技术解决:将协商端口改为 UDP 4500,允许源端口非 500;为 ESP 增加 UDP 头部,实现端口复用,支持多个 IPSec VPN 同时连接,解决多 VPN 协商和传输的双重问题。