48小时系统班试听入口

GRE Over IPSec配置及抓包分析

发布作者:新盟教育 发布日期:2022-05-16 浏览人数:1234人

GRE Over IPSec配置及抓包

1、配置 tunnel 逻辑接口时,需要指定GRE隧道使用的源地址及目的地址。配置到对端网络内网网段的路由时,下一跳为tunnel接口。

2、配置GRE Over IPSec 时,与单独配置GRE和IPSec没有太大的区别。唯一需要注意的是,通过ACL定义需要 保护的数据流时,不能再以总部和分部内部私网地址为匹配条件,而是必须匹配经过GRE封装后的报文,即定义报文的源地址为GRE隧道的源地址,目的地址为GRE隧道的目的地址。

实验拓扑:

网络环境描述

1、网络A属于10.1.1.0/24子网,与A的1/0/3接口相连,

2、网络B属于10.1.2.0/24子网,与B的1/0/3接口相连,

3、防火墙A和B之间的路由可达。

通过组网实现以下需求:

NGFW_A与NGFW_B之间建立GRE Over IPSec隧道,使网络A和网络B之间可以实现信息的加密传输。

配置过程

1、首先配置好中间的Internet部分,这里就不演示了。

2、配置GRE Tunnel接口。

建议在配置的时候,将tunnel接口和隧道源端口(本段与公网连接的物理接口)加入到同一安全区域。如果他们加入了不同的安全区域,需要配置安全策略,使两个安全区域能够互相访问。

  • NGFW_A防火墙配置:


1)将接口加入安全区域,并配置域间策略,以保证网络通信正常(略)。

2)配置GRE隧道接口。

#interface Tunnel0/0/0 ip address 10.3.1.1 255.255.255.0  tunnel-protocol gre source 1.1.3.1 destination 1.1.5.1


3)配置Tunnel接口转发路由。

[NGFW_A]ip route-static 10.1.2.0 24 Tunnel 0/0/0


  • NGFW_B防火墙配置:


1)将接口加入安全区域,并配置域间策略,以保证网络通信正常(略)。

2)配置GRE隧道接口。

#interface Tunnel0/0/0 ip address 10.3.1.2 255.255.255.0  tunnel-protocol gre source 1.1.5.1 destination 1.1.3.1#


3)配置Tunnel接口转发路由。

[NGFW_B]ip route-static 10.1.1.0 24 Tunnel 0/0/0


3、配置IPSec VPN

  • NGFW_A防火墙配置:


1)配置ACL,定义需要保护的数据流。

[NGFW_A]acl 3000[NGFW_A-acl-adv-3000]rule permit ip source 1.1.3.1 0 destination 1.1.5.1 0


2)配置IKE Peer。

[NGFW_A]ike peer FW_B v1  //配置IKE第一阶段的协商[NGFW_A-ike-peer-FW_B]pre-shared-key cipher 12345  //配置预共享秘钥为12345[NGFW_A-ike-peer-FW_B]remote-address 1.1.5.1    //对方的IP地址[NGFW_A-ike-peer-FW_B]exchange-mode main   //设置模式为主模式(默认)


3)配置IPSec Proposal。

[NGFW_A]ipsec proposal p1    //配置第二阶段变换集可以就只配置上面这一条,那它的IPSec提议会使用默认的;当然,也可以自行配置,如下:[NGFW_A-ipsec-proposal-p1]encapsulation-mode tunnel  //设置封装模式为隧道模式(默认)[NGFW_A-ipsec-proposal-p1]esp authentication-algorithm sha1  //设置esp的认证算法为sha1(默认为MD5)[NGFW_A-ipsec-proposal-p1]esp encryption-algorithm des  //设置esp的加密算法为des(默认)[NGFW_A-ipsec-proposal-p1]transform esp    //设置传输协议为esp


4)配置IPSec Policy。

[NGFW_A]ipsec policy policy1 1 isakmp    //配置调用策略[NGFW_A-ipsec-policy-isakmp-policy1-1]security acl 3000    //调用加密数据acl[NGFW_A-ipsec-policy-isakmp-policy1-1]ike-peer FW_B   //调用第一阶段协商策略[NGFW_A-ipsec-policy-isakmp-policy1-1]proposal p1    //调用第二阶段变换集[NGFW_A-ipsec-policy-isakmp-policy1-1]q[NGFW_A]int GigabitEthernet 1/0/1                   //进入接口视图[NGFW_A-GigabitEthernet1/0/1]ipsec policy policy1   //调用策略


  • NGFW_B防火墙配置:


1)配置ACL,定义需要保护的数据流。

[NGFW_B]acl 3000[NGFW_B-acl-adv-3000]rule permit ip source 1.1.5.1 0 destination 1.1.3.1 0


2)配置IKE Peer。

[NGFW_B]ike peer FW_A v1  //配置IKE第一阶段的协商[NGFW_B-ike-peer-FW_A]pre-shared-key cipher 12345  [NGFW_B-ike-peer-FW_A]remote-address 1.1.3.1    [NGFW_B-ike-peer-FW_A]exchange-mode main


3)配置IPSec Proposal。

[NGFW_B]ipsec proposal p1    //配置第二阶段变换集可以就只配置上面这一条,那它的IPSec提议会使用默认的;当然,也可以自行配置,如下:[NGFW_B-ipsec-proposal-p1]encapsulation-mode tunnel [NGFW_B-ipsec-proposal-p1]esp authentication-algorithm sha1  [NGFW_B-ipsec-proposal-p1]esp encryption-algorithm des [NGFW_B-ipsec-proposal-p1]transform esp


4)配置IPSec Policy。

[NGFW_B]ipsec policy policy1 1 isakmp    //配置调用策略[NGFW_B-ipsec-policy-isakmp-policy1-1]security acl 3000    [NGFW_B-ipsec-policy-isakmp-policy1-1]ike-peer FW_A   [NGFW_A-ipsec-policy-isakmp-policy1-1]proposal p1   [NGFW_B-ipsec-policy-isakmp-policy1-1]q[NGFW_B]int GigabitEthernet 1/0/1                 [NGFW_B-GigabitEthernet1/0/1]ipsec policy policy1


使用wireshark抓包进行分析【重要】

在进行抓包分析之前,需要对IPSec有一定的了解,建议看下面链接部分内容:IPSec详解。

IKE协商阶段


  • 在NGFW_B的 1/0/1接口抓包分析:


【注意】如果需要看到具体的IPSec协商过程,需要重启NGFW_B来观察其协商过程。

通过第一阶段和第二阶段的协商可以看出:

第一阶段:主模式,需要交互消息6次,图中刚好是6个包。

第二阶段:快速模式。需要交互消息3次,图中刚好有3个第二阶段协商的报文。

第一阶段(主模式)

主模式交互——消息1

第一个消息由隧道的发起者发起,携带了如这样一些参数,如加密机制-DES,散列机制-SHA,Diffie-Hellman组-2,认证机制-预共享。

DLAN6.25开始支持IKEv2。

主模式交互——消息2

消息2是应答方对发送方信息的应答,当应答方查找SPD查找到发送方相关的策略后,将自己的信息同样发送给对端,当然,应答方在发送传输集时将会生成自己Cookie并添加到数据包中,数据包信息如下:

可以看到,双方交流的都是自己含有的配置信息,如果双方信息一致,则开始进行下一步传输。

第1、2个包里重点在于ISAKMP策略的协商,这是为后面能在一个安全的环境之下协商IPSEC SA策略打下基础,因为这些策略直接提供对第二阶段的IPSEC SA策略协商的加密保护。

主模式交互——消息3

当完成了第一步骤双方的策略协商后,则开始进行第二步骤DH公共值交换,随数据发送的还包含辅助随机数,用户生成双方的加密密钥。消息3的数据包信息如下:

可以看到在数据包中,当前载荷类型属于密钥交换,载荷为DH公共值和Nonce随机数。都属于明文,未加密。

主模式交互——消息4

应答方同样将本端的DH公共值和Nonce随机数发送给对端,通过消息4传输:

在3、4个包里,重点在于通过DH算法产生和传递进行第一阶段认证的密钥材料,这些材料会让两端的设备产生一对相同的密钥,这个产生的密钥就是第一阶段相互间真实的认证密钥,这点很重要。

主模式交互——消息5

第五条消息由发起者向响应者发送,主要是为了验证对端就是自己想要与之通信的对端。这可以通过预共享、数字签名、加密临时值来实现。

双方交换DH公共值后,结合随机数生成一系列的加密密钥,用于双方加密、校验,同时生成密钥后,将公共密钥和本端身份信息等进行hash,hash值传输给对端进行验证设备身份。发送方通过消息5发送给接收方,可以看到载荷类型为身份验证载荷,所携带的信息经过加密,无法查看相关信息。

主模式交互——消息6

第六条消息由响应者向发起者发送,主要目的和第五条一样。

在这六条消息过后,也就是验证一旦通过,就进入了IKE第二阶段:快速模式。

在5、6个包里,就用前面产生的认证密钥进行相互认证,当相互认证通过,那么为第二阶段协商IPSEC SA策略的安全通道立即打开,两端的VPN服务器会用第一阶段协商的安全策略对第二阶段协商的IPSEC SA策略进行安全加密和认证。

同时要注意,从第5个包起,后面的所有包将会加密,只不过不同的是,第5、6个包和第二阶段协商的3个包都是通过第一阶段协商的安全策略进行加密的,而用户通信的数据则是用第二阶段协商的IPSEC SA策略进行加密和认证的,至于两者的密钥是否一样,就要看在第二阶段是否定义了PFS策略,如果应用了,那第二阶段的密钥将与第一阶段的不同,否则两者的密钥是一样的。

第二阶段

ISAKMP/IKE阶段2只有一种信息交换模式——快速模式,它定义了受保护数据连接是如何在两个IPSEC对等体之间构成的。

深信服的标准IPSEC 有几对的出站入站,在DLAN运行状态里面就会显示几条连接,每一对快速模式交互的包都是三个,第一个包由主连接发起方发起响应。

快速模式有两个主要的功能:

①协商安全参数来保护数据连接。

②周期性的对数据连接更新密钥信息。

第二阶段的效果为协商出IPSec 单向SA,为保护IPsec数据流而创建。第二阶段整个协商过程受第一阶段ISAKMP/IKE SA保护。

第二阶段的所有数据包都进行了加密,抓取的数据如下:


阶段2使用“快速模式”交换。快速模式交换通过三条消息建立IPsec SA。这3个包主要用来协商用于加密用户数据的安全策略(只有认证和加密方法和对应算法):

  1. 前两条消息协商IPsec SA的各项参数值,并生成IPsec使用的密钥,

  2. 第二条消息还为响应方提供在场的证据,

  3. 第三条消息为发起方提供在场的证据。


当第二阶段协商完毕之后,第一阶段的策略将暂时不会被使用,直到有新的VPN连接建立时或IPSEC SA加密密钥超时时,才会用第一阶段的策略重新生成并传递新的加密数据和认证的密钥。

SANGFOR设备上称PFS为“密钥完美向前保密”。

在IPSEC协商的第一阶段,通过DH算法进行了密钥的交互,并生成了加密密钥。如果不使用PFS,则第二阶段的加密密钥会根据第一阶段的密钥自动生成。使用了PFS,则第二阶段要重新通过DH算法协商一个新的加密密钥,从而提高了数据的安全性。

数据传输阶段



数据传输阶段是通过AH或者ESP通信协议进行数据的传输,这里为ESP。

数据传输建立在网络层。


可以看到,报文中的ESP协议中只包含两个字段ESP SPI和ESP Sequence。

推荐阅读

>>>【独家首发】新版HCIE考试解读直播回顾

>>> 重磅!华为HCIE认证改版升级通知!

>>>【命令解析】Linux用户行为的常用命令

>>> 网工必备通信基础知识,还不知道你就out了?

>>>【必备干货】网工入门必会桥接教程,外网+GNS3+Vmware

>>>【技术指南】5分钟搞清楚OSPF链路状态路由协议


网工界市场认可度极高的华为认证,你考了吗?


拿下华为HCIE认证之后,你可以:


  • 跨越90%企业的招聘硬门槛

  • 增加70%就业机会

  • 拿下BAT全国TOP100大厂敲门砖

  • 体系化得到网络技术硬实力

  • 技术大佬年薪可达30w+

资源放送 


2022版华为思科双厂商认证18集小白入门到进阶实战课,扫描下方二维码,即可观看:

微信图片_20220302145135.png