用Cisco路由器和預共享密鑰建立多條 IPSec ***

***技術介紹:
      所謂虛擬專用網(Virtual Private Network, ***)就是建立在公網上的,由某一組織或某一羣用戶專用的通信網絡,其虛擬性表現在任意一對***用戶之間沒有專用的物理連接,而是通過ISP提供的公共網絡來實現通信的,其專用性表現在***之外的用戶無法訪問***內部的網絡資源,***內部用戶之間可以實現安全通信。
      由於Internet本質上是一個開放的網絡,沒有任何的安全措施可言。專線的連接可以實現不同地區之間的互訪,但需要支付高額的費用,維護也相當的困難。隨着Internet應用的擴展,很多要求安全和保密的業務需要通過廉價的Internet實現,這一需求促進了***技術的發展。
      廣泛地講,***體系結構可以被分爲兩種常見的情況:站點到站點的***(企業總部與各個分部之間的互聯)和遠程訪問***(遠程用戶與公司總部之間的互聯)。***技術實現安全互聯有多種方式,如MPLS ***、SSL ***等,但IPSec ***技術是現在企業用的最多的接入方式,本實驗就是通過使用Cisco路由器和預共享密鑰建立多條IPSec ***實現站點到站點之間的訪問。
 
實驗背景:
      某一外資企業在中國有三個分公司,分別坐落於上海、北京和深圳。由於企業信息的安全需求,要求與分公司之間建立不同的安全通道。其中,總部與深圳分部之間互相通信只需要互相驗證並保持數據的完整性就可以了;與北京分部之間要求數據加密而且具有一般的驗證功能,並能提供數據的完整性驗證;由於上海分部在中國充當了總代理的角色,傳輸的數據都是機密性文件,所以要求和上海分部之間建立嚴格的驗證功能,並能對數據進行加密和完整性驗證。(注意:每多一項功能,安全性就會升一級。但是,鏈路的開銷必然會增大。如何將各個功能配置使用,需要根據企業需求和網絡帶寬而定)
 
實驗目的:
通過IPSec ***技術實現公司總部和各個分部之間不同的安全通信,總部與分部之間通過兩臺路由互聯並運行OSPF多區域路由協議模擬Internet,總部和分部並不知道模擬Internet的具體連接情況,需要配置默認路由連接到模擬公網之上。
 
實驗環境:
使用DynamipsGUI 2.8模擬器,路由器IOS使用c3640-jk9o3s-mz.122-26.bin(帶有***功能)。DynamipsGUI 2.8的具體使用可參考網絡的一些資料。
 
實驗網絡拓撲:
 
試驗步驟:
一、 配置模擬公網的具體網絡參數(R2和R3之間的級聯。不是重點,只做簡單介紹)
 
1、 首先,在R2上配置各個端口的IP地址,並啓用OSPF協議,進程號爲200,將直連的網絡宣告到對應的區域裏(注意:是兩個區域,R2和R3之間的區域爲骨幹區域area 0,端口Ethernet 0/1所對應的區域爲area 1,具體可參考網絡拓撲圖)
clip_image004[4]
 
 
2、 其次,在R3上配置各個端口的IP地址,並啓用OSPF協議,進程號爲300,將直連的網絡宣告到對應的區域裏(注意:是四個區域,R2與R3之間的區域爲骨幹區域,其它區域爲area 2 ,area 3和area 4。具體可參考網絡拓撲圖)
clip_image006[4]
 
 
3、 公網模擬好之後,使用show ip route命令在R2或者R3上查看是否學習到不同區域之間的路由條目,不同區域之間的路由條目表示爲“O IA *****”
clip_image008[4]
 
 
二、 配置總部和分部的具體網絡參數( R1、R4、R5和R6的配置,不是重點,只做簡單介紹)
 
1、 配置公司總部各個端口的具體網絡參數,並啓用一條默認路由,下一跳地址由於不知道,配置爲連接模擬公網的端口Ethernet 0/0。
clip_image010[4]
 
 
2、 配置深圳分部各個端口的具體網絡參數,並啓用一條默認路由,下一跳地址由於不知道,配置爲連接模擬公網的端口Ethernet 0/1。
clip_image012[4]
 
 
3、 配置北京分部各個端口的具體網絡參數,並啓用一條默認路由,下一跳地址由於不知道,配置爲連接模擬公網的端口Ethernet 0/1。
clip_image014[4]
 
 
4、 配置上海分部各個端口的具體網絡參數,並啓用一條默認路由,下一跳地址由於不知道,配置爲連接模擬公網的端口Ethernet 0/1。
clip_image016[4]
 
 
三、 配置總部的三條IPSec ***,分別指向不同的分部。(重點講解)
*******************R1的具體配置*******************
 
1、 配置IKE協商
 
1.1、 啓用IKE(IKE-Internet Key Exchange是基於Internet安全聯盟和密鑰管理協議(ISAKAMP)定義的框架。IPSec 傳送認證或加密的數據之前,必須就協議、加密算法和使用的密鑰進行協商。而IKE提供了這個功能,ISAKAMP定義了兩個通信對等體如何能夠通過一系列的過程來保護他們之間的通信信道。然而,它並沒有規定傳送的內容,只是充當了交通工具的角色。)
默認條件下,IKE在Cisco ISO軟件中是激活的。如果被人工關閉,則需要再次激活它。
clip_image018[4]
 
 
1.2、 建立IKE協商策略並配置IKE協商參數(在啓用IKE後可以構造IKE策略,根據每個***連接的安全係數不同,構造多個策略。不同的IKE策略實現不同的安全連接方式)
定義公司總部與分部之間的IKE的編號爲policy (取值範圍爲1~10000,策略編號越低,其優先級越高),以policy 2爲例進行講解:
 
encryption 3des命令被用來設置加密所需要的算法,(DES—Data Encryption Standard數據加密標準,是使用最廣泛的共享密鑰加密算法。它使用對稱式加密算法,加密和解密使用相同的密鑰值,共56位,而3DES是DES的擴展,共168位。由於算法的複雜性,因此需要的網絡寬帶和內存)
 
authertication pre-share命令告訴路由器要使用預先共享的密鑰(對等體認證方法除了預共享密鑰還有RSA加密的nonces,RSA簽名,默認爲RSA簽名)
 
hash sha命令被用來設置密鑰認證所用的算法,有MD5和SHA-1兩種,默認爲SHA-1。(Hash散列算法是一種基於密鑰(對稱密鑰或公鑰)的加密不同的數據轉換類型。其中MD5是使用最廣泛的報文摘要算法,可產生128位散列值的散列算法。SHA-1是安全散列算法,可產生一個160位的散列值。SHA-1算法的缺點是速度被MD5慢,但是SHA的報文摘要更長,具有更高的安全性)
 
group 2 爲密鑰交換方式,一般有三種模式,分部爲group 1,group 2,group 5,其中,group 1的密鑰交換最簡單,而group 5的密鑰交換方式最複雜。(注意:同等實體兩端策略的密鑰交換方式必須一樣,就本實驗而言,總部和深圳分部使用group 1,總部和北京分部使用group 2,總部和上海分部使用group 5)
 
Lifetime 86400 聲明瞭SA的生存時間,默認爲86400。在超過生存時間後,SA將被重新協商。(SA—Secuity Associations安全聯盟,定義了各種類型的安全措施,這些措施的內容包含了IP包加密解密和認證的相關信息)
clip_image020[4]
 
 
1.3、 設置IPSec對等體的驗證方法(由於SA是單向的,因此,需要設置預先共享的密碼和對端的IP地址或主機名。也就是說有兩種驗證方法,一種是通過對端主機名進行驗證;另一種是通過對端IP地址進行驗證。語法爲Router(config)#crypto isakmp key keystring address <hostname> peer-addresspeer-hostname注意:***鏈路兩端的密碼必須匹配。)
clip_image022[4]
 
 
2、配置IPSec相關參數
 
2.1 指定Crypto map加密用的訪問列表(注意:IPSec只用於加密的訪問類別,而沒有定義的訪問列表就等於沒有IPSec的驗證,直接以明文的方式進行傳送。這個不同於普通的訪問控制列表那樣“運行”和“拒絕”流量)Crypto訪問列表必須是互爲鏡像的。比如:總部連接外網的路由器加密了所有流向深圳分部連接外網的路由器的IP流量,則分部連接外網的路由器必須加密流回總部連接外網的路由器的所有IP流量。其實,這個類似於windows 系統中的IP安全策略(開始—運行—mmc—添加/刪除管理單元—IP安全策略))
考慮到試驗的侷限性,這裏只定義了給IP包和ICMP包(ping包)進行數據的加密,其它數據包正常通過。
clip_image024[4]
 
 
2.2、 配置IPSec工作模式並配置交換集(定義總部和深圳分部之間路由器的IPSec工作模式爲傳輸模式(transport,默認爲tunnel)並定義交換集名爲aaa ,並使用了ah-md5-hmac的驗證參數。定義總部和北京分部之間路由器的工作模式爲隧道模式(tunnel)並定義交換集名爲bbb,並使用了esp-3des 和esp-sha-hmac。定義總部和上海分部之間路由器的工作模式爲隧道模式(trunel)並定義交換集名爲ccc,並使用了esp-3des和ah-sha-hmac)
 
工作模式可選擇的參數有:(每種參數類型中只可以選擇一種方式,但三者可以同時使用,可以看出總部和上海分部之間的IPSec工作模式在三者之間是最安全的)
AH驗證參數:ah-md5-hmac、ah-sha-hmac
ESP加密參數:esp-des、esp-3des、esp-null
ESP驗證參數:esp-md5-hma、esp-sha-hmac
AH: IPSec認證頭提供數據完整性和數據源認證,但是不提供保密服務。
ESP: 帶認證的封裝安全負荷提供數據完整性和數據源認證,同時也提供了保密服務。但是,其數據源認證沒有AH功能強。
 
IPSec的工作模式:
 
傳輸模式---在傳輸模式中,IPSec的AH頭或ESP頭插入原來的IP頭之後,而整個過程當中,原來的IP頭並沒有進行認證和加密。也就是說,源和目的IP以及所有的IP包頭域都是不加密發送的。
 
隧道模式---在隧道模式中,IPSec的AH頭或ESP頭插入原來的IP頭之前,在整個過程中,加密和認證之後會從新生產一個新的IP頭加到AH頭或ESP頭之前。也就是說,真正的IP源地址和目的地址都可以隱藏爲因特網發送的普通數據。因此隧道模式比傳輸模式具有更高的安全性。同時,隧道模式加密的複雜性也佔有了一定的網絡帶寬。
clip_image026[4]
 
 
2.3、 配置全局IPSec安全關聯生命期(全局的和指定接口的SA生命期都可以被配置,SA生命期確定在它們重新協商前IPSec SA保持有效的時間,在加密映射條目內,全局生命期將被覆蓋,當一個SA快要過期時,會協商一個新的,而不會打斷數據流)
 
clip_image028[4]
 
 
3、配置加密映射並安全關聯(現在已經構造好了***隧道需要的信息,需要通過配置cryto map將它們整合在一起然後運用到指定的接口上)
創建三個Crypto map,全部命名爲map-all,並定義不同的優先級。
以第一條crypto map爲例進行講解:
 
Crypto map map-all 11 ipsec-isakmp:創建crypto map,並命名爲map-all,優先級爲11(優先級範圍爲1~65535,值越小,優先級越高),並將IPSec和ISAKMP關聯起來。下面有個警告,意思是這個新的crypto map 在沒有配置一個對等體或着一個有效的訪問控制列表之前,始終保持關閉狀態。
Match address 112匹配前面定義的加密訪問控制列表,編號必須相同。
Set peer 160.160.160.2指定所對應***鏈路對端的IP地址,IP地址應該同前面在IKE中配置的對端IP地址相同。
Set transform-set aaa指定了此Crypto Map所使用的交換集名稱,這個名稱應該與IPSec中配置的交換集名稱相同。
Set pfs group1關聯共享密鑰的交換方式,應該與配置IKE協商階段使用的交換方式相同。
clip_image030[4]
 
 
4、應用Crypto Map到端口
注意:在端口上只能應用一種crypto map,所以要將三個crypto map綜合到一起,並配置同樣的名稱map-all。
clip_image032[4]
 
****************R4的具體配置*******************
 
1、配置IKE協商(建立IKE協商策略,並配置IKE協商參數,應與R1上配置 對應的策略相同)
clip_image034[4]
 
 
2、 設置IPSec對等體的驗證方法(預共享密鑰爲123456,對等實體地址爲100.100.100.1)
clip_image036[4]
 
 
3、 設置IPSec的相關參數(crypto map加密用的訪問列表)
clip_image038[4]
 
 
4、 配置IPSec工作模式爲隧道模式,並配置交換集名稱爲aa ,內容爲ah-md5-hmac
clip_image040[4]
 
 
5、配置全局IPSec安全關聯生命期爲86400(對等體兩端必須一樣)
clip_image042[4]
 
 
6、 配置加密映射並安全關聯(定義crpto map的名稱爲map-1 優先級爲20)
clip_image044[4]
 
 
7、 應用Crypto map到對應的端口上
clip_image046[4]
 
 
****************R5的具體配置********************
clip_image048[4]
 
 
***************R6的具體配置*****************
clip_image050[4]
 
 
四、 設置PC1PC2PC3PC4IP地址、子網掩碼以及網關。(注意寫法:“ip ip-address ip-gateway /子網掩碼”
clip_image052[4]
 
 
在PC1上(總部)分別ping分部主機的IP地址,可以看出隧道已建立成功。
clip_image054[4]
 
 
在PC4上(上海分部)ping公網的IP地址,可以看出是ping不通的,因爲公網對於***來說只是一條透明的鏈路而已。
clip_image056[4]
 
 
五、 IPSec ***配置的檢查(以R1和R4爲例進行說明)
 
1、 使用show crypto isakmp policy命令可以查看所配置的IKE策略(通過兩個路由器上IKE策略的對比進行排錯)
clip_image058[4]
clip_image060[4]
 
 
2、 使用show crypto isakmp key 可以查看***兩端的共享實體的IP地址或者主機名,預共享密鑰。
clip_image062[4]
clip_image064[4]
 
 
3、 使用show crypto isakmp sa可以查看***對等實體兩端的IP地址參數,如果協商不成功,是沒有這些參數出現的。
clip_image066[4]
clip_image068[4]
 
 
4、 使用show crypto ipsec sa查看安全聯盟當前使用的設置。在ping的過程中,還能看到數據包的增加過程。
clip_image070[4]
 
 
5、 使用show crypto ipsec security-association-lifetime查看全局IPSec安全關聯生命週期。(注意:對等實體兩端是一樣的)
clip_image072[4]
clip_image074[4]
 
 
6、 使用show crypto ipsec transform-set可以查看IPSec的工作模式以及變換集的配置。
clip_image076[4]
clip_image078[4]
 
 
7、 使用show crypto map 顯示所有配置在路由器上的Crypto Map,便於更詳細的查看。
clip_image080[4]
clip_image082[4]
 
 
六、 實驗總結:
1、 配置多條***隧道的時候,注意在端口只能應用一個Crypto Map,如果有多條***,應該將所有的crypto map定義相同的名稱。
 
2、 配置Crypto Map時候所使用的密鑰交換方式應該與IKE階段所配置的密鑰交換方式相同。
 
3、 配置交換集的時候,每種類型只能選擇一種參數。
 
4、 定義Crypto加密訪問列表時候,注意應用的先後次序,記得將特殊的放到前面,然後再將一般的放到後面。最後加上access-list access-list-number deny ip any any,拒絕其它沒有數據通過。
 
5、 檢查Crypto加密訪問列表出錯,應該重新定義訪問列表,刪除或者添加某一條都不會生效的。
 
6、 檢查錯誤的時候,如果內容較多,也可以使用show running將兩個結果進行對比排錯。
 
7、 使用DynamipsGUI 2.8的時候,如果路由器啓動起來,最好讓路由器一直處於當前會話狀態,千萬別退出會話,這樣會消耗更多內存造成對實驗的干擾。可以在全局模式下使用命令line console 0,然後進去使用exec-time 0 0就可以了。
 
8、 在配置*** IPSec之前最後讓全網都互通,可以使用ping命令,讓各自路由器裏都學習到其它路由器的路由條目,以免造成對實驗的干擾。
 
9、 配置IKE協商參數應該與對應的交換集保持一直。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章