IPSEC ***

一、IPSEC *** 模式
1、tunnel模式
隧道模式中,***設備將整個三層數據報文封裝在***數據內,再爲封裝後的數據報文添加新的IP包頭。由於新IP包頭中封裝的是***設備的ip地址信息,所以當***者截獲數據後,不但無法瞭解實際載荷數據的內容,同時也無法知道實際通信雙方的地址信息。
2、transport模式
傳輸模式一個最顯著的特點就是:在整個***的傳輸過程中,IP包頭並沒有被封裝進去,這就意味着從源端到目的端數據始終使用原有的IP地址進行通信。而傳輸的實際數據載荷被封裝在***報文中。對於大多數***傳輸而言,***的報文封裝過程就是數據的加密過程,因此,***者截獲數據後將無法破解數據內容,但卻可以清晰地知道通信雙方的地址信息。
二、數據加密算法
1、對稱加密
對稱加密,加密祕鑰解密祕鑰相同,並且祕鑰在公網中傳輸,常用的對稱加密算法有DES、3DES、AES等。
2、非對稱加密
非對稱加密,由於算法強度複雜,使得加密解密速度非常慢。爲了解決這個問題,我們採用這樣一種方法:數據傳輸還是採取對稱加密算法,而對稱加密的祕鑰用非對稱加密算法來加密。即公鑰用非對稱算法加密,只能用私鑰來解密,但私鑰不在公網中傳輸。常用的費對稱加密算法有RSA、ES、DH等。
三、數據報文驗證
數據報文驗證包括兩個方面:數據來源驗證(身份驗證)和報文完整性驗證。
HMAC功能實現驗證功能
HMAC(hash-based message authentication codes,散列消息代碼)功能專門開發用來處理數據包相關的驗證問題,它使用一個共享的對稱祕鑰來產生固定的輸出結果——數字簽名。HMAC屬於單向散列算法(hash算法)的一個子集,區別於前面講解的加密算法,散列算法是不可逆的,即加密後的數據是無法還原的。MD5和SHA是HMAC的兩種常用算法。
四、IPSEC ***
1、 IPSec連接
對等體之間建立IPSec ***的連接需要三個步驟。
1) 流量觸發IPSec
一般來說,IPSec建立過程是由對等體之間發送的流量觸發的,一旦有***流量經過***網關,連接過程便開始建立了。

2) 建立管理連接
IPSec使用ISAKMP/IKE階段1來構建一個安全的管理連結。這裏需要注意的是,這個管理連接只是一個準備工作,它不被用來傳輸實際的數據。
 
3) 建立數據連接
IPSec基於安全的管理連接協商建立安全的數據連接,而ISAKMP/IKE階段2就是用來完成這個任務的,數據連接用於傳輸真正的用戶數據。

2、IKE 第一階段:共使用了6個報文
第 1 2 報文,明文發送。驗證正確的peer 地址,使用發送自己所有的SA信息(該SA信息爲ISAKMP SA ,雙向的,雙方必須一致),對方會回覆匹配的SA策略。
第 3 4 報文,明文發送。傳遞DH算法的公鑰。隨機產生一些值,雙方交互運算,得到公共信息,從而計算出來三個相同的Skey-id。
Skey-id d ----衍生出來Ipsec 中對稱加密算法的密鑰
Skey-id a---衍生出來Ipsec 的隨機值(用於hamc)
Skey-id e---衍生出來ISAMKP中的對稱加密算法的密鑰
IKE 第二階段hmac的隨機是雙方手工指定的。
第 5 6 報文,使用密文發送,將所有的公共信息進行認證。
3、IKE第二階段: 進行Ipsec SA協商(該SA對傳遞的數據進行封裝)共三個報文,全部是加密的。
第1個再次進行認證(檢測IPsec中的公共信息)
第2個報文發送自己所有SA策略
第3個報文進行確認ipsec *** 建立完成。

五、實驗
IPSEC ***
1、pc1的配置
PC1(config)#int e0/0
PC1(config-if)#ip address 192.168.10.100 255.255.255.0
PC1(config)#ip default-gateway 192.168.10.254
PC1(config)#no ip routing

2、pc3的配置
PC1(config)#int e0/0
PC1(config-if)#ip address 192.168.20.100 255.255.255.0
PC1(config)#ip default-gateway 192.168.20.254
PC1(config)#no ip routing

3、R1的配置
R1(config)#int e0/1
R1(config-if)#ip address 192.168.10.254 255.255.255.0
R1(config-if)#no shutdown
R1(config)#int e0/0
R1(config-if)#ip add ress 12.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.2
R1(config)#int lo 1
R1(config-if)#ip add ress 192.168.1.100 255.255.255.0
4、R2的配置
R2(config)#int e0/0
R2(config-if)#ip address 12.1.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config)#int e0/1
R2(config-if)#ip address 23.1.1.2 255.255.255.0
R2(config-if)#no shutdown
5、R3的配置
R3(config)int e0/0
R3(config-if)#ip address 23.1.1.3 255.255.255.0
R3(config-if)#no shutdown
R3(config)#int e0/1
R3(config-if)#ip add ress 192.168.20.254 255.255.255.0
R3(config-if)#no shutdown
R3(config)#ip route 0.0.0.0 0.0.0.0 23.1.1.2
R3(config)#int lo 1
R3(config-if)#ip add ress 192.168.2.100 255.255.255.0
以上配置完後,可以測試,pc之間不通,R1與R3可以ping通。
R1可以ping通R3
R1#ping 23.1.1.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 23.1.1.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

PC1不能夠ping通PC3
PC1#ping 192.168.20.100 source 192.168.10.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.10.100, timeout is 2 seconds:
UUUUU
Success rate is 0 percent (0/5)

接下來開始配置IPSec ***
6、在R1上配置IPSec ***
R1(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
R1(config)#access-list 100 permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
R1(config)#crypto isakmp policy 10
R1(config-isakmp)#encr 3des
R1(config-isakmp) #hash md5
R1(config-isakmp) #authentication pre-share
R1(config-isakmp) #group 2
R1(config)#crypto isakmp key 6 cisco address 23.1.1.3
R1(config)#crypto ipsec transform-set xxx esp-3des esp-md5-hmac
R1(cfg-crypto-trans)#mode tunnel
R1(config)#crypto map yy 10 ipsec-isakmp
R1(config-crypto-map)#set peer 23.1.1.3
R1(config-crypto-map)# set transform-set xxx
R1(config-crypto-map)# match address 100
R1(config)#int e0/0
R1(config-if)#crypto map yy

7、在R3上配置IPSec ***
抓取感興趣流量
R1(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
R1(config)#access-list 100 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255
IKE第一階段,ISAKMP SA協商
R1(config)#crypto isakmp policy 10 //定義ISAKMP(用於輪循)
R1(config-isakmp)#encr 3des //定義加密算法
R1(config-isakmp) #hash md5 //定義認證算法
R1(config-isakmp) #authentication pre-share //使用域共享祕鑰方式產生key
R1(config-isakmp) #group 2 //定義非對稱加密算法(爲DH-2)
定義共享祕鑰
R1(config)#crypto isakmp key 6 cisco address 12.1.1.1
IKE第二階段,IPSEC SA協商
R1(config)#crypto ipsec transform-set xxx esp-3des esp-md5-hmac
//使用ESP封裝,3DES加密算法,MD5認證,HMAC源認證
R1(cfg-crypto-trans)#mode tunnel //定義爲隧道模式
定義cryto map(配置加密映射)
R1(config)#crypto map yy 10 ipsec-isakmp //定義名稱
R1(config-crypto-map)#set peer 12.1.1.1 //定義對方某個IP地址生效
R1(config-crypto-map)# set transform-set xxx //定義轉換集
R1(config-crypto-map)# match address 100 //匹配感興趣流量
R1(config)#int e0/0 //接口調用crypto map
R1(config-if)#crypto map yy
8、測試
1)、PC1能夠ping通PC3
PC1#ping 192.168.20.100 source 192.168.10.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.20.100, timeout is 2 seconds:
Packet sent with a source address of 192.168.10.100
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/3/4 ms
2)、R1的環回能夠ping通R3的環回(作用與PC1 ping PC3相同)
R1#ping 192.168.2.100 source 192.168.1.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.100, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.100
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 7/8/11 ms
3)、PC 不能夠ping通R2
PC1#ping 12.1.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 12.1.1.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章