国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

松耦合云環(huán)境下的虛擬網(wǎng)絡(luò)異常實(shí)體檢測(cè)研究

2018-10-24 07:59張舟遠(yuǎn)吳承榮葉家煒
關(guān)鍵詞:交換機(jī)端口實(shí)體

張舟遠(yuǎn) 吳承榮 葉家煒

(復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院 上海 200433)(教育部網(wǎng)絡(luò)信息安全審計(jì)與監(jiān)控工程研究中心 上海 200433)

0 引 言

隨著云計(jì)算技術(shù)應(yīng)用規(guī)模的不斷擴(kuò)大,對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)的要求也逐漸提高。由于傳統(tǒng)網(wǎng)絡(luò)在拓?fù)浜虸P地址空間等方面存在著固有缺陷[1],為了克服這些缺陷,就產(chǎn)生了網(wǎng)絡(luò)虛擬化的基本需求。

網(wǎng)絡(luò)虛擬化技術(shù)[2]可以將一個(gè)物理網(wǎng)絡(luò)劃分為多個(gè)完整而又彼此隔離的邏輯網(wǎng)絡(luò),即虛擬網(wǎng)絡(luò)。這些虛擬網(wǎng)絡(luò)通過(guò)同一套物理設(shè)備提供給云平臺(tái)中不同的租戶(hù)。租戶(hù)可以通過(guò)自定義的方式向云管理人員申請(qǐng)并獲得具備自己所需要的拓?fù)浣Y(jié)構(gòu)和IP地址空間的網(wǎng)絡(luò),從而滿(mǎn)足了新型數(shù)據(jù)中心的需求。對(duì)于租戶(hù)而言,除了上述需求外,虛擬網(wǎng)絡(luò)的安全問(wèn)題也是非常需要關(guān)注的問(wèn)題。與傳統(tǒng)物理網(wǎng)絡(luò)不同,虛擬網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備既包括了傳統(tǒng)的物理網(wǎng)絡(luò)設(shè)備,又包括了部署在物理服務(wù)器上的虛擬網(wǎng)絡(luò)設(shè)備。因此虛擬網(wǎng)絡(luò)除了需要應(yīng)對(duì)傳統(tǒng)的網(wǎng)絡(luò)安全問(wèn)題以外,還需要有應(yīng)對(duì)新的網(wǎng)絡(luò)安全的能力。

當(dāng)前的主流云平臺(tái),尤其是以O(shè)penStack為代表的開(kāi)源云平臺(tái),其整體架構(gòu)大多都是松耦合的。在這樣的整體架構(gòu)下,云平臺(tái)中的各層次,每個(gè)層次中的各模塊都可以獨(dú)立進(jìn)行設(shè)計(jì)開(kāi)發(fā)和維護(hù),帶來(lái)極大的便利。但與這種便利相對(duì)應(yīng)的,則是層次和層次之間的依賴(lài)性降低,缺乏良好的反饋機(jī)制。當(dāng)?shù)讓映霈F(xiàn)狀況的時(shí)候,上層往往難以及時(shí)發(fā)現(xiàn)這些問(wèn)題,從而給整個(gè)系統(tǒng)帶來(lái)安全隱患。虛擬網(wǎng)絡(luò)異常實(shí)體問(wèn)題就是其中的一種安全問(wèn)題。所謂虛擬網(wǎng)絡(luò)異常實(shí)體,指的是云平臺(tái)中沒(méi)有正常地在云管理平臺(tái)以認(rèn)證和發(fā)出請(qǐng)求的方式,而是以直接調(diào)用底層的相關(guān)管理工具或者是API的方式直接添加、刪除或者是改變配置的虛擬網(wǎng)絡(luò)端口以及連接在該端口上的虛擬機(jī)。

本文對(duì)松耦合云環(huán)境下出現(xiàn)虛擬網(wǎng)絡(luò)異常實(shí)體問(wèn)題的原因進(jìn)行了探討,提出一種能夠及時(shí)發(fā)現(xiàn)虛擬網(wǎng)絡(luò)異常實(shí)體的方案,并通過(guò)實(shí)驗(yàn)對(duì)該方案的有效性加以驗(yàn)證。

1 相關(guān)工作

網(wǎng)絡(luò)安全歷來(lái)是一個(gè)非常重要的問(wèn)題,而隨著虛擬網(wǎng)絡(luò)的出現(xiàn)和發(fā)展,網(wǎng)絡(luò)安全問(wèn)題也迎來(lái)了新的挑戰(zhàn)。一般認(rèn)為,虛擬網(wǎng)絡(luò)由于可以使用更為細(xì)粒度的訪問(wèn)控制,因此安全性要高于傳統(tǒng)網(wǎng)絡(luò)。早在2008年和2009年,文獻(xiàn)[3-4]就指出了虛擬環(huán)境下存在通過(guò)攻擊Hypervisor獲取整個(gè)系統(tǒng)控制權(quán),進(jìn)而實(shí)施其他攻擊手段的安全問(wèn)題。盡管當(dāng)時(shí)主要把研究重點(diǎn)放在了虛擬機(jī)安全管理上,但隨著網(wǎng)絡(luò)虛擬化技術(shù)在云計(jì)算中的大量應(yīng)用,無(wú)論是學(xué)術(shù)界還是工業(yè)界也都已經(jīng)開(kāi)始對(duì)虛擬網(wǎng)絡(luò)的安全問(wèn)題進(jìn)行了相關(guān)研究,提出各自的解決方案。

學(xué)術(shù)界的主要研究思路是基于開(kāi)源軟件來(lái)提出并開(kāi)發(fā)相應(yīng)的解決方案。例如,文獻(xiàn)[6]將處于同一虛擬網(wǎng)絡(luò)的虛擬機(jī)放置于同一臺(tái)物理機(jī)中,并將物理網(wǎng)卡配成多IP模式作為地址池,物理網(wǎng)卡與支持網(wǎng)絡(luò)虛擬化的物理交換機(jī)相連,物理機(jī)與物理交換機(jī)之間通過(guò)部署防火墻來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)安全。文獻(xiàn)[7]則在每臺(tái)物理機(jī)的Hypervisor上部署了沙盒,并基于安全策略來(lái)保證虛擬機(jī)的網(wǎng)絡(luò)安全。文獻(xiàn)[12]探討了軟件定義網(wǎng)絡(luò)(SDN)環(huán)境下的虛擬網(wǎng)絡(luò)安全問(wèn)題。文獻(xiàn)[13]進(jìn)一步將SDN和NFV(網(wǎng)絡(luò)功能虛擬化)集成到OpenStack中,提高其網(wǎng)絡(luò)安全性。文獻(xiàn)[14]通過(guò)將入侵檢測(cè)系統(tǒng)(IDS)和蜜罐網(wǎng)絡(luò)集成到云環(huán)境中的方法實(shí)現(xiàn)減輕已知和未知的攻擊。此外,還有部分研究將重點(diǎn)放在了虛擬網(wǎng)絡(luò)中傳輸數(shù)據(jù)本身的安全上,例如文獻(xiàn)[11]設(shè)計(jì)了一種基于加密傳輸?shù)木W(wǎng)絡(luò)虛擬化系統(tǒng)來(lái)保證網(wǎng)絡(luò)中數(shù)據(jù)的安全。

工業(yè)界根據(jù)搭建虛擬網(wǎng)絡(luò)的解決方案的不同,有著不同的虛擬網(wǎng)絡(luò)安全機(jī)制。主要分為兩種:(1) 以VMWare和Cisco(思科)為代表的商用虛擬網(wǎng)絡(luò)解決方案;(2) 以O(shè)penStack為代表的開(kāi)源虛擬網(wǎng)絡(luò)解決方案。

商用解決方案包括了以VMware為代表的軟件解決方案和以Cisco為代表的硬件解決方案。其中:VMware提出了一種名為NSX[8]的虛擬網(wǎng)絡(luò)解決方案和產(chǎn)品,該產(chǎn)品底層使用了VMware自己開(kāi)發(fā)的VDS虛擬交換機(jī),上層則和VMware vSphere相結(jié)合,各層次之間耦合度很高,具備非常良好的交互與反饋機(jī)制,管理人員可以很好地掌握整個(gè)系統(tǒng)的運(yùn)行情況;Cisco則提出了一套名為ACI[9]的虛擬網(wǎng)絡(luò)解決方案,該方案的特點(diǎn)在于其仍將硬件作為虛擬網(wǎng)絡(luò)的核心,所有對(duì)網(wǎng)絡(luò)的操作都是基于硬件設(shè)備能力來(lái)實(shí)現(xiàn)的,并且采用了新的網(wǎng)絡(luò)協(xié)議,使得其相比較于使用樂(lè)高積木式組建網(wǎng)絡(luò)的軟件方案的功能更為強(qiáng)大。

以O(shè)penStack[5]為代表的開(kāi)源云平臺(tái)則采用了輪詢(xún)的方式來(lái)檢測(cè)虛擬機(jī)的網(wǎng)絡(luò)連接,一旦發(fā)現(xiàn)虛擬機(jī)沒(méi)有連接到虛擬網(wǎng)橋上就會(huì)通過(guò)管理工具在對(duì)應(yīng)的網(wǎng)橋上重新創(chuàng)建虛擬端口。但由于設(shè)計(jì)這一機(jī)制的目的是為了解決虛擬交換機(jī)運(yùn)行時(shí)自身出現(xiàn)故障的問(wèn)題。因此只能判斷虛擬機(jī)所對(duì)應(yīng)的虛擬端口是否存在,既無(wú)法保證虛擬端口是否被正確配置,也無(wú)法感知不受OpenStack管控的虛擬端口。其各不同層次的組件通常分屬不同的開(kāi)源產(chǎn)品,雖然每個(gè)產(chǎn)品都能夠提供一定程度的安全管理機(jī)制,但由于層次間的耦合程度低,尚未出現(xiàn)一個(gè)系統(tǒng)的統(tǒng)一安全管理方案,也沒(méi)有專(zhuān)門(mén)針對(duì)虛擬網(wǎng)絡(luò)異常實(shí)體問(wèn)題進(jìn)行過(guò)相關(guān)設(shè)計(jì)。本文主要針對(duì)松耦合架構(gòu)的開(kāi)源云平臺(tái)下存在的虛擬網(wǎng)絡(luò)異常實(shí)體問(wèn)題進(jìn)行研究。

2 虛擬網(wǎng)絡(luò)異常實(shí)體問(wèn)題分析和檢測(cè)

2.1 松耦合云環(huán)境下的虛擬網(wǎng)絡(luò)異常實(shí)體問(wèn)題

圖1以O(shè)penStack為例,展示了松耦合云環(huán)境下虛擬網(wǎng)絡(luò)的典型結(jié)構(gòu)。租戶(hù)或管理員通過(guò)云平臺(tái)Portal提供的圖形化界面進(jìn)行配置,云平臺(tái)通過(guò)分別調(diào)用Nova和Neutron的相關(guān)API對(duì)底層設(shè)備進(jìn)行操作。

圖1 OpenStack環(huán)境下虛擬網(wǎng)絡(luò)典型結(jié)構(gòu)

在這樣的結(jié)構(gòu)下,各層次之間缺乏良好的反饋機(jī)制,只有在上層調(diào)用下層提供的服務(wù)時(shí),下層才會(huì)將執(zhí)行結(jié)果返回上層,下層本身不會(huì)主動(dòng)向上層報(bào)告自身的運(yùn)行情況。這是因?yàn)樵贠penStack環(huán)境下,云平臺(tái)的下層,即資源調(diào)度層和資源層,大量使用了第三方軟件,而這些第三方軟件本身不具備主動(dòng)對(duì)上層反饋的機(jī)制。在正常情況下,租戶(hù)或管理員經(jīng)過(guò)云平臺(tái)Portal的認(rèn)證,自上而下一層一層地對(duì)虛擬交換機(jī)進(jìn)行操作,每一層都會(huì)將調(diào)用結(jié)果反饋給上層并且在日志中留下記錄,因此這樣的設(shè)計(jì)不存在問(wèn)題。然而在非正常情況下,例如沒(méi)有經(jīng)過(guò)云平臺(tái)的認(rèn)證而是直接調(diào)用底層虛擬交換機(jī)提供的管理工具進(jìn)行操作時(shí),由于底層設(shè)備不會(huì)主動(dòng)向上層報(bào)告,因此上層的云管理平臺(tái)無(wú)法及時(shí)獲取相關(guān)的信息并加以處理,從而導(dǎo)致虛擬網(wǎng)絡(luò)異常實(shí)體的出現(xiàn)。這些異常實(shí)體或者成為垃圾資源無(wú)法正常使用,從而影響租戶(hù)的正常業(yè)務(wù),或者成為攻擊者的“肉機(jī)”或跳板,從而危害整個(gè)系統(tǒng)安全。

根據(jù)對(duì)虛擬交換機(jī)的不同操作,虛擬網(wǎng)絡(luò)異常實(shí)體可以分為兩類(lèi):(1) 不受OpenStack管控的虛擬網(wǎng)絡(luò)端口及相關(guān)聯(lián)的虛擬機(jī);(2) 被篡改網(wǎng)絡(luò)配置的虛擬網(wǎng)絡(luò)端口及相關(guān)聯(lián)的虛擬機(jī)。下面分別介紹這兩類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體及其形成原因。

第一類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體,即不受OpenStack管控的虛擬網(wǎng)絡(luò)端口及相關(guān)聯(lián)的虛擬機(jī),指的是攻擊者繞過(guò)云管理平臺(tái)的認(rèn)證機(jī)制,直接調(diào)用Open vSwitch等虛擬交換機(jī)提供的管理工具,將不屬于OpenStack管控的虛擬機(jī)接入OpenStack網(wǎng)絡(luò)中。這些虛擬機(jī)無(wú)法通過(guò)OpenStack進(jìn)行管理,但是可以作為內(nèi)部網(wǎng)絡(luò)成員和所接入網(wǎng)絡(luò)內(nèi)的虛擬機(jī)正常通信,且不受部署在虛擬網(wǎng)絡(luò)邊界的網(wǎng)絡(luò)安全系統(tǒng)如防火墻等的影響。同時(shí),由于將虛擬機(jī)接入OpenStack網(wǎng)絡(luò)的操作沒(méi)有經(jīng)過(guò)OpenStack的任何一個(gè)模塊,因此OpenStack既無(wú)法感知這些虛擬機(jī),也無(wú)法發(fā)現(xiàn)虛擬機(jī)接入網(wǎng)絡(luò)的任何操作,于是就會(huì)產(chǎn)生第一類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體。

第二類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體,即被篡改網(wǎng)絡(luò)配置的虛擬網(wǎng)絡(luò)端口及相關(guān)聯(lián)的虛擬機(jī),包括兩種情況:(1) 通過(guò)篡改虛擬網(wǎng)絡(luò)端口的配置使虛擬機(jī)接入其他網(wǎng)絡(luò);(2) 通過(guò)篡改虛擬網(wǎng)絡(luò)端口的配置將虛擬機(jī)從虛擬網(wǎng)絡(luò)中刪除。在這兩種情況下,虛擬機(jī)的網(wǎng)絡(luò)配置都和云管理平臺(tái)中所記錄的網(wǎng)絡(luò)配置不同,從而形成異常實(shí)體。由于OpenStack的架構(gòu)是松耦合的,其主要模塊無(wú)法通過(guò)底層的主動(dòng)報(bào)告來(lái)獲取其運(yùn)行情況,而只能采用定時(shí)輪詢(xún)的方式檢測(cè)虛擬網(wǎng)絡(luò)端口的配置是否正確。如果輪詢(xún)的時(shí)間間隔設(shè)置得合適,并且能夠?qū)l(fā)現(xiàn)的異常實(shí)體及時(shí)報(bào)告給安全管理人員的話(huà),這也不失為松耦合架構(gòu)下的一種可行的安全措施。然而OpenStack的定時(shí)輪詢(xún)機(jī)制并不是作為一種安全機(jī)制而設(shè)計(jì)的,而僅僅是為了防止底層的虛擬交換機(jī)自身在運(yùn)行時(shí)出現(xiàn)錯(cuò)誤,從而保證云管理平臺(tái)下發(fā)的各種指令能夠正確執(zhí)行。正是出于這一目的,OpenStack在發(fā)現(xiàn)虛擬網(wǎng)絡(luò)端口的配置與自身數(shù)據(jù)庫(kù)中記錄的不同時(shí),只會(huì)根據(jù)自己記錄的信息重新配置虛擬網(wǎng)絡(luò)端口,而不會(huì)向安全管理人員報(bào)告,也不會(huì)留下任何日志信息供安全管理人員查看。

為了驗(yàn)證上文所論述的異常實(shí)體的存在和危害,本文繞過(guò)OpenStack平臺(tái),直接對(duì)虛擬交換機(jī)Open vSwitch進(jìn)行了以下操作:

操作1:使用ovs-vsctl add port命令,將不受OpenStack管控的虛擬機(jī)接入OpenStack網(wǎng)絡(luò)中。

操作2:使用ovs-vsctl set port命令,改變虛擬網(wǎng)絡(luò)端口配置,從而將相關(guān)聯(lián)的虛擬機(jī)接入另外的網(wǎng)絡(luò)中。

操作3:使用ovs-vsctl del port命令,刪除虛擬網(wǎng)絡(luò)端口,從而將相關(guān)聯(lián)的虛擬機(jī)從網(wǎng)絡(luò)中刪除。

每次操作前都先將OpenStack恢復(fù)原狀,通過(guò)這些操作并分別查詢(xún)Dashboard界面、Neutron日志以及虛擬機(jī)本身情況,結(jié)果如表1所示。

表1 異常實(shí)體問(wèn)題驗(yàn)證結(jié)果

由此可見(jiàn),OpenStack中出現(xiàn)的兩類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體既不能通過(guò)Dashboard界面進(jìn)行監(jiān)控,也不能通過(guò)查詢(xún)Neutron日志進(jìn)行事后排查,這一點(diǎn)必須引起安全管理人員的重視。

2.2 虛擬網(wǎng)絡(luò)異常實(shí)體檢測(cè)方案

2.2.1 基本原理

上文曾經(jīng)提到,定時(shí)輪詢(xún)方案可以作為一種可行的虛擬網(wǎng)絡(luò)異常實(shí)體的檢測(cè)方案,而OpenStack現(xiàn)有的定時(shí)輪詢(xún)方案還存在著一些問(wèn)題。本文基于OpenStack的定時(shí)輪詢(xún)思想,并作出一些改進(jìn),在不對(duì)云平臺(tái)本身進(jìn)行改動(dòng)的前提下提出一種針對(duì)虛擬網(wǎng)絡(luò)異常實(shí)體的檢測(cè)方案。本方案的基本原理是對(duì)Open vSwitch和OpenStack中分別記錄的虛擬網(wǎng)絡(luò)信息進(jìn)行比對(duì),如果發(fā)現(xiàn)記錄不一致,則存在虛擬網(wǎng)絡(luò)異常實(shí)體。其中:Open vSwitch中記錄的是虛擬機(jī)的實(shí)際網(wǎng)絡(luò)配置信息,而OpenStack中記錄的則是虛擬機(jī)應(yīng)當(dāng)具備的網(wǎng)絡(luò)配置信息。本方案的工作流程如圖2所示。

圖2 虛擬網(wǎng)絡(luò)異常實(shí)體檢測(cè)流程

根據(jù)本方案編寫(xiě)的虛擬網(wǎng)絡(luò)異常實(shí)體檢測(cè)程序利用Linux提供的cron服務(wù)定時(shí)啟動(dòng),并且按照以下步驟工作:

(1) 參數(shù)收集 首先需要收集兩部分重要參數(shù)作為輸入。一部分是Open vSwitch的所有連有虛擬機(jī)的端口以及這些端口上所連接的虛擬機(jī)信息。另一部分是OpenStack上所存儲(chǔ)的虛擬機(jī)相應(yīng)的信息以及這些虛擬機(jī)的相應(yīng)網(wǎng)絡(luò)信息。

(2) 異常檢測(cè) 用步驟1中所獲取的兩部分虛擬機(jī)信息以及虛擬網(wǎng)絡(luò)端口信息進(jìn)行比對(duì),從而發(fā)現(xiàn)網(wǎng)絡(luò)中不受OpenStack管控的第一類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體以及OpenStack中實(shí)際網(wǎng)絡(luò)配置和云管理平臺(tái)中記錄的配置不同的第二類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體。

(3) 安全告警 如果在異常檢測(cè)這一步驟中發(fā)現(xiàn)了虛擬網(wǎng)絡(luò)異常實(shí)體,那么會(huì)在數(shù)據(jù)庫(kù)中生成一條告警記錄。這條告警記錄的信息會(huì)及時(shí)通過(guò)有效的反饋機(jī)制告知安全管理人員。

2.2.2 具體實(shí)現(xiàn)

根據(jù)上文的工作流程具體描述虛擬網(wǎng)絡(luò)異常實(shí)體的檢測(cè)實(shí)現(xiàn)細(xì)節(jié)。

(1) 參數(shù)收集的實(shí)現(xiàn) 在檢測(cè)開(kāi)始前,需要分別對(duì)Open vSwitch上的信息集合(記為Ov)和OpenStack上的信息集合(記為Op)進(jìn)行信息收集。其中,Ov中的每一項(xiàng)都對(duì)應(yīng)了Open vSwitch中的一個(gè)連有虛擬機(jī)的虛擬網(wǎng)絡(luò)端口信息,對(duì)于每一個(gè)端口可以收集到的信息包括端口名、端口UUID、端口VLAN tag、對(duì)應(yīng)VxLAN的標(biāo)識(shí)VNI、虛擬機(jī)UUID、虛擬機(jī)MAC地址等。這部分信息中,VNI信息需要從Open vSwitch的流規(guī)則中提取,其余所有信息都可以從Open vSwitch的數(shù)據(jù)庫(kù),即ovsdb中獲取。Open vSwitch分別提供了ovs-ofctl和ovsdb-client兩個(gè)管理工具來(lái)獲取這一部分信息。這里需要特別指出的是,虛擬機(jī)的UUID信息和MAC地址信息有可能因?yàn)楣舳鵁o(wú)法從ovsdb中提取,這時(shí)需要調(diào)用Libvirt API來(lái)獲取這些信息。

而Ov中的每一項(xiàng)對(duì)應(yīng)OpenStack中的一臺(tái)虛擬機(jī)及其網(wǎng)絡(luò)的配置信息,包括虛擬機(jī)UUID、虛擬機(jī)MAC地址、虛擬機(jī)IP地址、VxLAN標(biāo)識(shí)VNI和虛擬網(wǎng)絡(luò)UUID等。這一部分信息可以分別從Neutron數(shù)據(jù)庫(kù)中的ports表、ml2_network表和ipallocations表中提取。為此,可以建立一張視圖匯總這方面的信息,如圖3所示,圖中的device_id、mac_address、ip_address、segmentation_id和network_id字段分別對(duì)應(yīng)了上述信息。

(2) 異常檢測(cè)的實(shí)現(xiàn) 在完成參數(shù)收集的工作后,首先開(kāi)始遍歷Ov中的每一項(xiàng),檢查Ov中的每一項(xiàng)(記為Ovi)所記錄的虛擬機(jī)UUID是否都包含在Op中,如果不在Op中,則可以判定系統(tǒng)中有存在第一類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體;如果虛擬機(jī)UUID包含在Op中,那么繼續(xù)比對(duì)這臺(tái)虛擬機(jī)在Ov和Op的記錄中是否在同一網(wǎng)絡(luò)中;如果不在同一網(wǎng)絡(luò)中,那么可以判定系統(tǒng)中存在第二類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體且屬于第一種情況;在完成對(duì)Ov的遍歷后,繼續(xù)遍歷Op中的每一項(xiàng)(記為Opi),檢查是否每臺(tái)虛擬機(jī)都在Ov中有記錄,如果沒(méi)有,那么可以判定系統(tǒng)中存在第二類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體且屬于第二種情況。這一過(guò)程可以用圖4所示的流程圖來(lái)表示。

(3) 安全告警的實(shí)現(xiàn) 虛擬網(wǎng)絡(luò)異常實(shí)體的告警記錄包含的內(nèi)容如表2所示。告警信息應(yīng)當(dāng)及時(shí)通知安全管理人員處理,本文使用網(wǎng)頁(yè)展示的方式進(jìn)行通知。實(shí)際應(yīng)用中也可以使用電子郵件、短信通知等其他有效的方式。

表2 異常實(shí)體數(shù)據(jù)庫(kù)表格式

續(xù)表2

3 實(shí)驗(yàn)驗(yàn)證

3.1 實(shí)驗(yàn)環(huán)境

本文的實(shí)驗(yàn)環(huán)境部署在3臺(tái)硬件配置相同的物理服務(wù)器上,詳細(xì)配置見(jiàn)表3。我們使用這3臺(tái)服務(wù)器搭建了一套小型的OpenStack環(huán)境。物理服務(wù)器操作系統(tǒng)為CentOS 7,其中一臺(tái)作為控制節(jié)點(diǎn),安裝了MariaDB數(shù)據(jù)庫(kù),其余兩臺(tái)作為計(jì)算節(jié)點(diǎn),并使用Open vSwitch作為虛擬交換機(jī)來(lái)搭建虛擬網(wǎng)絡(luò)。

表3 物理服務(wù)器配置

我們用Python語(yǔ)言編寫(xiě)了用于檢測(cè)虛擬網(wǎng)絡(luò)異常實(shí)體的腳本程序,并如圖5所示部署在計(jì)算節(jié)點(diǎn)的操作系統(tǒng)上。然后開(kāi)啟Linux提供的cron服務(wù),使用crontab命令配置任務(wù),將該腳本程序設(shè)置為每分鐘執(zhí)行一次。控制節(jié)點(diǎn)上部署了Java運(yùn)行環(huán)境,使用Java Web技術(shù)開(kāi)發(fā)安全告警事件的展示頁(yè)面,用于展示檢測(cè)程序?qū)懭霐?shù)據(jù)庫(kù)的安全告警事件。

圖5 異常實(shí)體檢測(cè)程序物理部署

3.2 實(shí)驗(yàn)設(shè)計(jì)和結(jié)果

為了驗(yàn)證本文提出的虛擬網(wǎng)絡(luò)異常實(shí)體檢測(cè)方案的有效性,本文通過(guò)模擬產(chǎn)生虛擬網(wǎng)絡(luò)異常實(shí)體進(jìn)行測(cè)試實(shí)驗(yàn)。通過(guò)比較OpenStack的Dashboard頁(yè)面和虛擬網(wǎng)絡(luò)異常實(shí)體展示頁(yè)面中是否能夠?qū)⑦@些模擬產(chǎn)生的異常實(shí)體正確顯示來(lái)進(jìn)行功能驗(yàn)證。其中:對(duì)于OpenStack,主要查看虛擬網(wǎng)絡(luò)拓?fù)湫畔⒑拖嚓P(guān)操作日志;對(duì)于展示頁(yè)面,主要查看是否正確列出了告警事件。在開(kāi)始實(shí)驗(yàn)之前,首先查看原始的OpenStack網(wǎng)絡(luò)拓?fù)湫畔?,如圖6所示。

圖6 OpenStack原始虛擬網(wǎng)絡(luò)拓?fù)?/p>

本次模擬實(shí)驗(yàn)將利用Open vSwitch提供的管理工具ovs-vsctl命令,繞過(guò)OpenStack的認(rèn)證和請(qǐng)求機(jī)制,直接把圖6中的一臺(tái)名為demo的虛擬機(jī)以篡改虛擬網(wǎng)絡(luò)端口配置的形式從admin-net2網(wǎng)絡(luò)移動(dòng)至admin-net網(wǎng)絡(luò)。

首先登錄demo虛擬機(jī)所在的計(jì)算節(jié)點(diǎn)Compute1,并查看確認(rèn)Open vSwitch中現(xiàn)有虛擬網(wǎng)絡(luò)的配置情況,如圖7所示。通過(guò)OpenStack的Nova模塊可以查出,虛擬機(jī)demo連接在Open vSwitch上的虛擬端口是qvo44f28f88-20。通過(guò)Neutron模塊和ovs-db可以查出,admin-net對(duì)應(yīng)在Compute1上的Open vSwitch虛擬網(wǎng)絡(luò)VLAN tag是1,admin-net2對(duì)應(yīng)的VLAN tag是3。于是使用ovs-vsctl set port qvo44f28f88-20 tag=1命令就實(shí)現(xiàn)了把虛擬機(jī)demo從原本所在的admin-net2網(wǎng)絡(luò)篡改到了admin-net網(wǎng)絡(luò),從而成功模擬出來(lái)第二類(lèi)虛擬網(wǎng)絡(luò)異常實(shí)體。成功模擬攻擊后,分別查看OpenStack的Dashboard界面上的網(wǎng)絡(luò)拓?fù)湟约疤摂M網(wǎng)絡(luò)異常實(shí)體展示頁(yè)面,結(jié)果是OpenStack上顯示的網(wǎng)絡(luò)拓?fù)渑c改變網(wǎng)絡(luò)以前完全一致,并未發(fā)現(xiàn)系統(tǒng)中出現(xiàn)了異常實(shí)體。而在異常實(shí)體展示頁(yè)面上,則可以看到詳細(xì)的告警信息,告知管理人員虛擬網(wǎng)絡(luò)異常實(shí)體所在的主機(jī)、異常實(shí)體的類(lèi)型、被檢測(cè)出的時(shí)間、相關(guān)聯(lián)的Open vSwitch虛擬端口名稱(chēng)、虛擬機(jī)的UUID、MAC地址以及攻擊前后端VLAN tag等,并提示安全管理人員進(jìn)行處理。

圖7 Open vSwitch端口信息

實(shí)驗(yàn)表明,本文設(shè)計(jì)的虛擬網(wǎng)絡(luò)異常實(shí)體檢測(cè)方案確有實(shí)效,其他類(lèi)型的虛擬網(wǎng)絡(luò)異常實(shí)體可以通過(guò)類(lèi)似的實(shí)驗(yàn)加以證明。

4 結(jié) 語(yǔ)

本文探討了當(dāng)前以O(shè)penStack為代表的松耦合架構(gòu)的云平臺(tái)中存在的虛擬網(wǎng)絡(luò)異常實(shí)體問(wèn)題,并提出了一種檢測(cè)方案。該方案可以及時(shí)有效地發(fā)現(xiàn)系統(tǒng)中存在的虛擬網(wǎng)絡(luò)異常實(shí)體,并通過(guò)實(shí)驗(yàn)驗(yàn)證了這一點(diǎn)。在接下來(lái)的工作中,我們準(zhǔn)備結(jié)合操作日志,引入日志關(guān)聯(lián)分析的有關(guān)技術(shù)來(lái)還原這些異常實(shí)體產(chǎn)生的操作現(xiàn)場(chǎng),使得安全管理人員不僅能夠及時(shí)發(fā)現(xiàn)問(wèn)題,還能查明問(wèn)題產(chǎn)生的原因,從而能夠更加全面地掌握系統(tǒng)的運(yùn)行情況,最終可以更加高效地處理這些安全問(wèn)題。

猜你喜歡
交換機(jī)端口實(shí)體
面向未來(lái)網(wǎng)絡(luò)的白盒交換機(jī)體系綜述
一種有源二端口網(wǎng)絡(luò)參數(shù)計(jì)算方法
一種端口故障的解決方案
局域網(wǎng)交換機(jī)管理IP的規(guī)劃與配置方案的探討
多按鍵情況下,單片機(jī)端口不足的解決方法
前海自貿(mào)區(qū):金融服務(wù)實(shí)體
更換匯聚交換機(jī)遇到的問(wèn)題
現(xiàn)有網(wǎng)絡(luò)架構(gòu)及遷移方案
實(shí)體書(shū)店步入復(fù)興期?
基于地鐵交換機(jī)電源設(shè)計(jì)思考