IPsec VPN

IPsec VPN

指採用IPSec協定來實現遠程接入的一種VPN技術,IPSec全稱為Internet Protocol Security,是由Internet Engineering Task Force (IETF) 定義的安全標準框架,用以提供公用和專用網路的端對端加密和驗證服務。 IPSEC是一套比較完整成體系的VPN技術,它規定了一系列的協定標準。

相關協定

VPN作為一項成熟的技術,廣泛套用於組織總部和分支機構之間的組網互聯,其利用組織已有的網際網路出口,虛擬出一條“專線”,將組織的分支機構和總部連線起來,組成一個大的區域網路。

VPN用戶訪問區域網路資源還需為拔入到UTM25的用戶分配一個虛擬的私有IP,使SSL VPN客戶端的用戶可以像區域網路用戶一樣能正常訪問區域網路內的資源。  

導入協定原因

導入IPSEC協定,原因有2個,一個是原來的TCP/IP體系中間,沒有包括基於安全的設計,任何人,只要能夠搭入線路,即可分析所有的通訊數據。IPSEC引進了完整的安全機制,包括加密、認證和數據防篡改功能。

另外一個原因,是因為Internet迅速發展,接入越來越方便,很多客戶希望能夠利用這種上網的頻寬,實現異地網路的的互連通。

IPSEC協定通過包封裝技術,能夠利用Internet可路由的地址,封裝內部網路的IP位址,實現異地網路的互通。

包封裝協定

構想現實一種通訊方式。假定發信和收信需要有身份證(成年人才有),兒童沒有身份證,不能發信收信。有2個兒童,小張和小李,他們的老爸是老張和老李。現在小張和小李要寫信互通,怎么辦?

一種合理的實現方式是:小張寫好一封信,封皮寫上 "小張-->小李", 然後給他爸爸,老張寫一個信封,寫上“老張-->老李”,把前面的那封信套在裡面,發給老李,老李收到信以後,打開,發現這封信是給兒子的,就轉給小李了。小李回信也一樣,通過他父親的名義發回給小張。

這種通訊實現方式要依賴以下幾個因素:

* 老李和老張可以收信發信

* 小張發信,把信件交給老張。

* 老張收到兒子的來信以後,能夠正確的處理(寫好另外一個信封),並且重新包裝過的信封能夠正確送出去。

* 另外一端,老李收到信拆開以後,能夠正確地交給小李。

* 反過來的流程一樣。

把信封的收發人改成Internet上的IP位址,把信件的內容改成IP的數據,這個模型就是IPsec的包封裝模型。小張小李就是內部私網的IP主機,他們的老爸就是VPN網關,本來不能通訊的兩個異地的區域網路,通過出口處的IP位址封裝,就可以實現區域網路對區域網路的通訊。

引進這種包封裝協定,實在是有點不得已。理想的組網方式,當然是全路由方式。(這裡注意理想的組網方式雖然是全路由方式,但VPN的套用也不會因全網而沒有用武之地,因為VPN的根本還是為了方便外網訪問區域網路)任意節點之間可達(就像理想的現實通訊方式是任何人之間都可以直接寫信互通一樣)。

Internet協定最初設計的時候,IP位址是32位,當時是很足夠了,沒有人能夠預料到將來Internet能夠發展到現在的規模(相同的例子發生在電信短訊息上面,由於160位元組的限制,很大地制約了短訊息的發展)。按照2的32次方計算,理論上最多能夠容納40億個左右IP位址。這些IP位址的利用是很不充分的,另外大約有70%左右的IP位址被美國分配掉了,所以對於中國來說,可供分配的IP位址資源非常有限。

既然IP位址有限,又要實現異地lan-lan通訊,包封包,自然是最好的方式了。

安全協定

依然參照上述的通訊模型。

假定老張給老李的信件要通過郵政系統傳遞,而中間途徑有很多好事之徒,很想偷看小張和小李(小張小李作生意,通的是買賣信息)通訊,或者破壞其好事。

解決這個問題,就要引進安全措施。安全可以讓小李和小張自己來完成,文字用暗號來表示,也可以讓他們的老爸代勞完成,寫好信,交給老爸,告訴他傳出去之前重新用暗號寫一下。

IPSEC協定的加密技術和這個方式是一樣的,既然能夠把數據封裝,自然也可以把數據變換,只要到達目的地的時候,能夠把數據恢復成原來的樣子就可以了。這個加密工作在Internet出口的VPN網關上完成。

數據認證

還是以上述通訊模型為例,僅僅有加密是不夠的。

把數據加密,對應這個模型中間,是把信件的文字用暗號表示。

好事之徒無法破解信件,但是可以偽造一封信,或者胡亂把信件改一通。這樣,信件到達目的地以後,內容就面目全非了,而且收信一方不知道這封信是被修改過的。

為了防止這種結果,就要引入數據防篡改機制。萬一數據被非法修改,能夠很快識別出來。這在現實通訊中間可以採用類似這樣的算法,計算信件特徵(比如統計這封信件的筆劃、有多少字),然後把這些特徵用暗號標識在信件後面。收信人會檢驗這個信件特徵,由於信件改變,特徵也會變。所以,如果修改人沒有暗號,改了以後,數據特徵值就不匹配了。收信人可以看出來。

身份認證

還是假定小張小李通訊模型。

由於老張和老李不在一個地方,他們互相不能見面,為了保證他們兒子通訊的安全。老張和老李必須要相互確認對方是否可信。這就是身份認證問題。

假定老李老張以前見過面,他們事先就約定了通訊暗號,比如1234567890對應abcdefghij, 那么寫個255,對應就是一個bee。

常見的VPN身份認證可以包括預共享密鑰,通訊雙方實現約定加密解密的密碼,直接通訊就可以了。能夠通訊就是朋友,不能通訊就是壞人,區分很簡單。

其他複雜的身份認證機制包括證書(電子證書比如x509之類的)。

如果有身份認證機制,密鑰的經常更換就成為了可能。

功能列表


 
功 能 支持 描述
網路部分 網路接口 Y 支持PPPOE、靜態IP接入方式
動態域名綁定 Y 支持DynDNS網路和希網網路的動態域名綁定
策略路由 Y 支持解決雙線路路由選擇進行轉發
DHCP IP分配 Y 支持動態分配IP位址
防火牆 禁PING Y 支持禁止PING外網網口
連線埠映射 Y 支持區域網路伺服器直接映射到公網
Iptables自定義規則 Y 支持用戶手工配置iptables規則,實現更精確的上網行為管理控制
訪問策略控制 Y 支持自定義時段的流量控制
連線埠重定向 Y 支持不符合規則的連線埠通信過濾
防攻擊配置 Y 支持防SYN,DDOS,和TCP COOKIE攻擊
連線信息 Y 支持查看通過防火牆的連線信息(IP、連線埠、包)
VPN 套用 靈活的授權策略 Y 支持通過序列號進行功能和許可管理,給予用戶角色時間進行任意組合的訪問策略
接入方式 Y 支持單/雙臂接入模式
IPSEC功能 Y 支持LAN-TO-LAN雙向VPN隧道模式
PPTP功能 Y 支持POINT-TO-LAN的單向VPN隧道模式
易管理 備份功能 Y 支持本地和遠程備份及恢復
線上升級 Y 支持遠程進行設備版本升級
系統日誌 Y 支持記錄詳細的系統信息,調試及錯誤日誌

其他

解決了上述的幾個問題,基本可以保證VPN通訊模型能夠建立起來了。

但是並不完美,這是最簡單的VPN。即通過對端兩個靜態的IP位址,實現異地網路的互聯。美國的很多VPN設備就作到這一級,因為美國IP位址充裕,分配靜態IP位址沒有問題。苦的是我等中國客戶,2端都需要靜態IP位址,相當於2根Internet專線接入。

VPN要在中國用起來,還要解決一堆的相關問題。。

包封裝包方法

通過Internet建立了一個通訊的隧道,通過這個通訊的隧道,就可以建立起網路的連線。但是這個模型並非完美,仍然有很多問題需要解決。

在講述其他問題以前,我們對VPN定義幾個概念。

VPN節點

一個VPN節點,可能是一台VPN網關,也可能是一個客戶端軟體。在VPN組網中間,屬於組網的一個通訊節點。它應該能夠連線 Internet,有可能是直接連線,比如adsl、電話撥號等等,也可能是通過nat方式,例如:小區寬頻、cdma上網、鐵通線路等等。

VPN隧道:在兩個vpn節點之間建立的一個虛擬鏈路通道。兩個設備內部的網路,能夠通過這個虛擬的數據鏈路到達對方。與此相關的信息是當時兩個VPN節點的IP位址,隧道名稱、雙方的密鑰。

隧道路由

一個設備可能和很多設備建立隧道,那么就存在一個隧道選擇的問題,即到什麼目的地,走哪一個隧道?

用前面的通訊模型來說,老李老張就是隧道節點,他們通過郵政系統建立的密碼通訊關係,就是一個數據隧道,小張和小李把信發給他們老爸的時候,他們老爸要作出抉擇,這封信怎么封裝,封裝以後送給誰。假如還有一個老王和他們的兒子,也要通訊,這時候隧道路由就比較好理解了。送給小王的數據,就封裝給老王,送給小李的數據,就封裝發給老李。如果節點非常多,那么這個隧道路由就會比較複雜。

理解了以上的問題,我們就知道,ipsec要解決的問題其實,可以分為以下幾個步驟:

找到對方vpn節點設備,如果對方是動態IP位址,那么必須能夠通過一種有效途徑能夠及時發現對方IP位址的變化。按照通訊模型,就是老李老張如果經常搬家的話,必須有一個有效的機制,能夠及時發現老李老張地址的變化。

建立隧道

建立隧道說起來簡單,作起來不容易。如果兩個設備都有合法的公網IP,那么建立一個隧道是比較容易的。如果一方在nat之後,那就比較麻煩了。一般通過內部的vpn節點發起一個udp連線,再封裝一次ipsec,送到對方,因為udp可以通過防火牆進行記憶,因此通過udp再封裝的ipsec 包,可以通過防火牆來回傳遞。

建立隧道以後,就確定隧道路由,即到哪裡去,走哪個隧道。很多VPN隧道配置的時候,就定義了保護網路,這樣,隧道路由就根據保護的網路關係來決定。但是這喪失了一定的靈活性。

所有的ipsec VPN展開來講,實現的無非就是以上幾個要點,具體各家公司,各有各的做法。但是可以肯定,目前在市場銷售的VPN,肯定都已經解決了以上的問題。

IPSEC VPN 的類型:

常見的IPSEC VPN 類型有 站到站(site to site 或者是LAN TO LAN)、easy VPN(遠程訪問VPN)、DMVPN(動態多點VPN)、GET VPN(Group Encrypted Transport(GET) VPN )等。

找尋節點設備

怎樣找到vpn節點設備

假如設備都是動態撥號方式的話,那么一定需要一個合適的靜態的第三方來進行解析。相當於兩個總是不停搬家的人,要合適找到對方,一定需要一個大家都認識的朋友,這個朋友不搬家,兩個人都能夠聯繫上他。

靜態的第三方,常見的有3種實現方式:

通過網頁

這是深信服公司發明的一種技術,通過Web頁解析ip地址。因此,動態的設備,可以通過這種方式,把自己當前的IP位址提交上去。其他設備可以通過網頁再查詢回來。這樣,設備之間就可以互相通過這個網頁找到。因為網頁是相對固定的,所以這種方式能夠很有效地解決這個問題。這種方式能夠有效地分散集中認證的風險,而且很容易實現備份,屬於比較巧妙的一種解決方案。當然,對於Web頁可能存在比較多的攻擊,因此,要注意安全防範。

通過一個集中的伺服器

實現統一解析,然後給用戶進行分組。每個vpn設備只能看到同組的其他設備,不能跨組訪問。也可以通過目錄伺服器實現。這種方式適合集中式的VPN,在企業總部部署伺服器,實現全局設備的統一認證和管理。它不太適合零散用戶的認證,因為存在一個信任問題,客戶會置疑管理伺服器如果出現了問題,有可能其他設備就能夠連線到自己的vpn域裡面。這種大型的集中vpn管理軟體,在很多國內外的vpn廠商都有專門的設備或軟體,它除了能夠進行動態IP位址解析,還能夠實現線上認證等等功能。如果管理中心比較職能的話,可以集中制訂通訊策略,下面的vpn設備配置參數比較少。

通過DDNS

即動態域名。動態域名是一種相對比較平衡的技術。Vpn設備撥號以後,把自己當前的IP位址註冊給一級域名伺服器,並且更新自己的二級域名IP位址,internet其他用戶,通過這個二級域名就可以查找到它。以上講述了三種動態IP位址的解析方法,國內一般廠家提供的無外乎這幾種方法。如果再有比較偏門的技術,也許就不是主流技術了。

解決了動態IP位址問題,按照之前的通訊模型,不考慮VPN設備很多的情況,就可以組網。因此,一旦這種技術被越來越多的廠家掌握,基於IPsec vpn設備和軟體是一定會價格下降的。It技術從朝陽變成夕陽就是轉眼之間的事情。

第二個問題 隧道如何建立

解決了Ip地址動態定址的問題,現在來說一下Nat穿越的問題。我們知道,Udp和TCP是可以穿越防火牆的。直接的IPsec封裝,不能穿越防火牆,因為防火牆需要更改連線埠信息,這樣回來的數據包,才能轉到正確的內部主機。用UDP顯然比較合適,因為使用tcp的話,不僅三次握手占據時間很長,而且還有來回的確認。而實際上,這些工作屬於ipsec內部封裝的報文要幹的事情,放在這裡完成是不合適的。因此,用udp來封裝ipsec報文,以穿越nat,幾乎是唯一可以選擇的方案。

用udp穿越nat防火牆,這隻解決了問題的一半,因為這要求至少有一方處於Internet公網上面。有可路由的IP位址。而有時會發生兩個vpn節點都在nat之後的情景,這只能通過第三方轉發來完成。即兩個設備都可以與第三方設備互通,第三方設備為雙方進行轉發。這個可以通過之前的模型解析,老張老李不能直接通訊,他們都可以與老王通訊,老王就可以在中間進行轉發。凡是小李小張的通訊,交給他們老爸以後,老王最後再進行轉交。這是隧道路由的概念就很清晰了,不能一個隧道直接到達,可以在幾個隧道之間轉發。

所以,IPsec vpn並不神秘。所有核心的工作無非就是圍繞以下幾個方面展開:

如何找到與本VPN節點相關的其他節點。

協商出一個可以通訊的隧道。如果是nat之後,應該怎么處理。

建立隧道路由表,確定不同的目標地址,走不同的隧道。

假定以上的問題都得到了解決,通過某種方式,動態IP位址的VPN節點可以相互找到對方,並且能夠建立隧道,因此也能夠實現隧道路由通訊。是不是一個完整的VPN就能夠實現了呢??

答案仍然是否,解決了以上問題,並不代表一個很好用的VPN產品,仍然有其他很多問題。之後的問題是圍繞著複雜性展開的,簡單的原理實現之後,剩下的工作就是要解決掉全部相關的邊緣問題。才能夠實現一個好用的東西。能夠用是一回事,好用是另外一回事。

IPSEC VPN配置:

IP SEC Tunnel 示意圖 IP SEC Tunnel 示意圖

mohe:

crypto isakmp policy 10

encr 3des

authentication pre-share

group 2

crypto isakmp key cisco address 46.46.23.3

!

!

crypto ipsec transform-set myset esp-3des esp-sha-hmac

!

crypto map mymap 10 ipsec-isakmp

set peer 46.46.23.3

set transform-set myset

match address 101

ip route 20.0.0.0 255.255.255.0 46.46.12.2

access-list 101 permit ip 10.0.0.0 0.0.0.255 20.0.0.0 0.0.0.255

longhai:

crypto isakmp policy 10

encr 3des

authentication pre-share

group 2

crypto isakmp key cisco address 46.46.12.1

!

!

crypto ipsec transform-set myset esp-3des esp-sha-hmac

!

crypto map mymap 10 ipsec-isakmp

set peer 46.46.12.1

set transform-set myset

match address 101

ip route 10.0.0.0 255.255.255.0 46.46.23.2

access-list 101 permit ip 20.0.0.0 0.0.0.255 10.0.0.0 0.0.0.255

ipsec vpn 技術的特性:

在使用公網傳送內部專網的內容時,ipsec vpn 在ip傳輸上通過加密隧道,保證在ip公網上傳輸的數據的安全性,從而實現總部到分支機構之間的語音,視頻等數據的互通。如今,很多國際的企業已經把vpn作為總部到分支機構的主要連線手段,比如的國際大型的組織,商業機構,連鎖門店已經採用vpn這種安全的技術。
1經濟,企業不再承擔實施昂貴的固定線路的租費,而且頻寬的費用很高,相反採用吧internet作為骨幹傳輸是非常便宜的,而其基本不用花費資金來做後期的維護,並且vpn設備的造價相比之下相對低廉。
2 靈活性很強,連線internet的方式可以多種,一個ipsec vpn 網路可以連線任意地點的分支機構
3.多業務:可以同時支持語音和視頻傳遞到遠端的分支機構和移動用戶,大大提高了現代化辦公的以及其他的數據需求。
4 安全性;安全是ipsec vpn 的顯著特點,保證數據的 安全是該技術的根本所在。在vpn設備上,支持通道協定,數據加密,過濾
通過實現授權的多種方式保證安全,同時提供內置防火牆的功能,可以在vpn 通道之外,對公網到私網之間的數據進行監測過濾。

5:冗餘設計:vpn 設備提供冗餘機制,保證鏈路和設備的可靠性。
6 通道分離:vpn設備的通道分離特性為 ipsec 提供 客戶端同時訪問公網私網的支持。訪問本地網路可以設定用戶的訪問許可權

該特性在安全的條件下實現看合理方便的使用網路資源。

7:支持動態 靜態的路由協定,rip 和ospf 路由協使得vpn設備沖路由器的功能。在擴大網路的規模的同時並實現看安全功能,
並且路由協定可以加密在隧道中進行安全傳輸。

網路拓撲

開放和封閉的模型同時適用於客戶端到站點拓撲和站點到站點拓撲。由IPsec網關分隔的(或其相鄰的)節點之間的連線可能會或不會受到限制。在一個開放的客戶端到站點拓撲中,終端和IPsec網關之間的網路路徑是安全的。而在一個封閉的客戶端到站點拓撲中,終端和網關之間的路徑也是安全的。但是客戶端節點與和IPsec網關相鄰的節點之間的數據交換隻有在建立與IPsec網關連線時才能夠進行。

在兩種拓撲中,客戶端節點和IPsec網關的關係在結構上與傳統的PSTN(public switched telephone networks)遠程訪問撥號網路很相似。終端建立與網關的連線,然後它們作為IPsec節點進行通信。此外,網關負責向終端提供一個IP身份,這使客戶端節點能夠和其他與IPsec網關直接連線(通過VPN)並和相鄰的終端實現IP網路連線。客戶端終端與網關之間的通信是由IPsec保證安全的。然而,客戶端終端和其他與IPsec網關相鄰的終端之間的通信則是不安全的。

相關詞條

相關搜尋

熱門詞條

聯絡我們