
關鍵詞:應用防火墻;SDN 技術;分布式結構;DPI 技術;虛擬機部署
在“互聯網+”技術應用推廣的背景下,以HTTP、TCP/IP 為代表的各類應用協議被廣泛應用于計算機網絡應用層中,這不僅增加了應用層遭受惡意代碼、病毒等攻擊的概率,同時也對系統防火墻的安全防護性能提出了更高要求。然而傳統防火墻多采用集成結構設計,流量數據包解析的范圍受限,流量檢測、過濾等處理負載明顯增大,增加防火墻故障發生概率,會誘發網絡通信中斷、信息丟失及提高泄密風險。基于此,為滿足面向企業級網絡結構的防火墻部署需求,建立一種適應虛擬化環境的分布式應用防火墻部署方案是亟待解決的問題。
一、研究基礎
(一)應用防火墻與DPI 技術
應用防火墻是一種部署在計算機網絡Web 應用層的防火墻,其作用是解決傳統部署在網絡出口的防火墻基于IP 數據包的源/ 目的地址、源/ 目的端口建立過濾機制,無法對應用層進行安全防護的技術難題[1]。為了解決這一問題,應用防火墻采用深度包檢測技術(DPI)對網絡流量進行檢測分析,并通過捕捉網絡數據包的包頭、載荷,判斷網絡數據流量是否存在惡意垃圾郵件、病毒攻擊、惡意代碼等攻擊行為。同時,利用DPI 技術建立對報文的深度分析,按由下至上的順序將數據分析范圍由數據鏈路幀頭、網絡層包頭、傳輸層包頭擴展至應用層,判定數據流量的類型及其承載的內容等[2]。
(二)SDN 技術與OpenFlow協議
SDN 技術是一種基于軟件系統的可編程網絡架構,該技術將原交換機、路由器的處理邏輯分離設計,利用統一軟件系統實現對數據轉發、路由控制功能的集中控制,從而滿足網絡規模擴展與業務結構調整需求[3]。基于SDN 的網絡架構由數據層、控制層、業務層三個層級組成。在數據層設有多個網絡設備,利用OpenFlow關于SDN 技術的分布式應用防火墻研究實現網絡數據傳輸功能。在控制層部署SDN 控制器與NOS 操作系統,經API 接口與業務層建立連接,實現業務應用功能[4]。基于SDN 技術建立的網絡架構主要借助OpenFlow 協議實現網絡通信功能,通過控制器提供的API 接口實現對底層網絡設備的集中配置與科學管理,使得網絡架構可以適應不同的業務需求,實現靈活的調整與配置。因此,將SDN 技術應用于應用層防火墻部署中,能夠為虛擬化、云計算平臺下的網絡安全防護提供強有力的技術支持[5]。
二、基于SDN 與DPI 技術的分布式應用防火墻系統設計方案
(一)系統架構
1. 物理拓撲架構
其一,采用擴展的負載均衡技術(LB)實行應用防火墻的分布式部署,采用OpenFlow 控制器對數據層的多個網絡設備實行集中管控,在OpenFlow 控制器內集成LB 模塊與Web 流量重定向模塊,可根據系統需求將數據包分配至應用層不同IP 的防火墻處,實現對數據流量、內部流量的檢測、分析及過濾等處理。其二,引入Linux 網絡級防火墻技術與應用防火墻有機結合,利用Netfilter、Iptables 等工具對通過防火墻的TCP、UDP等連接方式執行動態追蹤,將上傳至系統中的IP 報文經由網絡層過濾部分流量,再送至應用層實現對數據流量的快速檢測與深度過濾,降低組件運行負載。其三,采用DPI 技術將應用層分散分布的各數據包基于數據關聯性實現整合設計,保證不同數據包之間建立一定聯系,在此基礎上完成數據流量檢測,有效識別各數據包中攜帶的攻擊特征,增強防火墻系統對網絡攻擊行為的防御能力。基于以上技術思路設計防火墻系統,采用分布式結構部署服務器、工作站、網絡設備、主機與便攜式電腦,根據接收到的數據執行業務處理。
2. 軟件系統結構
基于SDN 技術、DPI 技術部署分布式防火墻系統,系統整體由Web 界面、控制器、流量重定向、后臺用戶態程序、后臺內核態程序等模塊組成,在Web 界面設有API 接口與數據庫讀寫接口,向控制器下發數據配置任務,在后臺用戶態程序中由主程序模塊將流量數據分別傳遞至流量統計、應用檢測與防火墻配置模塊,將事件記錄后通過數據包隊列傳遞至傳統防火墻模塊,最終將數據檢測結果與負載均衡、流量重定向模塊的檢測結果比較分析,實現雙重過濾與安全防護功能(軟件系統結構具體設計情況如圖1 所示)。
(二)應用模塊設計
1. Web 界面模塊
基于Tomcat 服務器提供的Web 前臺服務設計防火墻系統Web 界面,在界面中設有控制器配置、傳統防火墻、應用過濾、流量查看、安全審計、日記管理、數據庫讀寫及可視化接口模塊。當用戶在瀏覽器中輸入網址,即可自動跳轉至Web 界面,執行控制器配置、應用防火墻組件控制等操作。
2. 控制器模塊
該模塊設有負載均衡、流量重定向兩個功能模塊:①負載均衡模塊內設有若干NOX 開源負載均衡器,通過建立負載均衡組件實現引流,用于維護系統中任意一個支持對外提供服務的防火墻IP 地址的循環鏈表,當系統中進入新的數據流量時,利用NOX 負載均衡器將相應數據任務分發至具體防火墻,可實現安全防護機制的循環運行。②流量重定向模塊主要采集通過交換機的數據流量與鏈路信息,根據鏈路利用率計算結果實現對數據流的優化調度,結合數據流的源/ 目的地址建立服務鏈并完成優先級排序,以流指令形式發揮對數據流的重定向功能。基于上述原理,利用流量重定向模塊識別從負載均衡器處流出的數據流分配結果,可以生成面向指定防火墻的流條目并下發至交換機。同時,該模塊可從控制器處接收具體配置信息,將生成的流條目下發至交換機,最終將系統內部流量轉發至指定防火墻。
3. 后臺用戶態程序
在用戶態程序中設有主程序、流量統計、應用檢測、防火墻配置與事件記錄等模塊:①主程序模塊,該模塊直接面向分布式防火墻軟件系統設計,用于加載不同防火墻的具體配置信息,生成防火墻內部各模塊實例,并完成初始化處理。在主程序模塊中設有網絡接口,支持與Web 頁面建立通信連接,獲取Web 前臺服務層提供的配置信息,經信息分析、檢測后調用相應函數模型,實現應用層防火墻的具體功能。②流量統計模塊,該模塊主要采集通過防火墻的網絡流量,經由數據整理、統計等流程,獲取OpenFlow 類協議流量、防火墻流入/流出流量等流量統計結果。③應用檢測模塊,該模塊采用DPI 技術對數據流量包執行檢測分析,優化原本開源DPI 架構下的使用功能,支持對應用層協議篩選與識別,完成數據檢測、過濾處理等。④防火墻配置模塊,該模塊主要為包過濾防火墻配置提供服務,利用Linux 提供的防火墻組件解析配置命令,分別定義配置命令的地址、服務、時間等對象,提供實現防火墻功能的過濾規則,并將防火墻配置結果在界面中可視化呈現。⑤事件記錄模塊,該模塊主要為Web 頁面中的安全審計、日志管理等功能模塊提供服務,用于完善系統規則配置,并提供系統安全預警事件的存儲及日志檢索等服務。
4. 后臺內核態程序
內核態程序以傳統防火墻模塊為主,該模塊利用基于Linux 的網絡級防火墻技術,運用傳統防火墻下的組件工具實現對數據包的分析與初步過濾,減輕應用防火墻的處理負荷,提高數據包過濾與分析速率。
三、實驗環境建構與測試
(一)實驗環境
在實驗環境設計上,采用VShere 軟件提供的開發環境,建立一種在輕量級虛擬機中部署服務器的虛擬化解決方案。首先,在實體服務器的基礎上建立多臺虛擬機服務器,確保它們之間保持獨立運行。虛擬機服務器作為控制器運行載體,通過客戶機來實現對服務器的訪問與數據配置功能,從而提高實驗效率和節約實驗成本。在本次實驗中,基于Ubuntu 操作系統部署了兩臺虛擬服務器, 并將它們的IP 地址依次設為192.168.1.0 和192.168.1.1。這兩臺虛擬服務器的運行內存分別為1GRAM 和40G ROM。同時,還配置一臺基于WindowsXP系統的客戶機,并采用Chrome 瀏覽器進行測試。客戶機運行內存為12G,磁盤存儲空間為500G。在系統測試前,將SDN 控制器分別安裝在兩臺虛擬服務器中,并基于分布式結構在各服務器端創建了虛擬網橋、設置網卡端口,并安裝了應用防火墻。同時,在客戶機中也安裝了SDN 控制器,并將其端口與虛擬服務器網卡端口連接起來,以進行后續的測試。
(二)測試結果
1. 應用防火墻基本操作
基于控制器規則分別在IP 地址為98.0.8.9 和98.0.8.10 的服務器端創建防火墻資源,根據創建資源分配的地址實現訪問,在請求輸入框內輸入創建防火墻資源的字符串,生成128 比特位長度、32 位數字的資料顯示結果,確認接口請求成功后系統自動將防火墻資源以字符串形式返回,同時返回HTTP 請求的響應碼。
觀察防火墻測試結果可以發現,在更新防火墻配置的情況下,指定防火墻UUID、租戶ID、狀態字段、防火墻模式字段等均顯示配置更新不成功、提示信息不可更新錯誤,這表明防火墻更新功能符合測試要求;在創建防火墻配置測試上,系統支持隨機生成UUID 并創建配置,在創建配置資源時指定租戶不存在、路由資源不存在等情況下,測試結果均顯示配置創建不成功,并提示相關資源錯誤,證明創建防火墻符合測試要求;在獲取防火墻配置測試上,以防火墻資源ID 作為接口參數,按防火墻UUID 成功獲取配置資源,當獲取配置指定的UUID 不存在時自動提示獲取失敗并顯示“資源ID 不存在”提示,證明防火墻的獲取功能符合測試要求;在刪除防火墻配置測試上,同樣利用防火墻資源ID 配置接口參數,在按防火墻UUID 刪除資源時成功刪除,在指定UUID 不存在情況下顯示刪除失敗并做出提示,證明防火墻配置刪除功能符合測試要求。
2. 應用場景下的測試結果
為證明本文建立的分布式應用防火墻系統能夠有效克服傳統防火墻系統面臨的各項約束條件,擬基于現有實驗環境提出以下取證邏輯:①模擬傳統防火墻系統結構,設計禁止虛擬機1 訪問虛擬機2 的安全控制策略;②檢驗防火墻是否發揮安全控制功能,當確認虛擬機1無法訪問虛擬機2 時,將虛擬機遷移至客戶機處判斷原安全控制策略是否實效,當發現原防火墻系統中安全控制策略實效,則說明虛擬1 支持訪問任意虛擬機;③將虛擬機遷移至原位,在實驗環境中部署分布式防火墻結構,并沿用安全控制策略實現分布式防火墻結構下的網絡安全部署;④重新使虛擬機1 訪問虛擬機2,判斷兩虛擬機之間能否建立通信連接。
在執行上述取證邏輯構成中,當基于傳統防火墻的集成式結構體系中完成安全控制策略部署后,使虛擬機1 恰好位于物理機上,觀察到虛擬機1 在訪問虛擬機2時出現訪問失敗現象,由此說明原防火墻系統中安全控制策略發揮實效;此時,將虛擬機1 遷移至虛擬機2 所在的物理主機上,重新觀察虛擬機1 能否正常訪問虛擬機2,從中發現訪問成功,說明原防火墻結構下的安全控制策略實效失效。針對上述現象原因分析可知,在虛擬機1 遷移后兩臺虛擬機之間的數據流量傳遞不再通過防火墻,導致原防火墻失去攔截、過濾效果,未能及時檢測到兩虛擬機之間建立通信連接,造成系統安全風險,究其原因在于傳統防火墻系統將虛擬機部署的安全區域與網絡拓撲結構實行耦合設計。而在分布式應用防火墻系統中,重新配置禁止兩虛擬機訪問的安全控制策略,將虛擬機部署的安全區域與原物理拓撲結構實現解耦,保證在虛擬機1 遷移至網絡結構中的任意位置時,始終受應用層防火墻安全控制策略的保護,無法在不經過防火墻的情況下訪問虛擬機2,由此克服傳統防火墻結構在安全防護功能實現上所受的限制條件,實現對數據流量包的深度檢測與過濾。
四、結束語
通過結合虛擬化、云計算環境下傳統防火墻體系存在等技術瓶頸,本文提出了一種基于SDN 與DPI 技術的分布式防火墻系統設計方案。該方案面向系統應用層規劃了安全控制策略,并通過搭建虛擬化實驗環境對新型防火墻系統開展了性能測試。測試結果表明,在配置安全控制策略情況下,兩個虛擬機之間無法正常訪問,有效地發揮了分布式應用防火墻的安全防護功能,支持阻斷HTTP、FTP 等多種通信協議下的數據傳輸,實現了數據流量的有效檢測及過濾。然而,現有設計方案仍存在一定性能缺陷,在控制器發生單點故障情況下不支持分布式防火墻組件之間的靈活切換,未來還圍繞自動切換功能、接口調用模式、人機界面設計等層面采取相應技術優化措施,為系統安全防護與通信傳輸安全保障提供良好示范經驗。
作者單位:袁超 四川職業技術學院