摘 要:隨著計算機網(wǎng)絡的迅速發(fā)展,網(wǎng)絡安全問題日益突出,而傳統(tǒng)的安全檢測工具無法在接入云計算虛擬網(wǎng)絡的環(huán)境下為用戶進行安全檢測。研究了安全檢測服務動態(tài)接入虛擬網(wǎng)絡的方法,該方法可實現(xiàn)在原有虛擬網(wǎng)絡環(huán)境下系統(tǒng)檢測工具的虛擬化,并可并行地為多個不同區(qū)域的租戶進行安全檢測服務,從而降低資源消耗,有效提升安全檢測效率。
關鍵詞:網(wǎng)絡安全;安全檢測服務;動態(tài)接入;虛擬網(wǎng)絡
DOIDOI:10.11907/rjdk.162152
中圖分類號:TP393
文獻標識碼:A文章編號:1672-7800(2016)012-0141-03
0 引言
隨著計算機技術的普及,作為現(xiàn)代計算機網(wǎng)絡重要組成部分的虛擬網(wǎng)絡(VPN)技術也得到了不斷發(fā)展。同時,網(wǎng)絡安全問題和隱患逐漸出現(xiàn)。為避免不必要的損失,計算機網(wǎng)絡的安全保障問題顯得相當重要?;趥鹘y(tǒng)的安全檢測工具無法在接入云計算虛擬網(wǎng)絡環(huán)境下為用戶進行安全檢測的問題,本文對安全檢測服務動態(tài)接入虛擬網(wǎng)絡的方法進行研究。首先,搭建安全檢測服務資源池,利用安全檢測服務多進程化和網(wǎng)絡功能虛擬化(NFV)技術實現(xiàn)安全檢測服務器并行多個服務進程;其次,借助軟件定義網(wǎng)絡(SDN)技術使安全檢測服務器動態(tài)接入虛擬網(wǎng)絡,實現(xiàn)了安全檢測服務動態(tài)、按需接入用戶網(wǎng)絡并提供安全服務。該方法可以有效提升安全檢測效率,同時實現(xiàn)為多用戶并行地提供安全服務。
1 安全系統(tǒng)設計
1.1 總體布局
云計算網(wǎng)絡環(huán)境的最大特點是虛擬多域,要實現(xiàn)在動態(tài)網(wǎng)絡環(huán)境下并行地為多個隔離網(wǎng)絡域的用戶提供安全檢測服務,可以從兩方面入手:①搭建動態(tài)任務進程,對不同的虛擬網(wǎng)絡資源進行監(jiān)測,如虛擬端口、虛擬交換機與虛擬鏈路等;②通過附加通信策略的方式,保障虛擬網(wǎng)絡檢測服務和目標區(qū)域的網(wǎng)絡連通及不同隔離區(qū)域的網(wǎng)絡隔離[1]。因此,利用SDN動態(tài)編程,借助資源管理控制器動態(tài)調(diào)度虛擬網(wǎng)絡資源,搭建滿足用戶要求可連接目標子網(wǎng)的虛擬路徑,并建立安全檢查任務,從而實現(xiàn)基于SDN的安全檢測服務動態(tài)接入虛擬網(wǎng)絡。基于虛擬網(wǎng)絡資源,借助SDN擴展控制器創(chuàng)建安全檢測任務以及目標子網(wǎng)通信策略,同時傳遞到對應的策略加載點,使檢測任務正確接入目標子網(wǎng)。系統(tǒng)架構如圖1所示。
云計算虛擬網(wǎng)絡安全檢測系統(tǒng)由控制單元、安全服務代理、任務運行空間、虛擬網(wǎng)絡接入組件4部分構成,采用單安全服務引擎、多進程任務的服務方式在多域網(wǎng)絡環(huán)境下進行安全服務,各部分的具體功能為:①控制單元:包括SDN控制器和資源管理控制器,可管理、調(diào)度安全任務,建立并管理虛擬網(wǎng)絡資源以及傳遞策略;②安全服務代理:合理調(diào)配任務運行空間及虛擬網(wǎng)絡接入組件;③任務運行空間:即安全檢測任務資源池,具備獨立網(wǎng)絡資源(包含路由信息、地址解析協(xié)議等)、安全檢測任務和網(wǎng)絡運行環(huán)境,可以并行支持多個用戶的虛擬機服務;④虛擬網(wǎng)絡接入組件:主要任務是確保安全檢測任務順利接入目標虛擬機網(wǎng)絡,并保障不同區(qū)域的網(wǎng)絡隔離。
1.2 任務進程
用戶發(fā)出請求,控制單元收到請求后,調(diào)配資源管理控制器和SDN控制器;資源管理控制器借助OVSDB和自定義協(xié)議(SDP)向安全服務代理傳遞創(chuàng)建安全檢測資源和虛擬網(wǎng)絡資源的需求;安全服務代理接收到任務需求后,搭建不同的虛擬網(wǎng)絡組件,實現(xiàn)目標網(wǎng)絡或主機的安全服務[2]。SDN控制器借助OpenFlow和SDP協(xié)議向任務運行空間和虛擬交換機傳遞通信策略。
1.3 過程初始化
當系統(tǒng)接收到用戶的檢測請求后,會發(fā)起一系列安全檢測服務初始化,完成檢測任務到目標虛擬網(wǎng)絡的連通。初始化進程主要包括創(chuàng)建并配置虛擬網(wǎng)絡資源、安全檢測資源,并進行通信策略的傳遞。為滿足不同用戶重復IP虛擬機的檢測需求,需進行目標IP地址虛擬化,即將目標虛擬機IP地址映射為虛擬IP地址,通過控制虛擬系統(tǒng)IP地址來確保任務IP地址不重復,借助虛擬IP地址資源池執(zhí)行檢測任務[3]。初始化進程分為6步:①服務代理接收并解析安全檢測命令,得到相關目標虛擬網(wǎng)絡和虛擬機信息;②在任務運行空間進行任務比對,若相關空間不存在,則需創(chuàng)建該任務空間;③搭建虛擬端口和虛擬鏈路,虛擬鏈路連接任務運行空間和軟件交換機;④SDN控制器將通信策略傳遞給軟件交換機;⑤任務代理在虛擬IP資源池分配虛擬端口的IP資源,搭建目標虛擬網(wǎng)絡接口;⑥在任務運行空間建立檢測任務,對虛擬機IP進行地址虛擬化,從虛擬IP資源池獲得目標IP,借助本地路由連接到相應的虛擬網(wǎng)絡接口。
2 安全檢測服務
2.1 通信策略
為了保障安全檢測任務與目標子網(wǎng)的聯(lián)通及不同區(qū)域檢測任務的隔離,該系統(tǒng)定義了ARP緩存策略、路由策略和軟件交換機轉發(fā)策略(流表)等安全任務接入和隔離策略。通過策略傳遞使安全檢測任務動態(tài)接入目標子網(wǎng),實現(xiàn)并行安全檢測。
定義1:本地ARP緩存AC(ARP ache)={virt_IP,virt_mac,veth}。其中virt_IP指虛擬目標IP, virt_mac指虛擬目標mac,veth指出口虛擬以太網(wǎng)端口(VETH)設備。
定義2:本地路由RP(Route Policy)={virt_IP,mask,veth}。其中virt_IP指虛擬目標IP,mask指子網(wǎng)掩碼,veth指接入目標網(wǎng)絡的VETH設備。
定義3:數(shù)據(jù)包傳送至目標網(wǎng)絡流表SFE(Send Flow Entry)={match:dl_src=veth_mac,action:set_tag(tag),modnw_dst(vm_ip), mod_dl_dst(vm_mac)}。其中dl_src=veth_mac指匹配源為VETH設備的數(shù)據(jù)幀,set_tag(tag) 指執(zhí)行數(shù)據(jù)包標識tag,mod_nw_dst(vm_ip) 指將虛擬目標IP映射為虛擬機IP, mod_dl_dst(vm_mac) 指將虛擬目標MAC映射為虛擬機MAC。
定義4:返回數(shù)據(jù)包送至安全任務流表RcFE(Receive Flow Entry)={match:nw_dst=veth_ip,action:remove_tag(tag),mod_nw_ src(virt_ip),mod_dl_src(virt_mac)}。其中nw_dst=veth_ip指VETH設備IP的數(shù)據(jù)包,remove_tag(tag) 指執(zhí)行去掉數(shù)據(jù)包標識,mod_nw_src(virt_ip) 指源IP映射為虛擬IP,mod_dl_src(virt_mac) 指源MAC映射為虛擬MAC。
定義5:虛擬機流量重定向RdFE (Redirect Flow Entry )={match:nw_dst=veth_ip,action:mod_dl_dst(veth_mac)}。其中nw_dst=veth_ip指VETH設備IP的數(shù)據(jù)包,mod_dl_dst(veth_mac) 指目標MAC映射為VETH設備。
2.2 位置
位置與策略加載點相關,決定了安全檢測接入系統(tǒng)的方式。由圖1的系統(tǒng)架構可知,策略加載位置由安全檢測任務運行空間、虛擬網(wǎng)絡接入組件及虛擬網(wǎng)絡設備構成[4]。
2.3 檢測流程
整個安全服務檢測流程從數(shù)據(jù)流角度而言,即檢測任務發(fā)起數(shù)據(jù)包,經(jīng)由檢測設備、匹配策略到目標虛擬機收到數(shù)據(jù)包終止[5]。例如,租戶虛擬機(VMA)的安全檢測數(shù)據(jù)流如下:
(1)安全服務進程發(fā)送數(shù)據(jù)包流程:結合本地虛擬網(wǎng)絡接口地址和目標虛擬機虛擬地址,安全任務進程將任務通信流進行封裝,封裝通信數(shù)據(jù)包地址信息是SRC:=(vport. mac,vport. ip),DST=(vir. mac,vir. ip) ,TAU= null。其中vport.ip和vir.ip可以預選虛擬地址資源池,該地址禁止租戶子網(wǎng)配置使用;虛擬交換機接收到數(shù)據(jù)包時,結合之前的租戶虛擬機VLAN TAU ID信息對安全任務數(shù)據(jù)包進行標記,并使目的地址映射返回真正的目標虛擬機地址,同時將信息傳遞至底層網(wǎng)絡鏈路,數(shù)據(jù)包地址信息是SRC=(vport. mac, vport. ip), DST =(vm. mac,vm. ip),TAU=ID;目的地址到達接入層虛擬交換機時,對相同的安全服務數(shù)據(jù)包采用VLAN TAU標記,之后對數(shù)據(jù)流進行去TAU處理,并傳送至目標虛擬機,數(shù)據(jù)包地址信息是SRC= (vport.mac,vporr.ip),DST=(vm. mac,vm. ip),TAG=null。
(2)安全服務進程接收數(shù)據(jù)包流程:因設置的任務進程和虛擬機處于不同網(wǎng)絡中,需采用網(wǎng)關地址回復數(shù)據(jù)包,結合本地地址及儲存的安全服務進程地址,虛擬機對回復信息進行封裝,數(shù)據(jù)包回復信息是SRC=(vm. mac,vm. ip),DST=(gw. mac,vport.ip),TAG=null;當虛擬交換機接收到數(shù)據(jù)包時,采用RdFE規(guī)則對安全任務進程地址數(shù)據(jù)包進行二層標記,同時改寫目的MAC地址,并采用重定向方式傳遞至安全服務進程的vport虛擬網(wǎng)絡接口,數(shù)據(jù)包信息是SRC=(vm. mac,vm. ip),DST=(vport. mac,vport. ip),TAU=ID;當安全服務進程連接的虛擬交換機接收到數(shù)據(jù)包時,采用RIFE規(guī)則把目標IP地址的源IP和源MAC映射成虛擬IP和MAC地址,之后進行去TAU信息處理,通信流回復完畢,數(shù)據(jù)包信息是SRC=(vm. mac, vm. ip), DST=(vport.mac,vport. ip),TAU=null。
其中,VMA的真正地址是(vm.mac, vm. ip ),對應的任務運行空間虛擬地址為(vir. mac, vir. ip);借助VETH設備搭建的接入任務運行空間的虛擬接口是vport,詳細地址為(vport. mac, vport. ip);虛擬網(wǎng)絡網(wǎng)關地址為(gw. Mac.)。
3 測驗結果及分析
3.1 基本環(huán)境
本實驗使用了2. 6 UHz CPU、8 UB內(nèi)存、千兆以太網(wǎng)卡的物理服務器4臺,普通千兆以太網(wǎng)交換機及Ubuntu 14. 04版本的操作系統(tǒng)。
3.2 測試內(nèi)容
(1)有效性測試:為了使實驗結果更具代表性,選用兩個租戶T1、T2,搭建虛擬子網(wǎng)及配置虛擬機VM1、VM2。初始化配置如表1所示,其中IP→VIP和MAC→VMAC分別代表真實到虛擬的映射。
實驗結果顯示,結果與預期數(shù)據(jù)包發(fā)送、接收過程一致,說明本方法有效。因地址虛擬化過程中相同IP映射的虛擬IP地址不同,所以運行安全任務時不會出現(xiàn)干擾問題,同時采用VI、AN通信流標記方法確保租戶任務的隔離性。
(2)性能測試:本實驗從資源性能消耗及掃描通信延時方面對系統(tǒng)性能進行測試,采用對比分析,將該方法和從虛擬機粒度方面進行安全掃描的方法進行對比。測試性能相同時,增加漏洞掃描租戶數(shù)量,本方法和已有安全虛擬機方法測試的資源消耗情況如表2所示。
實驗結果顯示,采用安全虛擬機粒度進行漏洞檢測服務時,選用增加虛擬機數(shù)量為多個用戶服務,將導致資源消耗急劇增加。本方法因選用單引擎、多任務進程方式為用戶服務,當用戶增多時只需增加更多掃描任務進程即可,而且其資源消耗有限。與安全虛擬機方法相比,資源消耗可節(jié)省一半以上。
參考文獻:
[1] 劉培.淺談計算機網(wǎng)絡安全中虛擬網(wǎng)絡技術的作用[J].通訊世界,2015(11):313.
[2] 朱強,王慧強,馬春光.虛擬網(wǎng)絡可生存的啟發(fā)式可靠映射算法[J].通信學報,2015(7):77-79.
[3] 李連峰.試論虛擬網(wǎng)絡技術在計算機網(wǎng)絡安全中的應用[J].電子技術與軟件工程,2015(20):217.
[4] 尹振鶴.探究智慧城市建設中的網(wǎng)絡安全建設——以徐州為例[J].電腦知識與技術,2015(27):37-39.
[5] 鄒鈺.基于網(wǎng)格的數(shù)據(jù)傳輸與復制技術研究[J].電腦知識與技術,2015(27):45-46.
(責任編輯:黃 ?。?