劉瑤瑤 邢偉
摘要:隨著IPSec/VPN策略的廣泛應用,如何正確地制定和配置在執行安全需求的時候是非常關鍵的。現在很多情況下,IPSec/VPN策略是由系統管理員來定義,很多時候的策略是不正確的。然后,網絡的動力會影響策略的設置甚至導致意外沖突。為了處理這些問題,需要定義IPSec的安全需求,策略和相關的一些參數。基于這些定義,提供一種區域間的架構來生成正確和有效的安全策略。當網絡堵塞時也能配置安全策略,同時,當有新的安全策略加進來時也能處理。最終,可通過模擬數據來評估解決方案。
關鍵詞:IPSec/VPN;安全需求;安全策略管理;安全策略保證
1 概述
互聯網在很多方面變得越來越動態化,隨著無線網絡技術的多樣化,用戶和子網都可以是移動的,移動性意味著策略上或分發策略的內部關系上的潛在變化。自適應的安全是策略改變的另一個原因。不久的將來,通過修改安全策略來使安全管理系統應對新的入侵檢測是很普遍的。通常一條IPSec策略規則包含兩部分:條件和操作,如果條件部分符合了,那么操作部分就會執行。在IP包頭中的值就會被作為一個交通選擇標記到條件部分,那么操作部分就會指定怎么樣處理網絡擁堵來應對這個選擇。一條IPSec/VPN策略,它能夠執行如下3種可能的動作:拒絕,允許,IPSec執行動作。
然而,在實際情況下,IPSec/VPN策略主要配置在個人的安全網管或管理域中。這些區域效率不高且容易出錯。這個過程中,小的或微妙的錯誤都會在全局的網絡安全上造成大的問題。此外,策略之間的相互作用也能引起非預期的安全違規行為,就算是非常小心或很有經驗的管理員也很難檢查出這些違規行為。
IPSec策略沖突:隱私保護和內容檢查。
例如,A和B之間建立了一條加密的通道來保護他們之間敏感的通信,但在安全網管上的其他策略是拒絕ESP加密包的,所以所有的包在傳輸過程中將會被丟棄。
IPSec策略沖突:網絡通信選擇障礙。
例如,策略1指定包必須通過一條AH通道從A認證后去向B,根據策略2和策略3的要求,網關將實行訪問控制策略只運行A到B的網絡通信,但是A和網管之間的認證通道將會改變包頭把目的地址指向另一個網管。因此,根據策略3的要求,從A到B的所有包將會被丟棄,但這也就違背了管理員的初衷了。
上面的兩個例子說明了一系列策略之間的相互作用可能會導致一些沖突而違背初衷。這說明了在IPSec策略管理中兩個根本的問題:(1)怎樣系統地定義正確的策略集并且能安全的通過網絡進行分發?(2)怎樣保證分發的安全策略的正確性?
IPsec策略必須滿足下列要求:要求在較高層次上定義策略以及高級策略必須能被清晰定義;相信策略確實做了他所聲稱的,并且實現也是正確的;必須能夠支持復雜的策略管理方案,同時能控制和改變許多遠程設備的策略;在大型網絡系統中,必須能授權不同實體使其能確定自己的策略;所采用的機制必須不能對IPsec中任何協議做任何改動且不能依賴SA協商協議。
2 原理
IPSec VPN的應用場景分為3種:(1)Site-to-Site(站點到站點或者網關到網關):如彎曲評論的3個機構分布在互聯網的3個不同的地方,各使用一個商務領航網關相互建立VPN隧道,企業內網(若干PC)之間的數據通過這些網關建立的IPSec隧道實現安全互聯。(2)End-to-End(端到端或者PC到PC):兩個PC之間的通信由兩個Pc之間的IPSec會話保護,而不是網關。(3)End-to-Site(端到站點或者PC到網關):兩個PC之間的通信由網關和異地PC之間的IPSee進行保護。
VPN只是IPSec的一種應用方式,IPSec其實是IPSeeurity的簡稱,它的目的是為IP提供高安全性特性,VPN則是在實現這種安全特性的方式下產生的解決方案。IPSec是一個框架性架構,具體由兩類協議組成:(1)AH協議(Authentication Header,使用較少):可以同時提供數據完整性確認、數據來源確認、防重放等安全特性;AH常用摘要算法(單向Hash函數)MD5和SHAI實現該特性。(2)ESP協議(Encapsulated Security Payload,使用較廣):可以同時提供數據完整性確認、數據加密、防重放等安全特性;ESP通常使用DES、3DES、AES等加密算法實現數據加密,使用MD5或SHA1來實現數據完整性。
3 安全需求和策略
在以前的工作中,證明了為了保證安全策略的正確性,清晰和嚴格的區分高級策略和低級策略是很有必要的。IPSec策略管理的一個重要任務就是快速明白地表示出高級的安全需求。
3.1 安全需求分類
為了詳細的分析安全需求,首先要把安全需求分層不同的四種類型。例如定義了一條內容訪問需求,要求從的通信將被路由器1和2拒絕,但其實是需要對這兩者之間的網絡流量進行檢查。此外,隨著需求定義的建立,一條策略會為了滿足一個需求而建立。基本上,一條策略包含一個網絡目的地和與之相關的特定的動作。
3.2 安全需求和策略定義
定義1:IPSec/VPN策略在兩個不同的級別之間被指定:需求級的安全策略和實施級的安全策略。它們在定義的時候是遵循基本的格式的,但是在屬性和語義上是不同的,需要被嚴格的定義。
定義2:一條安全策略P是遵循如下規則的:如果滿足c那么執行A,P=C-A。
定義3:一條安全策略的條件部分是安全策略的集合,每一條都是指定目的地的有限的值。條件滿足了或者包被一條策略選擇了,并且僅有這個包的每天選擇都包含在這個集合中才能表示出這個策略集。
4 在內部網絡環境中自動策略生成
面對一系列的安全需求,最根本的問題是找出策略方法來正確的滿足安全需求。以前的工作解決了內部網絡環境中的問題,將集中在內網環境中提供更廣泛的策略解決方案。本文將使用帶寬架構來發現路由途徑中的安全需求并使用有序分流及最小的通道來自動生成解決方案。
IPsec本身沒有為策略定義標準,目前只規定了兩個策略組件:SAD(安全關聯數據庫)和SPD(安全策略數據庫)。在IPsec系統中,安全策略通過SPD得到表現。
對于外出包,必須先檢索SPD,決定提供給它的安全服務。對于進入包,也要查閱SPD,判斷為其提供的安全保護是否和策略規定的安全保護相符。SPD是有序的,每次查找的順序應相同。SPD還控制密鑰管理(如ISAKMP)的數據包,即對ISAKMP數據包的處理要明確說明,否則該包將被丟棄。
4.1 帶架構
在一個內網中,依靠純集中的管理系統去收集不同網絡區域的安全需求從而計算出正確的策略是不可擴展的。因此,建議使用集中和分散系統混合的架構。在帶架構中,需要每個網絡區域中有需求服務器。需求服務器用來和其他網絡區域中的需求服務器集中和協同策略。需求服務器執行兩個階段的策略協同過程。
(1)路由路徑發現。為了發現路由路徑上的需求服務器并解決它們之間的策略協同,首先要做的是發現路由路徑的起點和終點。根據發現的起點路徑,在這條路徑上的其他服務器應該能夠通過DNS來標識出終點的IP地址。這個過程是為第二個過程做準備的,為了相關的需求服務器交換信息來生成策略。
(2)需求發現和策略協同。在第一階段探討了起點路由路徑,在這條路徑上的每個終端路徑需要和相鄰的終點路徑確認來發現網絡流量中的相關的需求。需求服務器在MIBS中存儲了本地需求信息和路由數據以及已有的通道信息。為了保證最新的數據,它需要定期從本地的路由器中更新這些數據。
一旦服務器收到了它所需的數據,它會基于相關的需求調用策略協同模型來計算策略。使用直接方法來自動生成安全策略。然而,這種方法可能會生成多余的通道,將使用有序分流算法來生成最少的策略集。
4.2 有序分流算法
當網絡變得更復雜時,加密和解密的耗時會嚴重影響通信質量。因此,自動的IPSec/VPN策略生成將需要開發更有效率的方案。在一系列安全需求下,有一種方法可以通過很少的幾個IPSec通道提供了一種更有效率的方法來執行加密操作。因此,筆者提出了一種算法自動生成策略來滿足需求,同時提供用最小的策略數提供最優的解決方案。下面介紹動態有序分流算法的細節。
動態有序分離算法要求事先知道所有的安全需求,所有這個算法首先是通過表格值來對需求進行分類。在一個更實際的場景中,新的需求可能已到達,需要更新策略。每當新的需求到達,只需要簡單的重新運行有序分流算法,但是這將會很慢。另一方面,當需要處理新的需求時有序分流算法能夠被修改并且只需要修改必要的變更。
5 模擬結果和分析
筆者比較了有序分流方法和束的直接方法得出,有序分流的方法能通過最小的通道數生成解決方案。進一步又在linux平臺下實施了動態的有序分流方法在多種場景下進行了模擬首先,使用兩種方法隨機生成1到500條的安全需求,實驗表明,兩種方法各自在使用最少的通道提出最佳解決方案時最終生成了相同數量的通道(盡管通道可能不一樣)。其次,衡量了兩種方法的效率。原始的有序分流法要求所有的需求要進行排序并且需要按照順序來,處理無序的需求要求這種方法首先拆除所有現存的通道,然后再對需求進行排序后計算出最終的通道數量。這種方法需要的時間至少是計算需求集合時間的兩倍。另一方面,改進的有序分流方法能夠很容易的處理無需的需求,只需要拆散和釋放可能被這些需求影響的通道。因此,在帶架構下使用改進的有序分流方法是非常有效率的并且能夠使用最少的通道數提供正確和無沖突的通道解決方案。
6 結語
IPSEC安全策略被廣泛用于防火墻和安全網關上用來保護信息的正確性,如何正確的定義和配置安全策略在執行一個組織的安全需求時是很關鍵的。因此,本文提供了一種正式的方案通過策略管理解決了內部網絡中安全策略的正確性和有效性。內部網絡的IPSec/VPN策略管理架構是用來使用路由協議來首先發現路由路徑,然后沿著路由路徑收集安全需求來自動生成策略的。一組通過安全需求自動生成策略的算法能夠被用在帶寬控制下,包括束/直接方法,有序分流算法和改進的有序分流算法。使用改進的有序分流算法實驗表明它應用于帶下是非常困難的,因為它在無需的需求是幾乎不耗費回路時間。
基于當前的結果,這個研究能夠在好幾個領域中進行。首先,將這個研究應用于動態的策略解決方案還需要進一步的研究。其次,更多級別的策略可能會被定義直到完整的級別被建立起來。更多的解決方案還有待進一步研究。