銳捷交換機IPsec VPN 的實現

一、 VPN概述

VPN技術起初是爲了解決明文數據在網絡上傳輸帶來的安全隱患而產生的。TCP/IP協議族中的很多協議都採用明文傳輸,如telnet、ftp、tftp等。一些黑客可能爲了獲取非法利益,通過諸如竊聽、僞裝等攻擊方式截獲明文數據,使企業或者個人蒙受損失。

VPN技術可以從某種程度上解決該問題。例如,它可以對公網上傳輸的數據進行加密,即使黑客通過竊聽工具截獲到數據,也無法瞭解數據信息的含義。VPN也可以實現數據傳輸雙方的身份驗證,避免黑客僞裝成網絡中的合法用戶攻擊網絡資源。

1、 VPN的定義

VPN(virtual private network,虛擬專用網)就是在兩個網絡實體之間建立的一種受保護的連接,這兩個實體可以通過點到點的鏈路直接相連,但通常情況下他們會相隔較遠的距離。


VPN技術的作用:

通過使用加密技術防止數據被竊聽。

通過數據完整性驗證防止數據被破壞、篡改。

通過認證機制實現通信雙方身份確認,來防止通信數據被截獲和回放。

此外,VPN技術還定義了:

何種流量需要被保護。

數據被保護的機制。

數據的封裝過程。

實際工作環境中的VPN解決方案不一定包含上述所有功能,這要由具體的環境需求和實現方式決定。而且很多企業可能採用不止一種的VPN解決方案。

二、VPN技術有兩種基本的連接模式:隧道模式和傳輸模式。這兩種模式實際上定義了兩臺實體設備之間傳輸數據時所採用的不同的封裝過程。

1) 傳輸模式

傳輸模式一個最顯著的特點就是:在整個VPN的傳輸過程中,IP包頭並沒有被封裝進去,這就意味着從源端到目的端數據始終使用原有的IP地址進行通信。而傳輸的實際數據載荷被封裝在VPN報文中。對於大多數VPN傳輸而言,VPN的報文封裝過程就是數據的加密過程,因此,攻擊者截獲數據後將無法破解數據內容,但卻可以清晰地知道通信雙方的地址信息。


    由於傳輸模式封裝結構相對簡單(每個數據報文較隧道模式封裝結構節省20字節),因此傳輸效率較高,多用於通信雙方在同一個局域網內的情況。例如:網絡管理員通過網管主機登錄公司內網的服務器進行維護管理,就可以選用傳輸模式VPN對其管理流量進行加密。

2) 隧道模式

隧道模式中,VPN設備將整個三層數據報文封裝在VPN數據內,再爲封裝後的數據報文添加新的IP包頭。由於新IP包頭中封裝的是VPN設備的ip地址信息,所以當攻擊者截獲數據後,不但無法瞭解實際載荷數據的內容,同時也無法知道實際通信雙方的地址信息。

    由於隧道模式的VPN在安全性和靈活性方面具有很大的優勢,在企業環境中應用十分廣泛,總公司和分公司跨廣域網的通信、移動用戶在公網訪問公司內部資源等很多情況,都會應用隧道模式的VPN對數據傳輸進行加密

三、 VPN的類型

通常情況下,VPN的類型分爲站點到站點VPN和遠程訪問VPN。

1) 站點到站點VPN

站點到站點VPN就是通過隧道模式在VPN網關之間保護兩個或者更多的站點之間的流量,站點間的流量通常是指局域網之間(L2L)的通信流量。L2L的VPN多用於總公司與分公司、分公司之間在公網上傳輸重要業務數據。


 

對於兩個局域網的終端用戶來說,在VPN網關中間的網絡是透明的,就好像通過一臺路由器連接的兩個局域網。總公司的終端設備通過VPN連接訪問分公司的網絡資源。數據包封裝的地址都是公司內網地址(一般爲私有地址),而VPN網關對數據包進行的再次封裝過程,客戶端是全然不知的。

 

2) 遠程訪問VPN

遠程訪問VPN通常用於單用戶設備與VPN網關之間通信連接,單用戶設備一般爲一臺pc或小型辦公網絡等。VPN連接的一端爲PC,可能會讓很多人誤解遠程訪問VPN使用傳輸模式,但因爲該種VPN往往也是從公網傳輸關鍵數據,而且單一用戶更容易成爲黑客的攻擊對象,所以遠程訪問VPN對於安全性要求較高,更適用於隧道模式。

要想實現隧道模式的通信,就需要給遠程客戶端分配兩個IP地址:一個是它自己的NIC地址,另一個是內網地址。也就是說遠程客戶端在VPN建立過程中同時充當VPN網關(使用NIC地址)和終端用戶(使用內網地址)。


    當遠端的移動用戶與總公司的網絡實現遠程訪問VPN連接後,就好像成爲總公司局域網中的一個普通用戶,不僅使用總公司網段內的地址訪問公司資源,而且因爲其使用隧道模式,真是的ip地址被隱藏起來,實際公網通信的一段鏈路對於遠端移動用戶而言就像是透明的。

四、加密算法

加密就是一種將數據轉換成另外一種形式的過程,如果不瞭解用於加密的算法,解密幾乎是不可能的。舉例而言,A給B發信息內容爲”I LOVE YOU”,由於擔心C從中間截獲,於是,A與B協商了一種簡單的加密方法:把所有的字母按照26個字母順序+3,”I LOVE YOU”就變成了”L ORYH BYX”,即使C截獲了數據也無法得知信息的真正含義。這裏“+3”就可以理解爲一種簡單的加密算法。

實際VPN設備所使用的算法是相當複雜的,一般會涉及一些較爲複雜的數學算法,利用這些算法可以實現數據加密、數據完整性驗證、身份驗證等VPN的基本功能。一般來說,可以將這些加密算法分爲兩大類:對稱加密算法和非對稱加密算法。

1、 對稱加密算法

對稱加密算法使用同一祕鑰對信息提供安全的保護。假設對稱加密算法的祕鑰爲“K”,客戶端傳輸的明文數據爲“M”,VPN網關加密後的數據爲“C”,而E和D爲加密和解密函數,則數據加密過程如下:

發送發和接收方共享祕鑰“K”,也就是說加密和解密使用同一把鑰匙。

發送方的VPN網關通過加密函數E將明文數據M加密成爲密文數據C。

接收方的VPN網關通過解密函數D將數據還原爲明文數據M。

 

目前常見的對稱加密算法有DES、3DES、AES等。

1) DES算法

DES加密算法曾經在VPN領域應用很廣,屬IBM的研發產品,其祕鑰長度爲4位,其中8位用於奇偶校驗,所以實際有效長度爲56位。雖然該算法目前還沒找到更好的方法破解,但是通過暴力破解已經可以在較短時間內攻破DES算法,所以在實際工程實施過程中(如果沒有設備硬件性能支持)已經不建議使用該種算法。

2)3DES算法

NIST在1999年研發了3DES算法,理論上3DES算法是DES算法的增強版本,因爲3DES使用了三個階段的DES,即同時使用了三個不同的56位祕鑰,所以相當於產生了一個168位的有效祕鑰長度。這種級別的祕鑰目前還沒有計算機有能力在短時間內破解,而且其執行效率雖然在軟件環境中比較慢,但在硬件環境中並不明顯。

3)AES算法

3DES算法雖然目前爲止是安全的,但隨着計算機硬件的更新,總有一天要被攻破,NIST在2002年研發了AES算法欲取代DES和3DES算法。該算法比3DES算法更安全,它支持128、192和256位祕鑰長度,有效的祕鑰長度可達上千位。更重要的是,AES算法採用了更爲高效的編寫方法,對CPU佔用率較少,所以諸如IPSEC VPN等時機工程的實施過程中趨向於使用AES來提供更好的加密功能。

五 IPsec VPN 介紹

    指採用IPSec協議來實現遠程接入的一種VPN技術,IPSec全稱爲Internet Protocol Security,是由Internet Engineering Task Force (IETF) 定義的安全標準框架,用以提供公用和專用網絡的端對端加密和驗證服務。

    IPSEC技術實現VPN是目前較爲廣泛的一種應用,本節將探討IPSEC的建立過程及配置方法,實際工作中可能會遇到多個廠家的設備,有時需要網絡工程師分析分體、排除故障,因此,除了查閱各廠商的專業文檔外,瞭解VPN建立的各個階段也是尤爲重要的。

  本博客專門討論了銳捷交換機建立IPsec VPN的過程。

有如下拓撲圖:

loopback 0 模擬電腦

R1

Ruijie(config)#host R1

R1(config)#int s3/0

R1(config-if)#ip add 192.168.1.1 255.255.255.0

R1(config-if)#exit

R1(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.3.00.0.0.255    定義ipsec需要保護的數據流

R1(config)#crypto isakmp policy 1                建立安全聯盟1

R1(isakmp-policy)#auth pre-share                使用預共享祕鑰

R1(isakmp-policy)#hash md5                      使用md5 hash算法

R1(isakmp-policy)#exit

R1(config)#crypto isakmp key 0 123456 add 192.168.1.2       建立祕鑰和對端路由器ip

R1(config)#cry ipsec transform-set ruijie ah-md5-hmac esp-des  創建變換集

R1(cfg-crypto-trans)#exit

R1(config)#cry map ruijie 1 ipsec-isakmp                   建立加密圖1

R1(config-crypto-map)#set transform-set ruijie               使用變換集

R1(config-crypto-map)#set peer 192.168.1.2                 申明對端路由器IP地址

R1(config-crypto-map)#match add 101                  使用感興趣數據流

R1(config-crypto-map)#exit

R1(config)#int g0/0                進入接口

R1(config-if)#cry map ruijie                 使用加密圖

R1(config-if)#int g0/1

R1(config-if)#ip add 192.168.2.1 255.255.255.0

R1(config-if)#exit

R1(config)#ip route 0.0.0.0  0.0.0.0 g0/0

 

R2:

Ruijie(config)#host R2

R2(config)#int s3/0

R2(config-if)#ip add 192.168.1.2 255.255.255.0

R2(config-if)#exit

R2(config)#access-list 101 permit ip 192.168.3.0 0.0.0.255 192.168.3.20.0.0.255

R2(config)#crypto isakmp policy 1

R2(isakmp-policy)#auth pre-share

R2(isakmp-policy)#hash md5

R2(isakmp-policy)#exit

R2(config)#crypto isakmp key 0 123456 add 192.168.1.1

R2(config)#cry ipsec transform-set ruijie ah-md5-hmac esp-des

R2(cfg-crypto-trans)#exit

R2(config)#cry map ruijie 1 ipsec-isakmp

R2(config-crypto-map)#set transform-set ruijie

R2(config-crypto-map)#set peer 192.168.1.1

R2(config-crypto-map)#match add 101

R2(config-crypto-map)#exit

R2(config)#int g0/0

R2(config-if)#cry map ruijie

R2(config-if)#int lo0

R2(config-if)#ip add 192.168.3.1 255.255.255.0

R2(config-if)#exit

R2(config)#ip route 0.0.0.0  0.0.0.0 g0/0

兩端已經配置好,進行測試就可以了。


參考文獻:

詳解IPSec VPN:http://blog.51cto.com/yw666/1895079

銳捷路由器實現IPsec IKE 隧道:http://blog.51cto.com/w5566/1893588





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