麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 網絡通信 > 正文

IPSec穿越NAT技術要求

2019-11-03 09:01:31
字體:
來源:轉載
供稿:網友
袁琦 田輝


  摘要 分析了ipsec穿越NAT存在的兼容性問題、技術要求及對IPSec的影響,提出了IPsec穿越NAT的若干解決辦法。

  關鍵詞 IPSec AH ESP IKE

一、PSec穿越NAT存在的兼容性問題

  IPSec作為一種重要的安全技術得到越來越廣泛的應用,但客戶網絡邊緣大量使用的NAT地址翻譯操作可能影響到IPSec的正常操作。目前,NAT和IPSec之間存在的不兼容性問題可以分為以下三類:

  1.NA(P)T固有的問題

  這類不兼容問題是直接由NA(P)T與IPSec協議本身不兼容造成的,因此并不是所有的NA(P)T設備都存在。NA(P)T協議固有的不兼容性包括IPSec AH和NAT不兼容、NAT與校驗和不兼容、IPSec SPI選擇和NAT不兼容、IKE地址標識符和NAT不兼容、固定IKE目的端口和NAPT之間不兼容、重疊(Overlap)SPD條目和NAT間不兼容、嵌套IP地址和NAT不兼容以及NA(P)T隱含的方向性問題等。

  2.NA(P)T實現方面的問題

  這類不兼容問題雖然不是NA(P)T協議所固有的,但卻在大量的NA(P)T實現中存在。它們不是NA(P)T協議的固有問題,因此原則上在以后的NA(P)T設計實現中可以避免其產生。但由于這些問題已經廣泛存在,因此在NA(P)T穿越方案中必須予以考慮。NA(P)T實現方面帶來的不兼容性包括不能處理非UDP/TCP通信流、NAT映射超時、不能處理輸出和輸入分片等。

  3.輔助功能引入的問題

  這類不兼容問題出現在那些擬解決IPSecNA(P)T穿越問題的NA(P)T設備中。在這些NAT設備中,由于設計部分穿越輔助功能而產生了新的不兼容性,造成更難于解決的問題。雖然不是所有的NA(P)T設備都提供這種所謂的輔助功能,但鑒于該類問題的普遍性,在NA(P)T穿越方案中也需要考慮這類問題。在IPSec和NAT的輔助功能之間存在的不兼容問題包括ISAKMP頭部檢查、對端口500的特殊處理及ISAKMP載荷檢查等。

二、IPSec穿越NAT的兼容性要求

  1.可部署性

  IPSec-NAT兼容性解決方案必須比IPv6易于部署,還應滿足只需修改主機,無需改變路由器的要求。為了在短時間內實現穿越方案的部署,必須要求兼容性解決方案能與現存的路由器和NA(P)T產品協同工作。

  2.協議兼容性

  IPSec-NAT穿越方案不解決某些協議與NAT的兼容性問題。這些協議是指用IPSec協議不能進行安全保護且無法穿越NA(P)T的協議。因此,即使有了IPSec-NAT穿越方案,ALG仍需要支持其它協議的穿越方案。

  3.方向性

  NA(P)T的方向性也是一種安全功能,所以IPSec穿越方案不應允許NA(P)T后面的主機接收來自任意IP地址隨意發送的IPSec或IKE通信流。一旦雙向IKE和IPSec通信已經建立,則地址轉換的映射即告連接。

  4.遠程訪問

  IPSec的一個重要應用是遠程訪問公司的內部網絡。NA(P)T穿越方案必須支持通過IPSec隧道模式或者L2TPoverIPSec的NAT穿越,故要求穿越方案必須考慮遠程客戶端與VPN網關之間存在多個NA(P)T的情況。

  5.防火墻兼容性

  目前,防火墻已經廣為應用,IPSec-NAT兼容性方案必須能使防火墻管理員創建簡單的靜態訪問規則,以決定是否允許IKE及IPSec-NAT的穿越。原則上,應該避免IKE或者IPSec目的端口的動態分配。

  6.可擴展性

  IPSec-NAT兼容性方案應具有良好的擴展性,可部署在大規模遠程訪問的環境中。在大量遠程接入的環境下,不可能在同一時間段內只有一個主機使用同一個給定的地址進行通信。因此,在兼容性方案中,必須解決SPD條目重疊和接收包解復用的問題。

  7.模式支持

  IPSec-NAT方案必須支持IPSecESP模式的穿越。例如IPSec安全網關必須支持ESP隧道模式的NA(P)T穿越,IPSec主機必須支持IPSec傳輸模式的NA(P)T穿越。

  AH的目的是保護IP頭部中不變的區域(包括地址域),而NA(P)T必須轉換地址,從而使AH完整性檢驗失效。因此,NA(P)T和AH從根本上就是不兼容的。在IPSec-NAT兼容性方案中,沒有必要支持AH傳輸或隧道模式。

  8.后向兼容和互操作性

  IPSec-NAT兼容性方案中必須能與已有的IKE/IPSec實現互操作,與不經過NA(P)T的IKE/IPSec進行通信,即IPSec-NAT穿越方案必須能后向兼容RFC2401定義的IPSec和RFC2409定義的IKE。穿越方案應該能自動檢測是否存在NAT,使通信雙方只在必要時才使用NA(P)T穿越支持。兼容方案應能判斷通信對方的IKE實現是否支持NA(P)T穿越,以協商雙方可否只進行標準的IKE會話。也就是說,雖然IKE在發起協商時,目的端口只能使用500端口,但并沒有對源端口提出特殊要求,因此UDP源端口可以使用500或非500的端口。

  9.安全性

  IPSec-NAT兼容性解決方案的引入不得對IKE或IPSec的安全帶來影響。例如,一個可行的方案必須能證明,它沒有引入新的拒絕服務攻擊和欺騙攻擊。IKE必須允許雙向方式的密鑰能夠重生成。

三、IPSec穿越NAT的解決方法

  在IPSec中,SA的管理既可手工進行,也可通過IKE自動協商來完成。如果采用IKE方式,需要IKE協商和UDP封裝兩種方法配合起來使用,以完成IPSec穿越NAT。

  1.IKE協商

  在階段l協商中,需要針對NAT執行兩種探測。一是探測是否支持NAT穿越,二是探測在通信路徑中是否存在NAT。NAT可能會改變IKEUDP的源端口,因而接收方必須能處理源端口不是500的IKE報文。

  (1)通過Vendor ID載荷交換來確定遠程主機是否支持NAT穿越。如果協商雙方支持NAT穿越,則協商雙方在階段1的前兩條消息中應加入一個Vendor ID載荷,載荷的內容是對特定字串進行md5運算得出的散列值。該字串需標明它所支持的NAT穿越方法應遵循的要求。

  (2)NAT-D(NAT Discovery)載荷不僅用于探測兩個IKE實體之間是否存在NAT,也用于探測NAT所處的位置。Keepalive消息能從位于NAT后面的實體發出。為了探測出兩臺主機之間的NAT,需要檢查IP地址和端口是否沿著傳輸路徑發生改變。協商雙方只需各自向對端發送源方和目的方的IP地址與端口的散列值,就可以檢測地址和端口在傳輸過程中是否發生改變。如果協商雙方計算出的散列值與其收到的散列值相同,則表示它們之間沒有NAT。反之,則是在傳輸中對地址或端口進行了轉換,說明所通過的IPSec報文進行了NAT穿越的處理。如果發送者不能確定自己的IP地址(比如擁有多個網絡接口,并且不能確定包路由選擇到哪一個接口),它可以在報文中包含多個本地IP地址的散列值。在這種情況下,僅當所有的散列值均不匹配時,才表明NAT的存在。

  對IPSec進行特殊處理的NAT設備可能會導致問題的發生。NAT后有多個客戶端,即使某些NAT不改變500的源端口號,也能將IKE Cookie值映射到分解的通信流,而不必使用源端口。對IKE來說,很難發現NAT是否具有上述能力。對NAT的透明性而言,這些方法均存在弊端。最好的辦法是使IKE通信流簡單地離開500端口,以避免對任何IPSec-awareNAT進行特殊處理。

  在階段l完成后,協商雙方都已明確,在它們之間是否存在NAT。至于是否使用NAT穿越,則由快速模式協商決定。NAT穿越的使用在快速模式的SA載荷中協商,協商雙方可向對端傳送IPSec報文的原始地址(傳輸模式情況下),從而使對端有可能在NAT轉換之后,對TCP/IP進行校驗和修正。為了執行增量TCP校驗和修正,協商雙方可能需要知道對端在構造報文時所使用的原始IP地址。對于發起方,其原始發起方地址定義為發起方的IP地址,而原始響應方地址定義為當前所知道的對端的IP地址。對于響應方,原始發起方地址定義為當前所知道的對端IP地址,原始響應方地址定義為響應方的IP地址。

  2.UDP封裝

  (1)在進行UDP封裝時,要進行一些輔助處理。當使用隧道模式傳送報文時,內部IP頭中會包含不適合當前網絡的地址。以下說明將其轉換成適合當前網絡地址的處理方法。根據本地策略,必須完成下列任務之一:

  ·如果在策略中,已為對端的封裝報文定義了一個有效的源IP地址空間,則應根據策略檢查在內部報文中的IP源地址是否屬于有效范圍。

  ·如果已經為遠程對端分配了一個地址,則應檢查內部報文中的IP源地址是否與該地址一致。對報文執行NAT轉換,使其適合在本地網絡中傳輸。

  (2)當使用傳輸模式傳送報文時,如果在傳輸中IP頭部發生變化,TCP或UDP頭部將包含錯誤的校驗和。根據本地策略必須完成以下任務之一:

  ·如果在ESP頭部之后的協議頭部是一個TCP/UDP頭,并且已經獲得對端的真實源/目的IP地址,則應增量計算TCP/UDP校驗和,包括:

  ——從校驗和中減去接收包的IP源地址;

  ——在校驗和中增加通過IKE獲得的真實的IP源地址(從NAT-OA中獲得);

  ——從校驗和中減去接收包的IP目的地址;

  ——在校驗和中增加通過IKE獲得的真實的IP目的地址(從NAT-OA中獲得)。

  如果接收到的地址和真實地址是相同的,則取消相關操作。

  ·如果在ESP頭后面的協議頭IPv4是TCP/UDP頭,則應重新計算TCP/UDP頭中的校驗和字段。

  ·如果ESP頭后面的協議頭是UDP頭,應將UDP頭中的校驗和字段置O。如果在ESP頭后面的協議頭是TCP頭,并且存在一個選項,該選項用于指示協議棧,而不用檢查TCP效驗和,則可以使用該選項。僅在傳輸模式中,對報文進行了完整性保護時,才能使用這種方法。對隧道模式的TCP校驗和必須進行驗證。因為校驗和由發送方產生并由接收方驗證,該校驗和是對整個IPSec處理的報文的完整性檢驗。

  (3)在實現中,可以對被NAT破壞的包含協議進行修正。傳輸模式下,ESP封裝的報文格式如圖1,圖2所示。傳輸模式下ESP封裝的步驟為:



圖1 應用ESP/UDP之前的報文格式

圖2 應用ESP/UDP之后的報文格式


  ·普通的ESP封裝處理。插入一個適當格式的UDP頭部;編輯IP頭中的總長域、協議域以及校驗和字段,使之與所得報文相匹配。

  ·傳輸模式下ESP解封裝的步驟為:從報文中刪除UDP頭;編輯IP頭中的總長域、協議域以及校驗和域,使之與所得的報文相匹配;應用普通的ESP解封裝處理過程;應用傳輸模式解封裝NAT處理過程。

  ·隧道模式下ESP封裝的報文格式如圖3,圖4所示。隧道模式下ESP封裝的步驟為:普通的ESP封裝處理;插入一個適當格式的UDP頭部。



圖3 應用ESP/UDP之前的報文格式

圖4 應用ESP/UDP之后的報文格式


  3.編輯IP頭中的總長字段、協議字段以及校驗和字段,使之與所得的報文相匹配

  隧道模式下ESP解封裝的步驟為:從報文中刪除UDP頭;編輯IP頭中的總長字段、協議字段以及校驗和字段,使之與所得的報文相匹配;應用普通的ESP解封裝處理過程;應用隧道模式解封裝NAT處理過程。

四、穿越NAT對IPSec的影響

  1.IPSec-NAT兼容性的安全考慮

  (1)IPSecAH不能穿越NAT,故只能使用空加密的ESP來替代AH。但空加密的ESP不能提供和AH完全一樣的安全屬性。例如,在AH中可以排除對IP源路由的安全風險,而在使用空加密的ESP中卻無法杜絕。

  (2)因使用任何加密變換的ESP都不提供防止源地址欺騙的保護,因此必須執行一些源IP地址的檢驗。在IPSec_{esp,ah}input中應完成對源IP地址的一般性防欺騙檢查,以保證報文是從最初的IKE主模式和快速模式SA中所提供的相同地址發送的。當接收方主機在NAT后面時,源地址的檢測對單播會話意義不大,但在隧道模式的單播會話中,這種檢測可以防止欺騙攻擊。

  (3)舉例。假定兩個主機A和C在NAT設備后面,并都用IPSec隧道模式與B協商安全聯盟。主機A和C可能有不同的權限。假設主機A是以職員身份訪問公司內網,而C只是以承包方身份訪問某個特定的Web站點。如果主機C作為源方發送一個偽造A的IP地址的隧道模式包,而作為發起方C并不具有與A相同的權限。如果接收方只執行身份驗證與完整性檢驗,而不進行防欺騙檢驗(確定發起方IP地址與SPI相對應),則C可能被允許訪問那些它本沒有權限訪問的網絡資源。因此,IPSec-NAT兼容性解決方案必須提供一定程度的防欺騙保護。

  2.IKE協商的安全考慮

  (1)IKE探測對外暴露了協商雙方是否支持NAT穿越,會否引起安全問題。

  (2)一旦存在NAT,則失去基于IP地址的驗證機制。對位于NAT后面的所有主機而言,如果沒有組共享密鑰,它們就不能在主模式中使用預共享密鑰驗證方式。使用組共享密鑰是具有巨大安全風險的,不推薦使用組共享密鑰。

  (3)因為內部地址空間只有32位,所以有可能使攻擊者通過所有可能的IP地址和嘗試找出匹配的散列值而發現在NAT后面的內部地址。端口號通常固定為500,并且Cookie值可以從報文中分解得出,從而使散列運算的空間降至232。如果對所有地址空間進行改進,需要找出內部IP地址的散列運算空間降至224+2×(216)。

  (4)在主模式和野蠻模式中NAT-D載荷和Verdor ID載荷都沒有經過驗證。攻擊者能夠刪除、修改和增加這些載荷。通過刪除或增加NAT-D載荷,攻擊者能夠發起DoS攻擊。通過修改NAT-D載荷,攻擊者能造成協商雙方都使用UDP封裝模式而不使用隧道或傳輸模式,從而造成帶寬的浪費。

  (5)在快速模式中發送原始源地址,從而向對端暴露NAT之后的內部IP地址。由于需要對對端進行身份驗證,且只在傳輸模式中傳送原始源地址,因此不存在安全問題。

  (6)當攻擊者可監聽網絡中的所有通信流,修改報文順序,在已發現的報文之前注入新的報文時,對每個有效驗證的報文更新IKESA報文和ESPUDP封裝報文的IP地址和端口,則會造成DoS攻擊。攻擊者可從位于NAT后面的主機截取已驗證的報文,修改報文的UDP源方和目的方的IP地址與端口,并在真正的報文到達之前發送給對端。如果不是在NAT后面的主機接收到偽造報文后,將根據偽造報文更新它的IP地址和端口映射,并將隨后的通信流發送至錯誤的主機或端口。這種情況在攻擊者停止攻擊并接收到第一個正確報文后才能修正。實現中應該每次審計映射的改變,一般情況下它不應經常發生。

  3.UDP封裝的安全考慮

  在一些系統中,ESPUDP可能引發DoS攻擊,特別是使用普通操作系統的UDP功能。因此,建議勿打開普通的UDP端口。實現者需注意影響隧道模式使用的問題,即遠程對端會協商網關中重疊的條目。在傳輸模式中,當同一個NAT后面有兩個客戶端與同一服務器建立安全會話時,也會發生類似的問題。

  4.IANA考慮

  IPSec穿越NAT使要使用包含兩個新的IANA注冊值,并將注冊端口修改為4500。同時,還定義了兩個新的IKE載荷類型,分別為15和16。


摘自 泰爾網
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: xnxx 日本免费 | 欧美黄色三级视频 | 娇喘视频在线观看 | 亚洲精品无码不卡在线播放he | 九九热久久免费视频 | 亚洲乱妇19p | 成人激情久久 | 中文字幕在线观看日韩 | 成人一级片毛片 | 午夜精品福利视频 | 国产艳妇av视国产精选av一区 | 蜜桃成品人免费视频 | 国产好片无限资源 | 国色天香综合网 | 精品国产96亚洲一区二区三区 | 日韩剧情片| 成人h精品动漫一区二区三区 | 一区二区三区在线观看免费 | xxxx8| 91懂色| 久久久久久久久久久久久久国产 | 久久精品.com | 中国漂亮护士一级a毛片 | 中国大陆一级毛片 | 欧美在线观看视频一区 | 国产精品www | 一级电影在线免费观看 | 毛片毛片 | 日本在线高清 | 国产成人77亚洲精品www | 日日鲁一鲁视频 | 色猫av | 亚洲成人免费影视 | 日日做夜夜操 | 免费黄色欧美视频 | 亚洲精品在线观看免费 | 欧美一级aa免费毛片 | 久久亚洲第一 | 欧美一页| 在线影院av| 色综合久久久久久久久久 |