采用IKE野蛮模式建立保护IPv4报文的IPsec隧道

先简单回顾一下(IPsec:RFC2401-互联网协议的安全架构),我们经常说的IPsec,封装模式分为传输模式和隧道模式,两者的区别是两端设备类型不同。主机必须同时支持传输和隧道模式;按照要求,安全网关应该仅支持隧道模式,如果安全网关要支持传输模式,则应仅在安全网关充当主机时使用。

跟IPsec强相关的就是IPsec SA(Security Association,安全联盟),安全联盟SA的生成方式目前主要在用的就是手工方式和IKE自动协商方式。

其中,RFC2409(IKE:互联网密钥交换)规定了IKE协商的2个阶段和4种模式:

Oakley和SKEME各自定义了一种方法来建立经过身份验证的密钥交换。这包括有效载荷构造、有效载荷携带的信息、处理它们的顺序以及如何使用它们。

Oakley定义了“模式”,而ISAKMP定义了“阶段”。两者之间的关系非常简单,IKE 将不同的交换呈现为在两个阶段之一中运行的模式。

阶段1是两个ISAKMP对等体建立一个安全的、经过身份验证的通道以进行通信。这称为ISAKMP安全联盟。“主模式”和“野蛮模式”各自完成第一阶段的交换。“主模式”和“野蛮模式”只能在阶段 1 中使用。

第2阶段是代表IPsec等服务或任何其他需要密钥材料和/或参数协商的服务协商安全联盟。“快速模式”完成了第2阶段的交换。“快速模式”只能在阶段 2 中使用。

“新组模式”并不是真正的第1阶段或第2阶段。它在第1阶段之后,而是用于建立一个可用于未来协商的新组。“新组模式”只能在第 1 阶段之后使用。

强调一下,我们一直所说的主模式和野蛮模式属于IKE协商,如果IPsec没有使用IKE,那就没有相关说辞。如果考试题库加一个“IPsec的交换模式只有主模式和野蛮模式”的判断题,那这道题就是错的;即使再加上快速模式也是错的,因为两者没有必然联系。

通过之前的实验(IKE主模式及预共享密钥认证配置),我们已经掌握了“阶段1-主模式”+“阶段2-快速模式”的IPsec隧道建立过程。

而野蛮模式的协商过程如下图所示:

可以看到,与主模式相比,野蛮模式的优点是建立IKE SA的速度较快。但是由于野蛮模式的密钥交换与身份认证一起进行,因此无法提供身份保护。在对身份保护要求不高的场合,使用交换报文较少的野蛮模式可以提高协商的速度;在对身份保护要求较高的场合,则应该使用主模式

今天来学习一下IKE野蛮模式的隧道建立模式。

组网需求

为了贴近具体的SD-WAN使用场景,组网使用3台路由器。图中RTA为总部设备,RTB、RTC为分支设备,RTB和RTC之间分别建立IPsec隧道,对PCB所在的子网(10.1.1.0/24)与PCC所在的子网(10.1.2.0/24)之间的数据流进行安全保护。具体要求如下:

· 封装形式为隧道模式。

· 安全协议采用ESP协议。

· 加密算法采用128比特的AES,认证算法采用HMAC-SHA1。

· 设备之间采用IKE协商方式建立IPsec SA。

· 使用缺省的IKE提议。

· 使用缺省的预共享密钥认证方法。

组网图

采用IKE野蛮模式建立保护IPv4报文的IPsec隧道。

配置步骤

首先按照组网图所示配置各接口的IP地址,使得RTB和RTC可以互通。

然后我们基于上次实验进行配置调整,看看两者的配置差异。

配置RTB

匹配数据流量的ACL无需调整,到达PCC所在子网的静态路由不变,IPsec安全提议不变,IKE密钥也可以不变,。

#acladvanced 3401rule 0 permitipsource 10.1.1.0 0.0.0.255destination 10.1.2.0 0.0.0.255#ip route-static 10.1.2.0 24 12.1.1.1#ipsectransform-settran1espencryption-algorithmaes-cbc-128espauthentication-algorithmsha1#ikekeychainkey1pre-shared-keyaddress 13.1.1.3 255.255.255.0keysimpleqwe123

IKE第一阶段协商使用野蛮模式是在IKE profile中配置的,所以需要调整。

#ikeprofilepro1keychainkey1exchange-modeaggressivematchremoteidentityaddress 13.1.1.3 255.255.255.0

IPsec安全策略配置保持不变。

#ipsecpolicymap1 10 isakmptransform-settran1securityacl 3401local-address 12.1.1.2remote-address 13.1.1.3ike-profilepro1

最后在接口G0/1上应用安全策略。

#interface GigabitEthernet0/1 ip address 12.1.1.2255.255.255.0 ipsec apply policy map1

配置RTC

配置思路和RTB相同,主要是在IKE profile中调整IKE第一阶段协商使用野蛮模式,直接上配置:

#acl advanced 3401 rule 0 permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255#ip route-static 10.1.1.0 24 13.1.1.1#ipsec transform-set tran1 esp encryption-algorithm aes-cbc-128 esp authentication-algorithm sha1#ike keychain key1 pre-shared-key address 12.1.1.2255.255.255.0key simple qwe123#ike profile pro1 keychain key1exchange-mode aggressivematch remote identity address 12.1.1.2255.255.255.0#ipsec policy map1 10 isakmp transform-set tran1security acl 3401local-address 13.1.1.3 remote-address 12.1.1.2 ike-profile pro1#interface GigabitEthernet0/1 ip address 13.1.1.3255.255.255.0 ipsec applypolicy map1

验证配置

以上配置完成后,使用10.1.1.2和10.1.2.2的互访流量来触发IKE进行IPsec SA的协商。IKE成功协商出IPsec SA后,子网10.1.1.0/24与子网10.1.2.0/24之间数据流的传输将受到IPsec SA的保护。

可通过命令查看到RTC的IKE提议信息。因为没有配置任何IKE提议,则只显示缺省的IKE提议。

可通过命令查看到RTC上IKE第一阶段协商成功后生成的IKE SA信息。

如果带上verbose,可以看到更多的详细信息。比如RTC是响应者,能看到1阶段的交换模式是野蛮模式。

通过命令查看到协商生成的IPsec SA。

display ipsec sa

查看SA建立过程,抓包截图如下:

可以看到,主模式第一阶段是6个交互报文,野蛮模式是3个,其中发起方向响应方发了4个报文,响应方发了2个报文。

打开第一个报文,跟主模式相比,它竟然直接把RFC3706带上了,主模式里面这可是第三个报文的内容。

看第二个报文,直接响应发起方的IPsec安全提议,进行密钥交换、验证身份,可以说是将主模式的3个报文合成了一个了。

同样,最后一个报文,已经是加密的数据了。

随着第一阶段的完成,交互进入第二阶段的快速模式,和主模式完全相同。

按照我们常规的配置,野蛮模式一般是用在一端没有公网地址的环境中,那两端都有公网地址的话,能不能双向访问呢?

我们首先清空两台设备的IKE SA和IPsec SA。

相关命令如下:

resetike saresetipsec sadisike sadisipsec sa

然后让RTC作为发起者,我们看看能不能建立起IKE SA和IPsec SA。

怎么样,建立成功。那之前关于IPsec的部分说法可能又是不准确的,野蛮模式是能以更快的速度建立IKE SA,而不是解决有没有公网IP地址的问题。那没有公网IP地址的问题是怎么解决的呢?且听下回分解!

声明:来自铁军哥,仅代表创作者观点。链接:https://eyangzhen.com/3399.html

铁军哥的头像铁军哥

相关推荐

关注我们
关注我们
购买服务
购买服务
返回顶部