×××技術介紹:
所謂虛擬專用網(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的具體使用可參考網絡的一些資料。
實驗網絡拓撲:
試驗步驟:
1、 配置模擬公網的具體網絡參數(R2和R3之間的級聯。不是重點,只作簡單介紹)
一、 首先,在R2上配置各個端口的IP地址,並啓用OSPF協議,進程號爲200,將直連的網絡宣告到對應的區域裏(注意:是兩個區域,R2和R3之間的區域爲骨幹區域area 0,端口Ethernet 0/1所對應的區域爲area 1,具體可參考網絡拓撲圖)
二、 其次,在R3上配置各個端口的IP地址,並啓用OSPF協議,進程號爲300,將直連的網絡宣告到對應的區域裏(注意:是四個區域,R2與R3之間的區域爲骨幹區域,其它區域爲area 2 ,area 3和area 4。具體可參考網絡拓撲圖)
三、 公網模擬好以後,使用show ip route命令在R2或者R3上查看是否學習到不一樣區域之間的路由條目,不一樣區域之間的路由條目表示爲「O IA *****」
2、 配置總部和分部的具體網絡參數( R一、R四、R5和R6的配置,不是重點,只作簡單介紹)
一、 配置公司總部各個端口的具體網絡參數,並啓用一條默認路由,下一跳地址因爲不知道,配置爲鏈接模擬公網的端口Ethernet 0/0。
二、 配置深圳分部各個端口的具體網絡參數,並啓用一條默認路由,下一跳地址因爲不知道,配置爲鏈接模擬公網的端口Ethernet 0/1。
三、 配置北京分部各個端口的具體網絡參數,並啓用一條默認路由,下一跳地址因爲不知道,配置爲鏈接模擬公網的端口Ethernet 0/1。
四、 配置上海分部各個端口的具體網絡參數,並啓用一條默認路由,下一跳地址因爲不知道,配置爲鏈接模擬公網的端口Ethernet 0/1。
3、 配置總部的三條IPSec ×××,分別指向不一樣的分部。(重點講解)
*******************R1的具體配置*******************
一、 配置IKE協商
1.一、 啓用IKE(IKE-Internet Key Exchange是基於Internet安全聯盟和密鑰管理協議(ISAKAMP)定義的框架。IPSec 傳送認證或加密的數據以前,必須就協議、加密算法和使用的密鑰進行協商。而IKE提供了這個功能,ISAKAMP定義了兩個通訊對等體如何可以經過一系列的過程來保護他們之間的通訊信道。然而,它並無規定傳送的內容,只是充當了交通工具的角色。)
默認條件下,IKE在Cisco ISO軟件中是激活的。若是被人工關閉,則須要再次激活它。
1.二、 創建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包加密解密和認證的相關信息)
1.三、 設置IPSec對等體的驗證方法(因爲SA是單向的,所以,須要設置預先共享的密碼和對端的IP地址或主機名。也就是說有兩種驗證方法,一種是經過對端主機名進行驗證;另外一種是經過對端IP地址進行驗證。語法爲Router(config)#crypto isakmp key keystring address <hostname> peer-address(peer-hostname)注意:×××鏈路兩端的密碼必須匹配。)
二、配置IPSec相關參數
2.1、 指定Crypto map加密用的訪問列表(注意:IPSec只用於加密的訪問類別,而沒有定義的訪問列表就等於沒有IPSec的驗證,直接以明文的方式進行傳送。這個不一樣於普通的訪問控制列表那樣「運行」和「拒絕」流量)Crypto訪問列表必須是互爲鏡像的。好比:總部鏈接外網的路由器加密了全部流向深圳分部鏈接外網的路由器的IP流量,則分部鏈接外網的路由器必須加密流回總部鏈接外網的路由器的全部IP流量。其實,這個相似於windows 系統中的IP安全策略(開始—運行—mmc—添加/刪除管理單元—IP安全策略))
考慮到試驗的侷限性,這裏只定義了給IP包和ICMP包(ping包)進行數據的加密,其它數據包正常經過。
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源地址和目的地址均可以隱藏爲因特網發送的普通數據。所以隧道模式比傳輸模式具備更高的安全性。同時,隧道模式加密的複雜性也佔有了必定的網絡帶寬。
2.三、 配置全局IPSec安全關聯生命期(全局的和指定接口的SA生命期均可以被配置,SA生命期肯定在它們從新協商前IPSec SA保持有效的時間,在加密映射條目內,全局生命期將被覆蓋,當一個SA快要過時時,會協商一個新的,而不會打斷數據流)
三、配置加密映射並安全關聯(如今已經構造好了×××隧道須要的信息,須要經過配置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協商階段使用的交換方式相同。
四、應用Crypto Map到端口
注意:在端口上只能應用一種crypto map,因此要將三個crypto map綜合到一塊兒,並配置一樣的名稱map-all。
****************R4的具體配置*******************
一、配置IKE協商(創建IKE協商策略,並配置IKE協商參數,應與R1上配置 對應的策略相同)
二、 設置IPSec對等體的驗證方法(預共享密鑰爲123456,對等實體地址爲100.100.100.1)
三、 設置IPSec的相關參數(crypto map加密用的訪問列表)
四、 配置IPSec工做模式爲隧道模式,並配置交換集名稱爲aa ,內容爲ah-md5-hmac
五、配置全局IPSec安全關聯生命期爲86400(對等體兩端必須同樣)
六、 配置加密映射並安全關聯(定義crpto map的名稱爲map-1 優先級爲20)
七、 應用Crypto map到對應的端口上
****************R5的具體配置********************
***************R6的具體配置*****************
4、 設置PC1、PC2、PC3、PC4的IP地址、子網掩碼以及網關。(注意寫法:「ip ip-address ip-gateway /子網掩碼」
在PC1上(總部)分別ping分部主機的IP地址,能夠看出隧道已創建成功。
在PC4上(上海分部)ping公網的IP地址,能夠看出是ping不通的,由於公網對於×××來講只是一條透明的鏈路而已。
5、 IPSec ×××配置的檢查(以R1和R4爲例進行說明)
一、 使用show crypto isakmp policy命令能夠查看所配置的IKE策略(經過兩個路由器上IKE策略的對比進行排錯)
二、 使用show crypto isakmp key 能夠查看×××兩端的共享實體的IP地址或者主機名,預共享密鑰。
三、 使用show crypto isakmp sa能夠查看×××對等實體兩端的IP地址參數,若是協商不成功,是沒有這些參數出現的。
四、 使用show crypto ipsec sa查看安全聯盟當前使用的設置。在ping的過程當中,還能看到數據包的增長過程。
五、 使用show crypto ipsec security-association-lifetime查看全局IPSec安全關聯生命週期。(注意:對等實體兩端是同樣的)
六、 使用show crypto ipsec transform-set能夠查看IPSec的工做模式以及變換集的配置。
七、 使用show crypto map 顯示全部配置在路由器上的Crypto Map,便於更詳細的查看。
6、 實驗總結:
一、 配置多條×××隧道的時候,注意在端口只能應用一個Crypto Map,若是有多條×××,應該將全部的crypto map定義相同的名稱。
二、 配置Crypto Map時候所使用的密鑰交換方式應該與IKE階段所配置的密鑰交換方式相同。
三、 配置交換集的時候,每種類型只能選擇一種參數。
四、 定義Crypto加密訪問列表時候,注意應用的前後次序,記得將特殊的放到前面,而後再將通常的放到後面。最後加上access-list access-list-number deny ip any any,拒絕其它沒有數據經過。
五、 檢查Crypto加密訪問列表出錯,應該從新定義訪問列表,刪除或者添加某一條都不會生效的。
六、 檢查錯誤的時候,若是內容較多,也可使用show running將兩個結果進行對比排錯。
七、 使用DynamipsGUI 2.8的時候,若是路由器啓動起來,最好讓路由器一直處於當前會話狀態,千萬別退出會話,這樣會消耗更多內存形成對實驗的干擾。能夠在全局模式下使用命令line console 0,而後進去使用exec-time 0 0就能夠了。
八、 在配置××× IPSec以前最後讓全網都互通,可使用ping命令,讓各自路由器裏都學習到其它路由器的路由條目,以避免形成對實驗的干擾。
九、 配置IKE協商參數應該與對應的交換集保持一直。