2.8 IPSec
CCNP ROUTE 300-101认证考试指南
DMVPN中的安全性由IPSec提供。IPSec提供以下4个安全特性。
关键
保密性:数据的保密性通过加密数据来实现。就算第三方截取了加密的数据也不能对数据进行解释。
完整性:数据完整性负责保证数据在传输的过程中不被修改。例如隧道两端的路由器可以计算数据的校验和或哈希值。如果两台路由器计算的结构相同,就表示在传输中数据没有被修改。
认证:数据认证要求参与会话的双方认证另一方符合其所申明的身份。
反重放:IPSec使用反重放保护来确保发送出去的数据包不是复制的数据包。例如,攻击者可以截取已合法登录主机的数据包并尝试重发这些数据包,这样就能获取主机的访问权限。然而IPSec使用序列号来确定哪一个数据包是重复的,且任何重复包都不会被传输。
在以上IPSec服务中,加密和认证在DMVPN网络中尤其有用。例如,加密可以保护站点之间的流量(不论是通过Internet传输,还是通过服务提供商网络传输)。认证能保证不与不期望的分支动态建立GER隧道。
IPSec使用一些协议来提供相应特性。IPSec使用的一个主要协议是Internet密钥交换(IKE)协议。具体地说,IPSec可以使用加密密钥为通过认证的对等体提供加密,加密密钥周期性改变。不过IKE也允许管理员手动配置密钥。
建立IPSec隧道有两个阶段。在IKE阶段1,建立ISAKMP(Internet安全关联和密钥管理协议)会话。作为此阶段的一部分,IPSec端点建立转换集(一个加密和认证协议的集合)、哈希算法和其他建立安全ISAKMP会话(有时也叫做ISAKMP隧道或IKE阶段1隧道)所需的参数。这些参数的集合被称为一个SA(安全关联)。在IKE阶段1,SA是双向的,意味着数据流在隧道两个方向传输都使用相同的密钥交换。
IKE阶段2在IKE阶段1所建立的隧道的保护下进行交互。IKE阶段2所建立的会话有时叫做IKE阶段2隧道,或简称为IPSec隧道。然而不像IKE阶段1,IKE阶段2只进行单向SA协商,意味着每个数据流使用独立的密钥交换。
除了建立IPSec隧道的IKE之外,IPSec也依靠AH(认证包头)协议(IP协议号51)或ESP(封装安全载荷)协议(IP协议号50)。AH和ESP都提供源点的认证和完整性服务,这保证IPSec对等体符合其所申明的身份,且数据在传输过程中不会被修改。
AH和ESP的主要区别是对加密的支持。ESP加密原始数据包,AH不提供加密。因此ESP在现在的网络中更流行。
AH和ESP都具有传输模式或隧道模式这两个工作模式。图2-10说明了ESP传输模式的数据包结构与ESP隧道模式的数据包结构。
以下是两种模式的具体描述。
关键
传输模式:传输模式使用数据包的原始IP头部,而不是增加额外的隧道头部。如果增加数据包的大小可能导致网络问题,那么在这种环境中这种方式可以很好地工作。传输模式经常被用在“客户到站点”VPN中,也就是运行VPN客户端软件的PC连接中心位置的VPN终端设备。
隧道模式:隧道模式与传输模式不同,它需要封装整个数据包。因而封装后的数据包就会有新的头部(即IPSec头部)。新头部的源和目的IP地址对应着不同站点的两个VPN终端设备。因此隧道模式常用在IPSec“站点到站点”VPN中。
建立、维护及断开IPSec站点到站点VPN由5个主要步骤构成,如图2-11所示,具体步骤如下所示。
步骤1 PC1向PC2发送流量。路由器1将流量分类为“感兴趣”流,然后开始初始化IPSec隧道的建立过程。
步骤2 路由器1和路由器2协商用来建立IKE阶段1隧道的SA(安全关联),这个隧道也被称为ISAKMP隧道。
步骤3 在IKE阶段1隧道的保护下,双方协商并建立IKE阶段2隧道。IKE阶段2隧道即为IPSec隧道。
步骤4 在IPSec隧道建立后,感兴趣流(比如通过ACL分类的流量)就会经过为流量提供保护的IPSec隧道。注意PC1和PC2之间仍可以发送非感兴趣流,只不过非感兴趣流不受IPSec隧道的保护。
步骤5 在一段特定的时间后没有感兴趣流或IPSec SA被删除后,IPSec隧道断开。
即使配置IPSec超过了ROUTE课程的范围,读者也应该熟悉show crypto ipsec sa命令的输出信息,这条命令可以查看IPSec对等体的SA协商信息。例2-4显示了这条命令的示例输出。
关键
在例2-4中,30.1.1.1和30.1.1.2之间建立了IPSec隧道,这条隧道存在于网络10.1.1.0/24和20.1.1.0/24之间。ACL指明(即允许)了应该使用IPSec隧道传输的流量。使用ESP(封装安全载荷)或3DES(三重数据加密标准)进行加密,使用MD5(消息摘要5)进行认证。