
本發明涉及通信技術安全領域,尤其涉及一種跨主機租戶的東西向網絡流量鏡像采集方法。
背景技術:
:隨著云計算業務的廣泛發展,出于安全的需要,需要對云內的東西向網絡流量進行監控,這就需要對云內租戶的東西向網絡流量進行鏡像。而要完成東西向網絡流量的鏡像,就需要實現以下功能:1)對租戶的網絡流量進行區分;2)有效地將租戶的網絡流量進行鏡像并傳輸到網絡數據分析中心進行分析。目前對網絡流量鏡像一般采用分光或交換機鏡像端口的方式來實現。所述分光是指通過分光器,將光纖中的光進行克隆,其實就是通過透鏡,將光纖中的光復制出來;比如將入射光分成兩束,一束的能量是70%,另一束的能量是30%,因為光是數據的載體,光被復制,也就意味著網絡傳輸的數據被復制。但所述分光一般用在數據中心和外網的接口上,即用于南北向網絡流量的采集。所述交換機鏡像端口是指在交換機上進行配置,將一個接口上傳輸的數據,復制到鏡像端口,這樣在鏡像端口就可以收到被復制的數據。因為一個租戶的虛擬機可能分布在多個物理主機上,網絡流量可能要涉及多個機架,因此不能確定租戶的網絡流量涉及哪些物理接口,而且也不可能對所有的交換機端口進行鏡像。因此上述兩種方式對于云內租戶的東西向網絡流量并不適用。技術實現要素:本發明的目的在于提供一種跨主機租戶的東西向網絡流量鏡像采集方法,該方法基于租戶各自的租戶名,在配置界面上設置需要做流量鏡像的租戶名,以完成對該租戶網絡流量的采集和分析。為達上述目的,本發明所采用的技術方案為:一種跨主機租戶的東西向網絡流量鏡像采集方法,其步驟包括:1)流量采集控制服務器根據待采集租戶的租戶名以及從云服務主控服務器獲取的租戶的網絡配置信息和租戶的虛擬機在物理主機上的分布信息生成與待采集租戶對應的流量采集配置參數;2)流量采集控制服務器將上述流量采集配置參數通過云服務主機的流量采集agent下發到流量采集驅動程序;3)流量采集驅動程序對上述流量采集配置參數指定的采集流量進行鏡像,并將鏡像的采集流量發送給流量采集agent。進一步地,該方法步驟還包括:流量采集agent將上述鏡像的采集流量發送到流量分析服務器,并由流量分析服務器對所述鏡像的采集流量進行分析,以根據分析結果驗證所述采集流量與待采集租戶的對應情況。進一步地,步驟1)中所述流量采集配置參數是指租戶的虛擬網絡的類型和id。進一步地,步驟2)中所述流量采集agent部署在云服務主機上。進一步地,步驟2)和步驟3)具體包括以下步驟:a)流量采集agent接收流量采集控制服務器的命令,將上述流量采集配置參數中待采集租戶的流量的標識設置到流量采集驅動程序中;b)流量采集驅動程序接收流量采集agent的命令,根據上述待采集租戶的流量的標識對該租戶的流量采集配置參數進行配置;c)流量采集驅動程序根據上述已配置的流量采集配置參數對物理主機的網絡流量進行過濾,并對所述已配置的流量采集配置參數指定的采集流量進行鏡像,將鏡像的采集流量發送給流量采集agent。進一步地,步驟3)中所述流量采集驅動程序部署在云服務主機的linux內核中。進一步地,步驟3)中所述流量采集驅動程序通過模擬tcp的方式將鏡像的采集流量發送給流量采集agent。本發明的有益效果在于:本發明提供一種跨主機租戶的東西向網絡流量鏡像采集方法,該方法由一種支持動態配置、較靈活的跨主機租戶的東西向流量鏡像采集的軟件實現方案來實現。因為租戶的網絡數據可能分布在數據中心的多個網絡交換機,租戶的虛擬機在物理主機上的分布也是動態的。又因為交換機的鏡像端口是有限的,所以采用交換機鏡像端口的方法對租戶的網絡流量進行采集,將為網絡流量與具體租戶進行對應時帶來很多困難,不易于實現;而分光法一般用在數據中心和外網的接口上,即用于南北向網絡流量的采集;由于數據中心內的交換機之間的東西向網絡流量規模較大,因此采用分光法進行分析和處理的成本較高。而本發明方法則可以在linux內核驅動程序層,根據租戶名和租戶的網絡配置信息以及租戶的虛擬機在物理主機上的分布信息,動態采集租戶的東西向網絡流量。附圖說明圖1為本發明一種跨主機租戶的東西向網絡流量鏡像采集方法示意圖。圖2為本發明實現網絡流量鏡像的示意圖。圖3為本發明流量采集驅動程序模擬tcp的示意圖。具體實施方式為使本發明的上述特征和優點能更明顯易懂,下文特舉實施例,并配合所附圖作詳細說明如下。本發明提供一種跨主機租戶的東西向網絡流量鏡像采集方法,適用于一采集系統,所述采集系統包括云服務主控服務器、流量采集控制服務器、流量采集agent、流量采集驅動程序和流量分析服務器。請參考圖1,所述流量采集控制服務器用于完成以下功能:1)從云服務主控服務器獲取租戶的網絡配置信息和租戶的虛擬機在物理主機上的分布信息;2)從系統控制臺接收待采集租戶的租戶名,根據所述租戶名和該租戶的網絡配置信息以及該租戶的虛擬機在物理主機上的分布信息,生成與該租戶對應的流量采集配置參數;所述流量采集配置參數是指租戶的虛擬網絡的類型和id。如果租戶的虛擬網絡類型是vlan(虛擬局域網)網絡,則所述租戶對應的流量采集配置參數是指vlan網絡和vlanid。如果租戶的虛擬網絡類型是vxlan(可擴展虛擬局域網)網絡,則所述租戶對應的流量采集配置參數是指vxlan網絡和vxlanid。3)將上述流量采集配置參數發送給租戶資源涉及的云服務主機的流量采集agent,完成對流量鏡像參數的設置,流量采集agent將按照所述流量鏡像參數調用流量采集驅動程序,進行流量鏡像采集。所述流量采集agent部署在云服務主機上,主要完成以下功能:1)接收流量采集控制服務器的命令,將上述流量采集配置參數中待采集租戶的流量的標識設置到流量采集驅動程序中;2)接收流量采集驅動程序鏡像的采集流量,并將鏡像的采集流量發送到流量分析服務器進行分析。所述流量采集驅動程序部署在云服務主機的linux內核中,主要完成以下功能:1)接收流量采集agent的命令,根據待采集租戶的流量的標識對該租戶的流量采集配置參數進行配置;2)根據上述已配置的流量采集配置參數對物理主機的網絡流量進行過濾,并對所述已配置的流量采集配置參數指定的采集流量進行鏡像;3)將鏡像的采集流量從流量采集驅動程序內部發送給流量采集agent。所述流量分析服務器用于接收流量采集agent發送的流量采集驅動程序鏡像的采集流量,并對其進行分析,以根據分析結果驗證所述采集流量與待采集租戶的對應情況,并為后續采集流量分析提供支撐。下面舉一具體實施例,以更好的說明本發明方法,該方法的具體實現包括以下步驟:1)流量采集控制服務器根據待采集租戶的租戶名以及從云服務主控服務器獲取的租戶的網絡配置信息和租戶的虛擬機在物理主機上的分布信息,生成與該待采集租戶所對應的流量采集配置參數。下面為租戶的網絡配置信息的具體形式。目前租戶的虛擬網絡一般采用vlan或vxlan的形式,所以只要對相應的vlan或vxlan的數據(流量)進行鏡像,就可以完成對租戶數據的鏡像功能。在同一個云服務的范圍內,其采用的虛擬網絡形式是一致的,如果云服務采用vlan網絡,那么所有的租戶采用的虛擬網絡都是vlan網絡;如果采用vxlan網絡,那么所有的租戶采用的虛擬網絡都是vxlan網絡。表1:vlan網絡下的租戶的網絡配置信息租戶id網絡vlanid租戶1tenant1_network11010租戶1tenant1_network21011租戶2tenant2_network12020租戶2tenant2_network22021租戶3tenant3_network12301假設云服務部署采用vlan網絡,如表1所示,流量采集控制服務可以得到如下租戶的網絡配置信息:租戶1的網絡流量對應的vlanid為1010和1011;租戶2的網絡流量對應的vlanid為2020和2021;租戶3的網絡流量對應的vlanid為2031;如果云服務的網絡采用vxlan網絡,那么對應的id就是vxlanid。2)流量采集控制服務器根據租戶的虛擬機在物理主機上的分布信息,將上述流量采集配置參數只下發到與租戶相關的云服務主機上的流量采集agent,完成流量鏡像參數的設置。3)流量采集agent接收流量采集控制服務器的命令,將待采集租戶的流量的標識設置到流量采集驅動程序中,并按照上述流量鏡像參數調用流量采集驅動程序,進行流量鏡像采集。4)流量采集驅動程序接收流量采集agent的命令,根據待采集租戶的流量的標識對該租戶的流量采集配置參數進行配置;并根據所述已配置的流量采集配置參數對物理主機的網絡流量進行過濾,其關鍵實現是通過在netfilter中掛載流量采集驅動程序的過濾鉤子,以實現對網絡流量的鏡像和采集。請參考圖2,所述過濾鉤子為該圖中的流量采集hook。netfilter是linux內核的標準網絡流量處理程序,且該圖中其它的hook均為其自帶的。本發明通過所述netfilter實現了網絡流量的鏡像和采集。所述鏡像的具體實現過程為:通過skbuffer的特性實現零拷貝,流量采集驅動程序對租戶發送和接收的網絡流量,都進行鏡像;5)鏡像的采集流量從流量采集驅動程序發送到流量采集agent。其實現過程為:流量采集驅動程序鏡像的采集流量通過模擬tcp的方式發送給流量采集agent,如圖3所示,在流量采集驅動程序中,實現一個tcp協議棧,流量采集驅動程序通過tcp三次握手,與云服務主機操作系統中部署的流量采集agent建立tcp連接(對流量采集agent來說,這個tcp連接就是普通的tcp連接,在這個tcp連接上,可以進行正常的tcp數據收發),通過這個tcp連接,把采集到的數據發送給流量采集agent。采用tcp的優點在于,可以使用tcp連接標識租戶信息,這樣可以直接將租戶的數據發送到tcp連接上,后續的租戶數據,不用再帶有租戶的標識,有效節省了傳輸成本;而且tcp為有狀態鏈接,接收效率比較高,可以實現比較高效可靠的數據傳遞。6)當租戶的虛擬網絡或者租戶的虛擬機分布發生變化的時候,流量采集控制服務器會更新相關云服務主機上的流量采集agent的流量采集配置參數。以上實施僅用以說明本發明的技術方案而非對其進行限制,本領域的普通技術人員可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明的精神和范圍,本發明的保護范圍應以權利要求書所述為準。當前第1頁12