GRE Over IPSec配置及抓包
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之间可以实现信息的加密传输。
建议在配置的时候,将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详解。
在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个包主要用来协商用于加密用户数据的安全策略(只有认证和加密方法和对应算法):
前两条消息协商IPsec SA的各项参数值,并生成IPsec使用的密钥,
第二条消息还为响应方提供在场的证据,
第三条消息为发起方提供在场的证据。
当第二阶段协商完毕之后,第一阶段的策略将暂时不会被使用,直到有新的VPN连接建立时或IPSEC SA加密密钥超时时,才会用第一阶段的策略重新生成并传递新的加密数据和认证的密钥。
SANGFOR设备上称PFS为“密钥完美向前保密”。
在IPSEC协商的第一阶段,通过DH算法进行了密钥的交互,并生成了加密密钥。如果不使用PFS,则第二阶段的加密密钥会根据第一阶段的密钥自动生成。使用了PFS,则第二阶段要重新通过DH算法协商一个新的加密密钥,从而提高了数据的安全性。
数据传输阶段是通过AH或者ESP通信协议进行数据的传输,这里为ESP。
数据传输建立在网络层。
可以看到,报文中的ESP协议中只包含两个字段ESP SPI和ESP Sequence。
推荐阅读
>>>【必备干货】网工入门必会桥接教程,外网+GNS3+Vmware
网工界市场认可度极高的华为认证,你考了吗?
拿下华为HCIE认证之后,你可以:
跨越90%企业的招聘硬门槛
增加70%就业机会
拿下BAT全国TOP100大厂敲门砖
体系化得到网络技术硬实力
技术大佬年薪可达30w+
资源放送
2022版华为思科双厂商认证18集小白入门到进阶实战课,扫描下方二维码,即可观看: