前言
通過前幾期的文章,大家對企業(yè)網(wǎng)絡(luò)中通常使用的VPN技術(shù),有了一定的了解,在IPsec VPN結(jié)構(gòu)中,離不開密鑰交換協(xié)議-IKE,IKE是可在通信雙方進行IPSec的處理過程中,對雙方身份進行鑒別,同時還可以進行安全策略的協(xié)商,以及處理會話密鑰的交換。事實證明,現(xiàn)有的基于IKEv1的實現(xiàn)已經(jīng)成為整個IPSec系統(tǒng)的瓶頸,如何優(yōu)化IKE已經(jīng)成為業(yè)界在IPSec實施方案中的焦點,為此,2005年12月,推出了正式RFC文檔(RFC 5996).也就是IKEv2,來滿足對IKEv1的補充。
那這一切跟 FlexVPN有什么關(guān)系呢?
在Cisco 的體系中,將IKEv2統(tǒng)稱為“FlexVPN”,名字為思科私有,技術(shù)為共有標準。
Chapter - 1 FlexVPN介紹
- FlexVPN的特點
- IKEv2是IKEv1的“升級版”,但是它并不向下兼容。也就是說在IKEv1和IKEv2同時存在的環(huán)境中,你必須要同時配置IKEv1和IKEv2;
- IKEv2不占用IKEv1資源,也就是說它們可以同時運行在一臺設(shè)備上;
- IKEv2支持EAP認證,而IKEv1則不支持;
- IKEv2支持MOBIKE,而IKEv1則不支持;(MOBIKE允許IKEv2用于移動平臺,如手機等)
- IKEv2已內(nèi)置了NAT穿越功能,而IKEv1則需通過擴展協(xié)議支持;
- IKEv2可以檢測隧道存活狀態(tài),而IKEv1僅能使用DPD(Dead Peer Detection)。而DPD在IKEv2中已成為標準的內(nèi)建功能。但思科IOS系統(tǒng)默認該功能是禁用的,可在IKEv2的配置文件下配置;
- IKEv2具有可靠性檢測,消息需被確認并排序。而在IKEv1中消息是沒有被確認的;
- IKEv2通過反堵塞cookie,來實現(xiàn)反DOS攻擊。而IKEv1則不具備該特性;
- IKEv2可以在一個策略中配置多套選擇器。因此,多個網(wǎng)絡(luò)可以在一個交換過程中進行協(xié)商;
- IKEv2允許兩個加密引擎分別處理IPv4和IPv6流量;
- IKEv2允許非對稱驗證方式,而IKEv1則只能對稱驗證;(即對等體間使用相同的認證方式)
- IKEv2與IKEv1一樣,使用UDP-500端口,如需NAT,則起始端口號為UDP-4500。
- IKEv2介紹
采用IKEv2協(xié)商安全聯(lián)盟比IKEv1協(xié)商過程要簡化的多。要建立一對IPSec SA,IKEv1需要經(jīng)歷兩個階段:“主模式+快速模式”或者“野蠻模式+快速模式”,前者至少需要交換9條消息,后者也至少需要6條消息。而IKEv2正常情況使用2次交換共4條消息就可以完成一對IPSec SA的建立,如果要求建立的IPSec SA大于一對時,每一對IPSec SA只需額外增加1次創(chuàng)建子SA交換,也就是2條消息就可以完成。
IKEv2定義了三種交換:初始化交換(Initial Exchanges),創(chuàng)建子SA交換(Create_Child_SA Exchange)以及通知交換(Informational Exchange)。
初始交換:正常情況下,IKEv2通過初始交換就可以完成第一對IPSec SA的協(xié)商建立。IKEv2初始交換對應(yīng)IKEv1的第一階段,初始交換包含兩次交換四條消息,如下圖所示:
- 消息①和②屬于第一次交換(稱為IKE_SA_INIT交換),以明文方式完成IKE SA的參數(shù)協(xié)商,包括協(xié)商加密和驗證算法,交換臨時隨機數(shù)和DH交換。IKE_SA_INIT交換后生成一個共享密鑰材料,通過這個共享密鑰材料可以衍生出IPSec SA的所有密鑰。
- 消息③和④屬于第二次交換(稱為IKE_AUTH交換),以加密方式完成身份認證、對前兩條信息的認證和IPSec SA的參數(shù)協(xié)商。IKEv2支持RSA簽名認證、預(yù)共享密鑰認證以及擴展認證方法EAP(Extensible Authentication Protocol)。EAP認證是作為附加的IKE_AUTH交換在IKE中實現(xiàn)的,發(fā)起者通過在消息3中省去認證載荷來表明需要使用EAP認證(此認證方式在前期802.1x準入認證章節(jié)有介紹)。
創(chuàng)建子SA交換:
當一個IKE SA需要創(chuàng)建多對IPSec SA時,需要使用創(chuàng)建子SA交換來協(xié)商多于一對的IPSec SA。另外,創(chuàng)建子SA交換還可以用于IKE SA的重協(xié)商。
創(chuàng)建子SA交換包含一個交換兩條消息,對應(yīng)IKEv1協(xié)商階段2,交換的發(fā)起者可以是初始交換的協(xié)商發(fā)起方,也可以是初始交換的協(xié)商響應(yīng)方。創(chuàng)建子SA交換必須在初始交換完成后進行,交換消息由初始交換協(xié)商的密鑰進行保護。
類似于IKEv1,如果啟用PFS,創(chuàng)建子SA交換需要額外進行一次DH交換,生成新的密鑰材料。生成密鑰材料后,子SA的所有密鑰都從這個密鑰材料衍生出來。
通知交換:
運行IKE協(xié)商的兩端有時會傳遞一些控制信息,例如錯誤信息或者通告信息,這些信息在IKEv2中是通過通知交換完成的,如下圖所示:
通知交換必須在IKE SA保護下進行,也就是說通知交換只能發(fā)生在初始交換之后。控制信息可能是IKE SA的,那么通知交換必須由該IKE SA來保護進行;也可能是某子SA的,那么該通知交換必須由生成該子SA的IKE SA來保護進行。
Chapter - 2 FlexVPN實驗
- 實驗拓撲
實驗需求
部署IKEv2站點到站點VPN,保護實際站點Site_1內(nèi)網(wǎng)訪問Site_2內(nèi)網(wǎng)的流量。實驗說明
實驗準備:
- 本實驗全部在EVE模擬器內(nèi)部完成。
- 全部設(shè)備使用路由器模擬。
IP地址規(guī)劃
設(shè)備 | 接口 | IP地址 |
---|---|---|
公司總部 | E0/0 | 10.1.1.1/24 |
公司總部 | Loopback 0 | 1.1.1.1/24 |
公司分部 | E0/0 | 40.1.1.1/24 |
公司分部 | Loopback 0 | 2.2.2.2/24 |
Site_1 | E0/0 | 10.1.1.10/24 |
Site_1 | E0/1 | 20.1.1.10/24 |
Site_2 | E0/0 | 40.1.1.10/24 |
Site_2 | E0/1 | 30.1.1.10/24 |
Internet | E0/0 | 20.1.1.100/24 |
Internet | E0/1 | 30.1.1.100/24 |
- 實驗步驟
步驟1:按照IP地址規(guī)劃,為設(shè)備配置IP地址(此處省略)
步驟2:解決底層路由連通性
公司總部路由器:
ip route 2.2.2.0 255.255.255.0 10.1.1.10 //去對端私網(wǎng)的路由
Site_1路由器:
ip route 1.1.1.0 255.255.255.0 10.1.1.1 //本地私網(wǎng)的路由
ip route 2.2.2.0 255.255.255.0 20.1.1.100 //對端私網(wǎng)路由
ip route 30.1.1.0 255.255.255.0 20.1.1.100 //對端出口路由器路由
分公司路由器:
ip route 1.1.1.0 255.255.255.0 40.1.1.10 //去對端私網(wǎng)的路由
Site_2路由器:
ip route 1.1.1.0 255.255.255.0 30.1.1.100 //去對端私網(wǎng)的路由
ip route 2.2.2.0 255.255.255.0 40.1.1.1 //本端私網(wǎng)的路由
ip route 20.1.1.0 255.255.255.0 30.1.1.100 //對端出口路由的路由
步驟3:Site_1設(shè)備階段1配置
* 創(chuàng)建一個IKEv2安全提議
crypto ikev2 proposal Site-1
encryption 3des
integrity sha1
group 2
* 將安全提議調(diào)用到Policy下
crypto ikev2 policy Policy
proposal Site-1
* 使用預(yù)先共享密鑰認證,需要配置域共享密鑰
crypto ikev2 keyring PSK-key
peer Site-2
address 30.1.1.10
pre-shared-key cisco
* 創(chuàng)建IKEv2_Profile,制定源目加密點IP,認證方式
crypto ikev2 profile pro
match identity remote address 30.1.1.10 255.255.255.255
identity local address 20.1.1.10
authentication remote pre-share
authentication local pre-share
keyring local PSK-key
步驟4:Site_1設(shè)備的階段2配置
* 通過ACL抓取感興趣流量
ip access-list extended vpn
permit ip host 1.1.1.1 host 2.2.2.2
* 配置轉(zhuǎn)換集策略,用于保護實際感興趣流。
crypto ipsec transform-set Trans esp-3des esp-md5-hmac
mode tunnel
* 配置Crypto-map,匯總所配置策略。
crypto map cisco 10 ipsec-isakmp
set peer 30.1.1.10
set transform-set Trans
set ikev2-profile pro
match address vpn
* 接口應(yīng)用。
interface Ethernet0/1
crypto map cisco
步驟5:Site_2設(shè)備階段1配置
* 創(chuàng)建一個IKEv2安全提議
crypto ikev2 proposal Site-2
encryption 3des
integrity sha1
group 2
* 將安全提議調(diào)用到Policy
crypto ikev2 policy Policy
proposal Site-2
* 使用預(yù)共享密鑰認證,配置認證密鑰。
crypto ikev2 keyring PSK-key
peer Site-1
address 20.1.1.10
pre-shared-key cisco
* 創(chuàng)建IKEv2_Profile,指定源目加解密點IP地址,認證方式,調(diào)用本地認證密鑰
crypto ikev2 profile pro
match identity remote address 20.1.1.10 255.255.255.255
identity local address 30.1.1.10
authentication remote pre-share
authentication local pre-share
keyring local PSK-key
步驟6:Site_2設(shè)備第二階段配置
* 通過ACL抓取感興趣流
ip access-list extended vpn
permit ip host 2.2.2.2 host 1.1.1.1
* 配置轉(zhuǎn)換集策略,用于保護實際感興趣流。
crypto ipsec transform-set Trans esp-3des esp-md5-hmac
mode tunnel
* 配置Crypto-map,匯總所配置策略。
crypto map cisco 10 ipsec-isakmp
set peer 20.1.1.10
set transform-set Trans
set ikev2-profile pro
match address vpn
* 接口應(yīng)用。
interface Ethernet0/1
crypto map cisco
步驟6:測試
* 測試公司總部內(nèi)網(wǎng)到分公司的內(nèi)網(wǎng)流量連通性。
R1#ping 2.2.2.2 source loopback 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/6 ms
* 查看加解密包
Site_1#show crypto engine connections active
Crypto Engine Connections
ID Type Algorithm Encrypt Decrypt LastSeqN IP-Address
1 IPsec 3DES+MD5 19 0 0 20.1.1.10
2 IPsec 3DES+MD5 0 19 19 20.1.1.10
1001 IKEv2 SHA+3DES 0 0 0 20.1.1.10
* 查看安全關(guān)聯(lián)
Site_1#show crypto ikev2 sa
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 20.1.1.10/500 30.1.1.10/500 none/none READY
Encr: 3DES, PRF: SHA1, Hash: SHA96, DH Grp:2, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/3092 sec
IPv6 Crypto IKEv2 SA