IPsec VPN基礎:IPsec VPN相關概念與協議
對于VPN有所了解的朋友,肯定也知道IPsec VPN,那么這里我們就將IPsec VPN的一些基礎概念和相關協議進行一下梳理。IPsec VPN不是一個單獨的協議,它包括:AH協議、ESP協議、 IKE協議以及用于加密和認證一些算法。
◆IPsec提供的安全服務
機密性:DES、3DES、AES
完整性:MD5 HMAC 、SHA HMAC (HMAC:散列算法)
源認證:帶外域共享密鑰、域共享非對稱加密、數字證書(CA)
防重放:AH、ESP
◆IPsec隧道模式和傳輸模式的區別:
1.隧道模式中,整個IP數據包被用來計算附加包頭,且被加密,附加包頭和被加密的數據被封裝在一個新的IP數據中。在傳輸模式中只是傳輸層(如TCP、UDP、ICMP)數據被用來計算附加包頭,附加包頭和加密的數據被放置在原IP報頭后面。
2.傳輸模式中,源和目的IP地址以及所有的IP包頭域都是不加密發送的。而在隧道模式中,真正的IP源地址和目的地址都可以被隱藏為因特網發送的普通數據。
◆AH協議
一個用于提供用戶數據完整性和認證的機制,通過在整個IP數據包中實施一個散列計算來提供完整性和認證服務。
在隧道模式中,AH報頭被插入在原始的包頭和新包頭之間
◆ESP協議
封裝安全載荷(Encapsulating Security Payload)協議通過加密算法提供了身份驗證和數據機密性。
最主要的ESP標準是數據加密標準(DES),最高支持56位密鑰。3DES使用三倍密鑰加密,相當于使用最高到168位的密鑰。AES支持128、 192 、256位密鑰長度,是IPsecVPN中最常使用的加密算法,也是對稱加密中最安全的算法。
◆安全聯盟SA
在IPsec中使用AH和ESP時,協議將與一組安全信息和服務發生關聯,稱為安全聯盟
SA定義了各種類型的安全措施,這些安全措施的內容包含了IP包加密解密和認證的相關信息。具體為:提供的服務、算法、密鑰。
可以通過手動配置,也可以通過密鑰管理協議自動協商。
◆Internet密鑰交換IKE
IKE基于Internet安全聯盟和密鑰管理協議(ISAKAMP)定義的框架。
IKE在隧道建立過程中將完成以下任務:
協商協議參數
交換公共密鑰
對雙方進行認證
在交換后對密鑰進行管理
◆IPsecVPN 的配置
配置IKE的協商
1,啟用IKE
- Router<config>#crypto isakmp enable
2,建立IKE協商策略
- Router<config>#crypto isakmp policy priority
3,配置IKE協商參數
- Router<config-isakmp>#hash {md5|sha1}
- Router<config-isakmp>#encryption {des|3des}
- Router<config-isakmp>#authentication pre-share
使用預先共享的密鑰,此密碼是手工配置的
- Router<config-isakmp>#lifetime seconds
4.設置共享密鑰和對端對址
- Router<config>#crypto isakmp key keystring address peer-address
配置IPsec相關參數
1,指定Crypto訪問列表
Crypto訪問列表不像普通訪問控制列表那樣"允許"或 "拒絕"流量,它在VPN隧道中定議什么樣的報文將被IPsec加密傳輸,什么樣的報文不用被加密而直接傳輸。
Crypto訪問列表必須是互為鏡像的。比如:路由器A加密了所有流向路由器B的TCP流量,則路由器B必須加密流回路由器A的所有TCP的流量。
- Router<config>access-list number {deny|permit} protocol source source-wildcard destination destination-wildcard
2.配置IPsec傳輸模式
傳輸模式設置定義用于VPN隧道的認證類型、完整性和負載加密。
- Router<config>#crypto ipsec transform-set transform-set-name transform1
- AH驗證參數:ah-md5-hmac、ah-sha-hmac
- ESP加密參數:esp-des、esp-3des、esp-null
- ESP驗證參數:esp-md5-hma、esp-sha-hamc
配置端口的應用
設置Crypto Map
1,創建Crypto Map:
- Router<config>#crypto map map-name seq-sum ipsec-isakmp
- Router<config-crypto-map>#match address access-list-number
- Router<config-crypto-map>#set peer ip-address
- Router<config-crypto-map>#set transform-set name
2,應用到接口上
- Router<config>#interface interface slot/port
- Router<config-if>crypto map map-name
IPsec VPN配置的檢查
- Router#show crypto isakmp policy
- Router#show crypto isakmp sa
- Router#show crypto ipsec sa
- Router#show crypto map
IKE模式
Isakmp/ike模式 |
狀態 |
描述 |
IKE階段一主要模式 |
MM-NO-STATE |
IKE階段一的主要模式中,在路由器上已經建立了管理sa,但和遠程對等體還沒有協商任何參數。 |
MM-SA-SETUP |
IKE階段一的主要模式中,兩個IPsec對等體成功地協商IKE策略參數。 |
|
MM-KEY-EXCH |
IKE階段一的主要模式中,發生了DH交換,并生成了共享密鑰。 |
|
MM-KEY-AUTH |
IKE階段一的主要模式中,成功完成了兩個對等體的身份認證,IKE階段二現在可以開始了。 |
|
IKE階段一積極模式 |
AG-NO-STATE |
IKE階段一的積極模式中,在路由器上已經建立了管理sa,但和遠程對等體還沒有協商任何參數。 |
AG-INIT-EXCH |
IKE階段一的積極模式中,成功地協商了IKE參數,發生了DH交換,并生成了共享密鑰。 |
|
AG-AUTH |
IKE階段一的積極模式中,成功完成了兩個對等體的身份認證,IKE階段二現在可以開始了。 |
|
IKE階段2快速模式 |
QM-IDLE |
完成IKE階段1,并開始,以及可能結束IKE階段2 |