IKE 协议包含两个版本,IKEv1 和 IKEv2。 IPSec IKEv1 协议主要包括两个阶段:IKEv1的第一阶段可以分为主模式和激进模式。 由于IKEv1阶段1的主模式需要一共3个双向交换和6个ISAKMP消息,协商效率低,aggressive模式对此进行了改进。 IKEv1 协议协商 图 4. IKE 提议参数交换消息 图 5. 密钥生成信息交换 图 6. 身份和认证信息交换 与IKEv1 相比,IKEv2 简化了协商过程,通过两次交换,四个 ISAKMP 消息建立一个 IPSec SA,大大改善了协商过程。 图 7. IKEv2 协议协商 IKEv1 和 IKEv2 的区别 简化协商过程 IKEv1总共需要9条ISAKMP(IKEv1主模式)或6条消息(IKEv1激进模式)来完成IPSec SA的协商和建立,而IKEv2
initiator跟Responder Cookie,启动跟响应SA的建立、SA通知、SA删除,用于唯一标识一个IKE SA Mjver(version):IKE的版本,目前有两个版本,IKEV1,以及 IKEV2,目前应用还是IKEV1比较多(很多低端设备不支持IKEV2) 交换类型(Exchange type):定义了ISKAMP消息交换顺序,在IKEV1中会有主模式以及野蛮模式、快速模式,它们之间的交互流程是不一样的 4、V1:1以及V1:2,这里前面的V1表示IKEV1的版本,后面的1跟2表示阶段,1表示第一阶段,也就是IKE隧道协商,而2表示第二阶段,IPSEC sa的协商。
#V**协商默认,no表示是main模式,yes表示野蛮模式 dpdaction=none #DPD检测 keyexchange=ikev1 #ikev1 备注:vim可以使用粘贴模式这样不会出现错乱 vim 文件名,然后输入下面的命令 :set paste 输入命令后提示如下图 1.3.5ipsec.secrets
charondebug="all"conn %default ikelifetime=1440m keylife=60m rekeymargin=3m keyingtries=0 keyexchange=ikev1
KE作为秘钥协商协议,存在两个版本:IKEv1和IKEv2,本课程采用IKEv1为例进行介绍,IKEv2内容可参考产品文档对应内容。 ▫IKEv1协商阶段1的目的是建立IKE SA。 IKE SA建立后对等体间的所有ISAKMP消息都将通过加密和验证,这条安全通道可以保证IKEv1第二阶段的协商能够安全进行。 ▫IKEv1协商阶段2的目的就是建立用来安全传输数据的IPSec SA,并为数据传输衍生出密钥。 该阶段使用IKEv1协商阶段1中生成的密钥对ISAKMP消息的完整性和身份进行验证,并对ISAKMP消息进行加密,故保证了交换的安全性。
获奖者:思科ASA IKEv1/IKEv2碎片堆缓冲区溢出漏洞(Cisco ASA IKEv1/IKEv2 Fragmentation Heap Buffer Overflow)(CVE-2016-1287 荣誉归属者:David Barksdale,Jordan Gruskovnjak以及Alex Wheeler; Cisco ASA Software的IKEv1及IKEv2代码中存在安全漏洞,未经身份验证的远程攻击者发送精心构造的
IKE/ISKAMP的协商过程 这里主要讲解IKEV1的版本,在V1版本中有两个模式,一个主模式,一个野蛮模式(也称为积极模式),下面就以上一篇的拓扑跟配置为基础,来通过抓包来分析,先从IKE的主模式开始 (display显示的PRF与Intergrity Algorithm这个是IKEV2才需要用到的,但是华为防火墙里面会在安全提议里面一起显示,如果使用的是IKEV1,这个可以不关心,抓包里面也可以体现出来 (2)ike peer:这里面有几个关键的地方需要注意 默认华为防火墙工作在IKEV2版本,需要通过undo version 2开切换到IKEV1 Pre-shared-key两边必须一致 exchange-mode
conn %default authby=psk type=tunnel conn tomyidc #tomyidc只是随便取的名字 keyexchange=ikev1
另外据说也可以使用strongswan取代openswan,而且strongswan还可以用来配置IKEv1和IKEv2协议。 并且支持很多协议,OpenVPN,l2tp,IKEv1,IKEv2,IKEv3,sstp等。(不够我值尝试过openvpn和l2tp,很好用) 这货安装很简单,直接按官网的文档即可。
successfully loaded 1 connections, 0 unloaded #2、查询ipsec配置 root@learning-vpp1:~# swanctl -L net-net: IKEv1 root@learning-vpp1:~# swanctl -l net-net: #1, ESTABLISHED, IKEv1, 32c65d2fe4e1c557_i* a0f0f26def283ba5 root@learning-vpp1:~# swanctl -l net-net: #1, ESTABLISHED, IKEv1, 32c65d2fe4e1c557_i* a0f0f26def283ba5
enable cache disable error-recovery disable group-policy DfltGrpPolicy attributes ***-tunnel-protocol ikev1
86400s #ISAKMP SA协商间隔 rekeymargin=3m #密钥更新间隔 keyingtries=1 #ISAKMP SA协商次数 keyexchange=ikev1
setup conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 keyexchange=ikev1 conn myvpn keyexchange=ikev1 left=%defaultroute auto=add authby=secret type=transport leftprotoport
101.0.0.2 [Huawei-ike-peer-r1-r3]ike-proposal 10 [Huawei-ike-peer-r1-r3]q [Huawei]ike peer r1-r3 v1 :使用 IKEv1 Huawei-GigabitEthernet0/0/1]q [Huawei]ipsec policy aqcl 10 isakmp :创建策略 ID 为 10 的名为“aqcl”的 IPSec 策略,并指定用于密钥交换 (isakmp) 的 IKEv1
时间戳格式(兼容syslog) ike_name = yes # 显示IKE会话标识 ike = 4 # IKEv1
ikelifetime=1440m keylife=60m rekeymargin=3m keyingtries=0 keyexchange=ikev1
最近在研究市面上的Windows版本的IPSec客户端,但发现基本对于IKEv1都不支持(如有遗漏支持的,请留言给我,谢谢大佬),所以对我来说,就剩一条路了,用strongwan的windows版本,我们登上官网下载一波发行包
connectionsconn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 keyexchange=ikev1 conn myV** keyexchange=ikev1 left=%defaultroute auto=add authby=secret type=transport leftprotoport
比如在华为防火墙与对端设备使用 IKEv1 协议野蛮模式时,若 IKE 对等体的 ID 类型选择为 IP,应是对端 NAT 前的私网 IP,若填错为公网 IP 则无法建立连接。 网络可达性问题:虽然看起来是 IKE 协商问题,但实际上可能是网络层面的问题,即两端设备之间的网络不可达,中间存在网络设备阻断了 IKE 协商所需的 UDP 500 端口(IKEv1)或 UDP 4500
中 完全免费 VPN协议 开源成熟、加密性强 企业远程接入、安全互联 strongSwan https://www.strongswan.org/ 企业级组网型 高 完全免费 IPsec VPN 支持IKEv1