VPN

网友投稿 292 2022-10-28


VPN

理解internet key exchange(IKE)作用

IKE提高了IPsec的安全性和灵活性,让IPsec的协商更加智能化。说白了就是对IPsec SA实施了二重保护。

IKE提供了IPsec对等体的验证、协商密钥、保护了IPsec SA的协商,可以说是IPsec的第二重安全保障,关于IKE的作用如下:

消除了安全对等体两端把IPsec安全参数手工放入到加密表。允许为IPsec安全关联(SA)指定一个生存期允许在IPsec会话期间改变加密密钥允许IPsec更简便的方式使用PKI架构,例如数字证书的使用允许对等体的动态验证

理解IKE的传输集

IKE使用大量的独立的安全参数,来保障协商的安全,但它并不是试图去单独协商每个安全参数,而是将这些不同的安全参数组合成一个集合,这个集合叫IKE传输集,或者叫做IKE的安全策略,这与IPsec的安全关联一样,如果两个对等体设备之间没有相同的安全参数集,那么它的IKE协商将会失败,IKE的传输集有5个重要参数:

IKE的加密算法:常用的加密算法(DES、3DES、AES)IKE的验证算法:常用的验证算法(MD5、SHA-1)IKE的密钥:主要用于完成对等体身份验证,其中包括使用预共享密钥、RSA签名(数字证书),Nonce(一次性密码)。在初级IPsec×××学习阶段,只要学会预共享密钥配置IKE即可。Diffie-Hellman版本:它是创建×××最重要的问题之一,交换密钥,它使用DH算法建立只有协商两端才知道的一个共享安全密钥。允许×××的两端通过非安全的通道共享密钥。思科的设备支持3组Diffie-Hellman,分别是768比特素数的组1;1024比特素数的组2;1536比特素数的组5,素数最大,生成的密钥就越长,安全性越高,素数越大,密钥计算的时间越长。IKE的生命周期:时间或者比特数。

R1(config)#crypto isakmap policy 1  //指定IKE传输集策略1

R1(config-isakmp)#encryption aes  //指定IKE的加密方式

R1(config-isakmp)#authentication pre-share  //指定IKE的验证方式为预共享

R1(config-isakmp)#hash sha  //指定IKE的验证算法为SHA-1

R1(config-isakmp)#group 5   //指定使用Diffie-Hellman组5 即1536比特素数

R1(config-isakmp)#lifetime 40000 //指定IKE的生命周期

简述IPsec的工作过程

第一步:首先是IPsec通信的发送方感知要加密的数据流量,如果满足所定义的加密数据流量的规划就进入IPsec的第二步,该过程将被IPsec配置中的ACL所定义;否则,将使用正常路由的方式来转发数据。

第二步:进入IKE第一阶段的协商,协商的内容包括三方面:第一个内容是交换IKE的基本安全策略集,这个内容被IPsec配置中的crypto isakmp policy 1(或者其他编号)所定义,这个策略编号只在本地有效,协商双方所定义的这个策略集编号不一定必须相同;第二个内容是创建与交换DH密钥,这个内容被IPsec配置中的group 1、2、5、7所定义,其目的是允许×××的双方在不安全的通信通道上建立一个共享密钥;第三个内容是协商对等体身份验证,使用什么样的方式来验证对等体身份,可以使用PSK(预共享密钥)、RSA(签名)、RSA加密随机数。我们现阶段使用预共享密钥方式,这个内容被IPsec配置中的authentication pre-share所定义。上述的三个内容都属于IKE的第一阶段协商,核心目标是:为IKE第二阶段的协商奠定基础和保护第二阶段的协商。

第三步:进行IKE第二阶段的协商,在这个阶段中主要协商IPsec的安全参数,因为它只产生在IKE第一阶段成功协商完成之后,所以通常把IKE的第二阶段叫做“快速模式”。它在IPsec配置中被crypto IPsec transform-set所定义。

第四步:当完成上述步骤的协商后,就可以安全的发送数据了。IPsec将保护这些会话。

第五步:当需要被保护的数据收发完成后,IPsec完成隧道的终结。

实验拓扑

配置如下:

北京

BJ(config)#int f0/0

BJ(config-if)#ip add 202.202.1.1255.255.255.0

BJ(config-if)#no shutdown

BJ(config-if)#exit

BJ(config)#int loopback 0

BJ(config-if)#ip add 192.168.1.1255.255.255.0

BJ(config-if)#no shutdown

BJ(config-if)#exit

BJ(config)#router rip

BJ(config-router)#version 2

BJ(config-router)#no auto-summary

BJ(config-router)#network 202.202.1.0

BJ(config-router)#exit

BJ(config)#ip route 0.0.0.0 0.0.0.0 f0/0

BJ(config)#crypto isakmp policy 1

BJ(config-isakmp)#encryption aes

BJ(config-isakmp)#hash sha

BJ(config-isakmp)#authenticationpre-share

BJ(config-isakmp)#group 2

BJ(config-isakmp)#exit

BJ(config)#crypto isakmp key 0 benetaddress 202.202.2.2

BJ(config)#access-list 100 permit ip192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

BJ(config)#crypto ipsec transform-set benetesp-aes ah-sha-hmac

BJ(cfg-crypto-trans)#mode tunnel

BJ(cfg-crypto-trans)#exit

BJ(config)#crypto map benetmap 1ipsec-isakmp

BJ(config-crypto-map)#match address 100

BJ(config-crypto-map)#set peer 202.202.2.2

BJ(config-crypto-map)#set transform-setbenet

BJ(config-crypto-map)#exit

BJ(config)#interface f0/0

BJ(config-if)#crypto map benetmap

BJ(config-if)#exit

*Mar 1 00:10:02.871: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON

BJ(config-if)#exit

BJ(config)#exit

上海

SH(config)#int f0/0

SH(config-if)#ip add 202.202.2.2255.255.255.0

SH(config-if)#no shutdown

SH(config-if)#exit

SH(config)#int loopback 0

SH(config-if)#ip add 192.168.2.1255.255.255.0

SH(config-if)#no shutdown

SH(config-if)#exit

SH(config)#router rip

SH(config-router)#version 2

SH(config-router)#no auto-summary

SH(config-router)#network 202.202.2.0

SH(config-router)#exit

SH(config)#ip route 0.0.0.0 0.0.0.0 f0/0

SH(config)#crypto isakmp policy 1

SH(config-isakmp)#encryption aes

SH(config-isakmp)#hash sha

SH(config-isakmp)#group 2

SH(config-isakmp)#authentication pre-share

SH(config-isakmp)#exit

SH(config)#crypto isakmp key 0 benetaddress 202.202.1.1

SH(config)#access-list 100 permit ip192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

SH(config)#crypto ipsec transform-set benetesp-aes ah-sha-hmac

SH(cfg-crypto-trans)#mode tunnel

SH(cfg-crypto-trans)#exit

SH(config)#crypto map benetmap 1ipsec-isakmp

SH(config-crypto-map)#match address 100

SH(config-crypto-map)#set peer 202.202.1.1

SH(config-crypto-map)#set transform-setbenet

SH(config-crypto-map)#exit

SH(config)#interface f0/0

SH(config-if)#crypto map benetmap

SH(config-if)#exit

ISP

ISP(config)#int f0/0

ISP(config-if)#ip add 202.202.1.2255.255.255.0

ISP(config-if)#no shutdown

ISP(config-if)#exit

ISP(config)#

ISP(config)#int f1/0

ISP(config-if)#ip add 202.202.2.1255.255.255.0

ISP(config-if)#no shutdown

ISP(config-if)#exit

ISP(config)#

ISP(config)#router rip

ISP(config-router)#version 2

ISP(config-router)#no auto-summary

ISP(config-router)#network 202.202.1.0

ISP(config-router)#network 202.202.2.0

ISP(config-router)#exit


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如果根据日志去禁用user_agent
下一篇:springBoot系列常用注解(小结)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~