企业对网络安全性的需求日益提升,而传统的TCP/IP协议缺乏有效的安全认证和保密机制。
IPSec(Internet Protocol Security)作为一种开放标准的安全框架结构,可以用来保证IP数据报文在网络上传输的机密性、完整性和防重放。
机密性(Confidentiality)指对用户数据进行加密保护,用密文的形式传送数据。
完整性(Data integrity)指对接收的数据进行认证,以判定报文是否被篡改。
防重放(Anti-replay)指防止恶意用户通过重复发送捕获到的数据包所进行的攻击,即接收方会拒绝旧的或重复的数据包。
IPSec不是一个单独的协议,它通过AH和ESP这两个安全协议来实现IP数据报的安全传送。
IKE协议提供密钥协商,建立和维护安全联盟SA等服务。
IPSec VPN体系结构主要由AH(Authentication Header头部校验)、ESP(Encapsulating Security Payload封装安全有效负荷)和IKE(Internet Key Exchange因特网密钥交换)协议套件组成。
AH协议:主要提供的功能有数据源验证、数据完整性校验和防报文重放功能。然而,AH并不加密所保护的数据报。
ESP协议:提供AH协议的所有功能外(但其数据完整性校验不包括IP头),还可提供对IP报文的加密功能。
IKE协议:用于自动协商AH和ESP所使用的密码算法。
SA(Security Association)安全联盟定义了IPSec通信对等体间将使用的数据封装模式、认证和加密算法、秘钥等参数。SA是单向的,两个对等体之间的双向通信,至少需要两个SA。如果两个对等体希望同时使用AH和ESP安全协议来进行通信,则对等体针对每一种安全协议都需要协商一对SA。
SA由一个三元组来唯一标识,这个三元组包括安全参数索引SPI(Security Parameter Index)、目的IP地址、安全协议(AH或ESP)。
建立SA的方式有以下两种:
手工方式:安全联盟所需的全部信息都必须手工配置。手工方式建立安全联盟比较复杂,但优点是可以不依赖IKE而单独实现IPSec功能。当对等体设备数量较少时,或是在小型静态环境中,手工配置SA是可行的。
IKE动态协商方式:只需要通信对等体间配置好IKE协商参数,由IKE自动协商来创建和维护SA。动态协商方式建立安全联盟相对简单些。对于中、大型的动态网络环境中,推荐使用IKE协商建立SA
配置IPSec VPN的步骤如下:
首先需要检查报文发送方和接收方之间的网络层可达性,确保双方只有建立IPSec VPN隧道才能进行IPSec通信。
第二步是定义数据流。因为部分流量无需满足完整性和机密性要求,所以需要对流量进行过滤,选择出需要进行IPSec处理的兴趣流。可以通过配置ACL来定义和区分不同的数据流。
第三步是配置IPSec安全提议。IPSec提议定义了保护数据流所用的安全协议、认证算法、加密算法和封装模式。安全协议包括AH和ESP,两者可以单独使用或一起使用。AH支持MD5和SHA-1认证算法;ESP支持两种认证算法(MD5和SHA-1)和三种加密算法(DES、3DES和AES)。为了能够正常传输数据流,安全隧道两端的对等体必须使用相同的安全协议、认证算法、加密算法和封装模式。如果要在两个安全网关之间建立IPSec隧道,建议将IPSec封装模式设置为隧道模式,以便隐藏通信使用的实际源IP地址和目的IP地址。
第四步是配置IPSec安全策略。IPSec策略中会应用IPSec提议中定义的安全协议、认证算法、加密算法和封装模式。每一个IPSec安全策略都使用唯一的名称和序号来标识。IPSec策略可分成两类:手工建立SA的策略和IKE协商建立SA的策略。
第五步是在一个接口上应用IPSec安全策略。
安全联盟的作用是什么?
SA(Security Association)安全联盟定义了IPSec通信对等体间将使用的数据封装模式、认证和加密算法、密钥等参数。
IPSec VPN将会对过滤后的感兴趣数据流如何操作?
经过IPSec过滤后的感兴趣数据流将会通过SA协商的各种参数进行处理并封装,之后通过IPSec隧道转发。