專利名稱:一種虛擬機(jī)互訪安全控制方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬化技術(shù),尤其涉及一種虛擬機(jī)互訪安全控制方法及裝置。
背景技術(shù):
數(shù)據(jù)中心通常包括三個(gè)主要的組成部分計(jì)算、網(wǎng)絡(luò)和存儲(chǔ);這三個(gè)部分都在向虛擬化方向發(fā)展。其中作為計(jì)算資源的服務(wù)器的虛擬化是云計(jì)算中的核心技術(shù)之一,也是目前發(fā)展最為成熟的虛擬化技術(shù)。傳統(tǒng)服務(wù)器由于服務(wù)器性能和網(wǎng)絡(luò)通信端口的不匹配等問(wèn)題導(dǎo)致服務(wù)器計(jì)算性能可能被閑置。而服務(wù)器的虛擬化技術(shù),則可以將單臺(tái)物理服務(wù)器虛擬出多臺(tái)虛擬機(jī)并獨(dú)立安裝各自的操作系統(tǒng)和應(yīng)用程序,從而有效提升服務(wù)器本身硬件資源的利用效率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種虛擬機(jī)互訪安全控制裝置,應(yīng)用于物理服務(wù)器上,其中該物理服務(wù)器上預(yù)先創(chuàng)建有至少兩個(gè)虛擬機(jī),該裝置包括隧道處理模塊、虛擬交換模塊以及虛擬過(guò)濾模塊;其中虛擬過(guò)濾模塊,用于根據(jù)預(yù)設(shè)的過(guò)濾規(guī)則對(duì)虛擬機(jī)發(fā)送的二層報(bào)文進(jìn)行過(guò)濾,如果該二層報(bào)文命中所述過(guò)濾規(guī)則,則將該二層報(bào)文提交隧道處理模塊進(jìn)行處理;虛擬交換模塊,用于根據(jù)二層報(bào)文的目的MAC地址對(duì)該二層報(bào)文進(jìn)行轉(zhuǎn)發(fā);隧道處理模塊,用于與負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備建立隧道連接,對(duì)收到的二層報(bào)文進(jìn)行隧道封裝形成隧道報(bào)文,通過(guò)隧道連接將該隧道報(bào)文發(fā)送給所述負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備;其中該隧道處理模 塊進(jìn)一步用于接收外部網(wǎng)絡(luò)發(fā)送的隧道報(bào)文,對(duì)該隧道報(bào)文進(jìn)行解封裝獲得通過(guò)安全處理的二層報(bào)文,并將該二層報(bào)文提交給虛擬交換模塊。本發(fā)明還提供一種虛擬機(jī)互訪安全控制方法,應(yīng)用于物理服務(wù)器上,其中該物理服務(wù)器上預(yù)先創(chuàng)建有至少兩個(gè)虛擬機(jī),其中該方法包括以下步驟步驟A、根據(jù)預(yù)設(shè)的過(guò)濾規(guī)則對(duì)虛擬機(jī)發(fā)送的二層報(bào)文進(jìn)行過(guò)濾,如果該二層報(bào)文命中所述過(guò)濾規(guī)則,則轉(zhuǎn)步驟C進(jìn)行處理;步驟B、根據(jù)二層報(bào)文的目的MAC地址對(duì)該二層報(bào)文進(jìn)行轉(zhuǎn)發(fā);步驟C、與負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備建立隧道連接,對(duì)收到的二層報(bào)文進(jìn)行隧道封裝形成隧道報(bào)文,通過(guò)隧道連接將該隧道報(bào)文發(fā)送給所述負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備;步驟D、接收外部網(wǎng)絡(luò)發(fā)送的隧道報(bào)文,對(duì)該隧道報(bào)文進(jìn)行解封裝獲得通過(guò)安全處理的二層報(bào)文并轉(zhuǎn)步驟B進(jìn)行轉(zhuǎn)發(fā)。本發(fā)明巧妙地利用隧道技術(shù)實(shí)現(xiàn)將虛擬機(jī)互訪報(bào)文重定向到外部網(wǎng)絡(luò)設(shè)備上進(jìn)行安全檢查,在實(shí)現(xiàn)上巧妙利用了各種成熟機(jī)制,可以避免對(duì)外部網(wǎng)絡(luò)設(shè)備進(jìn)行修改而引發(fā)的實(shí)現(xiàn)成本高昂的問(wèn)題,并且服務(wù)器端的設(shè)計(jì)方案更加簡(jiǎn)潔且成本更低。
圖1是一種典型的物理服務(wù)器虛擬化之后的架構(gòu)示意圖。圖2是一種實(shí)施方式中服務(wù)器與外部網(wǎng)絡(luò)設(shè)備邏輯層面交互示意圖。圖3是一種實(shí)施方式中安全控制過(guò)程的處理流程圖。
具體實(shí)施例方式請(qǐng)參考圖1,服務(wù)器的虛擬化架構(gòu)是在物理服務(wù)器上弓I入虛擬化層,其是一種中間層虛擬化軟件,主要用于創(chuàng)建虛擬機(jī)(Virtual Machine, VM),并為虛擬機(jī)分配合理的硬件資源,比如CPU中的一個(gè)或者多個(gè)內(nèi)核(即CPU中集成的一個(gè)或多個(gè)完整的計(jì)算引擎)分配給虛擬機(jī)I等。虛擬機(jī)從邏輯功能上看,與傳統(tǒng)的物理服務(wù)器并無(wú)區(qū)別,擁有自己的操作系統(tǒng),并可以在操作系統(tǒng)之上安裝各種應(yīng)用。在數(shù)據(jù)中心的物理服務(wù)器被廣泛虛擬化后,安全問(wèn)題也就相應(yīng)產(chǎn)生了。在計(jì)算機(jī)網(wǎng)絡(luò)以及軟件技術(shù)中,任何新增的功能都可能存在安全問(wèn)題而需要加以考慮。虛擬化軟件相當(dāng)于在已知傳統(tǒng)安全威脅(如針對(duì)操作系統(tǒng)和應(yīng)用程序的攻擊)基礎(chǔ)上引入了新的安全威脅。例如針對(duì)虛擬化軟件及對(duì)應(yīng)管理平臺(tái)的漏洞攻擊。在虛擬化環(huán)境下,單臺(tái)物理服務(wù)器上的各虛擬機(jī)之間可能存在直接的二層流量交換,通常這種二層交換并不需要經(jīng)過(guò)外置的二層交換機(jī),管理員對(duì)于該部分報(bào)文流量既不可控也不可見(jiàn)。因此管理員面臨的挑戰(zhàn)是如何確保虛擬機(jī)之間的互相訪問(wèn)符合預(yù)定的安全策略。如果該虛擬機(jī)之間的訪問(wèn)互訪被允許,如何判斷這些訪問(wèn)是否存在攻擊行為。目前針對(duì)上述問(wèn)題有一些解決方案,比如Cisco公司提出的Cisco802.1BR技術(shù),該技術(shù)方案的設(shè)計(jì)思路是將虛擬機(jī)互訪報(bào)文流量重定向到外部接入交換機(jī)或其他網(wǎng)絡(luò)設(shè)備上的外置安全模塊進(jìn)行安全控制。在該方案中,將流量重定向到接入交換機(jī)的方式需要同時(shí)在Hypervisor層面、服務(wù)器網(wǎng)卡層面和接入交換機(jī)層面做出修改,具體來(lái)說(shuō)802.1BR技術(shù)需要在hypervisor層面進(jìn)行重定向修改,并且每一個(gè)虛擬機(jī)需要有相應(yīng)的虛擬通道和位于接入交換機(jī)上的虛擬端口,需要接入交換機(jī)做較大的修改來(lái)支持,技術(shù)實(shí)現(xiàn)難度大。
請(qǐng)參考圖2以及圖3,本發(fā)明在一個(gè)實(shí)施方式中提供一種實(shí)現(xiàn)虛擬機(jī)互訪控制裝置以及對(duì)應(yīng)的處理方法。該裝置應(yīng)用于物理服務(wù)器上,其中該物理服務(wù)器可采用當(dāng)前各種流行的硬件架構(gòu),包括CPU、內(nèi)存、存儲(chǔ)器以及網(wǎng)卡等基本硬件。該裝置包括隧道處理模塊、虛擬過(guò)濾模塊以及虛擬交換模塊。請(qǐng)參考圖2的中虛擬機(jī)交互內(nèi)部虛擬網(wǎng)絡(luò)交互示意,在一種實(shí)施方式中,該裝置可以理解為對(duì)服務(wù)器內(nèi)部的虛擬交換機(jī)VSwitch功能的改進(jìn),該裝置運(yùn)行在服務(wù)器上執(zhí)行如下的處理過(guò)程。步驟101,服務(wù)器的虛擬化模塊創(chuàng)建一個(gè)或者多個(gè)虛擬機(jī),為虛擬機(jī)分配硬件資源;步驟102,隧道處理模塊,與負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備建立隧道連接;步驟103,從自身的虛擬二層端口接收第一虛擬機(jī)發(fā)送的二層報(bào)文并將該二層報(bào)文提交給虛擬過(guò)濾模塊處理;步驟104,虛擬過(guò)濾模塊根據(jù)預(yù)設(shè)過(guò)濾規(guī)則對(duì)該二層報(bào)文進(jìn)行過(guò)濾,如果該二層報(bào)文命中所述過(guò)濾規(guī)則,則轉(zhuǎn)步驟105由隧道處理模塊對(duì)該二層報(bào)文進(jìn)行處理,否則丟棄該報(bào)文或者轉(zhuǎn)步驟10由虛擬交換模塊繼續(xù)處理。步驟105,隧道處理模塊,用于對(duì)二層報(bào)文進(jìn)行隧道封裝形成隧道報(bào)文,并通過(guò)隧道連接發(fā)送給所述負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備;步驟106,外部網(wǎng)絡(luò)設(shè)備從隧道上接收到來(lái)自服務(wù)器的隧道報(bào)文,對(duì)該隧道報(bào)文中進(jìn)行解封裝獲得其中的二層報(bào)文;步驟107,外部網(wǎng)絡(luò)設(shè)備利用自身的安全處理模塊按照預(yù)定的安全規(guī)則對(duì)該二層報(bào)文進(jìn)行安全處理;并將通過(guò)安全處理的二層報(bào)文進(jìn)行封裝形成隧道報(bào)文,然后通過(guò)隧道連接發(fā)送給服務(wù)器;步驟108,隧道處理模塊接收外部網(wǎng)絡(luò)發(fā)送的隧道報(bào)文,對(duì)該隧道報(bào)文進(jìn)行解封裝獲得通過(guò)安全處理的二層報(bào)文,并將該二層報(bào)文提交給虛擬交換模塊;步驟109,虛擬交換模塊,根據(jù)二層報(bào)文的目的MAC地址對(duì)該二層報(bào)文進(jìn)行轉(zhuǎn)發(fā)。在本實(shí)施方式中,各個(gè)模塊以及虛擬結(jié)構(gòu)均可以理解為計(jì)算機(jī)程序在CPU上運(yùn)行形成的邏輯模塊或者結(jié)構(gòu),其代表了計(jì)算機(jī)程序的實(shí)體功能。目前,在數(shù)據(jù)中心中的主流物理服務(wù)器通??梢詣?chuàng)建多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)所分配到的硬件資源不盡相同,各個(gè)虛擬機(jī)使用的操作系統(tǒng)以及上層應(yīng)用也不盡相同。有的虛擬機(jī)可以作為Web服務(wù)器,有的虛擬機(jī)作為數(shù)據(jù)庫(kù)服務(wù)器,有的虛擬機(jī)作為網(wǎng)絡(luò)應(yīng)用服務(wù)器,比如DNS服務(wù)器或者DHCP服務(wù)器,有的虛擬機(jī)可能作為其他應(yīng)用服務(wù)器。這些虛擬機(jī)通常由虛擬化模塊來(lái)創(chuàng)建,虛擬化模塊可以依據(jù)用戶的需求來(lái)分配硬件資源,而其上的操作系統(tǒng)以及應(yīng)用通常由用戶自行安裝。在傳統(tǒng)網(wǎng)絡(luò)中,幾個(gè)物理上相互靠近的物理服務(wù)器需要接入網(wǎng)絡(luò)時(shí),人們通常使用交換機(jī)來(lái)實(shí)現(xiàn)這一目標(biāo)。由于虛擬機(jī)本質(zhì)功能上與服務(wù)器是相同的,虛擬機(jī)接入網(wǎng)絡(luò)則由物理服務(wù)器內(nèi)部虛擬交換機(jī)來(lái)實(shí)現(xiàn)。在本實(shí)施方式中,虛擬交換機(jī)也由作為中間層虛擬化軟件的虛擬化模塊創(chuàng)建,其包括虛擬交換模塊,連接各個(gè)虛擬機(jī)的虛擬端口,虛擬過(guò)濾過(guò)濾模塊以及隧道處理模塊。虛擬交換機(jī)包括了很多普通物理交換機(jī)所具有的基礎(chǔ)功能。比如說(shuō)虛擬過(guò)濾模塊的設(shè) 計(jì)可以參考物理交換芯片中的ACL機(jī)制實(shí)現(xiàn)。同一個(gè)物理服務(wù)器中的各個(gè)虛擬機(jī)之間存在通信需求,如果虛擬機(jī)被劃分到不同的二層網(wǎng)絡(luò)中,比如第一和第二虛擬機(jī)歸分別被規(guī)劃在不同的VLAN (Virtual Local AreaNetwork,虛擬局域網(wǎng))中,那么第一及第二虛擬機(jī)之間的互相訪問(wèn)最終是要通過(guò)外部的網(wǎng)關(guān)設(shè)備才能實(shí)現(xiàn)的,二者的通信在本質(zhì)上是三層的IP通信,請(qǐng)參考圖2中帶有箭頭的線條。由于三層通信會(huì)經(jīng)過(guò)外部的網(wǎng)絡(luò)設(shè)備,利用中間網(wǎng)絡(luò)設(shè)備(比如接入交換機(jī))上部署的安全控制模塊就可以進(jìn)行安全處理,這樣可以確保雙方的互訪是相對(duì)安全可靠的。事實(shí)上,管理員可能將多個(gè)虛擬機(jī)規(guī)劃在同一個(gè)VLAN中。如果第一及第二虛擬機(jī)屬于同一個(gè)VLAN,二者在同一個(gè)廣播域,此時(shí)第一及第二虛擬機(jī)之間的通信是不需要經(jīng)過(guò)網(wǎng)關(guān)設(shè)備的。第一及第二虛擬機(jī)可以通過(guò)ARP協(xié)議知曉對(duì)方的MAC地址,于是在發(fā)送二層報(bào)文時(shí),使用的目的MAC地址就是對(duì)方的MAC地址,而三層通信中目的MAC地址通常是網(wǎng)關(guān)的MAC地址。第一及第二虛擬交換機(jī)互相通信時(shí)發(fā)送的報(bào)文到達(dá)虛擬交換機(jī)時(shí),虛擬交換機(jī)可以查找MAC地址表執(zhí)行二層轉(zhuǎn)發(fā)。如果不做特別處理,這意味著兩個(gè)虛擬機(jī)之間的二層通信過(guò)程中交互的報(bào)文是沒(méi)有經(jīng)過(guò)安全處理的。在本發(fā)明中,第一虛擬機(jī)發(fā)送給第二虛擬機(jī)的報(bào)文到達(dá)虛擬交換機(jī)的虛擬端口時(shí),虛擬交換機(jī)的各個(gè)模塊可以對(duì)此進(jìn)行控制。首先,可以執(zhí)行步驟103將所有從虛擬端口(可理解為虛擬交換機(jī)的接入端口)收到的二層報(bào)文先送到虛擬過(guò)濾模塊進(jìn)行過(guò)濾。在不少應(yīng)用場(chǎng)景中,不是所有的二層報(bào)文的處理流程都相同的,比如說(shuō),有一些類型的報(bào)文可以通過(guò)虛擬交換模塊進(jìn)行單純的轉(zhuǎn)發(fā)即可,有一些報(bào)文需要立即丟棄,還有一些報(bào)文則需要送到外部網(wǎng)絡(luò)設(shè)備上進(jìn)行安全處理。當(dāng)然,需要說(shuō)明的是,步驟103對(duì)于本發(fā)明來(lái)說(shuō)并不是必須的。請(qǐng)參考表I的示例,過(guò)濾通常是基于報(bào)文的特征進(jìn)行的,常用的包括源MAC地址、源IP地址、目的IP地址、目的MAC地址、Vlan以及協(xié)議類型等。
權(quán)利要求
1.一種虛擬機(jī)互訪安全控制裝置,應(yīng)用于物理服務(wù)器上,其中該物理服務(wù)器上預(yù)先創(chuàng)建有至少兩個(gè)虛擬機(jī),該裝置包括隧道處理模塊、虛擬交換模塊以及虛擬過(guò)濾模塊;其特征在于虛擬過(guò)濾模塊,用于根據(jù)預(yù)設(shè)的過(guò)濾規(guī)則對(duì)虛擬機(jī)發(fā)送的二層報(bào)文進(jìn)行過(guò)濾,如果該二層報(bào)文命中所述過(guò)濾規(guī)則,則將該二層報(bào)文提交隧道處理模塊進(jìn)行處理;虛擬交換模塊,用于根據(jù)二層報(bào)文的目的MAC地址對(duì)該二層報(bào)文進(jìn)行轉(zhuǎn)發(fā);隧道處理模塊,用于與負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備建立隧道連接,對(duì)收到的二層報(bào)文進(jìn)行隧道封裝形成隧道報(bào)文,通過(guò)隧道連接將該隧道報(bào)文發(fā)送給所述負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備;其中該隧道處理模塊進(jìn)一步用于接收外部網(wǎng)絡(luò)發(fā)送的隧道報(bào)文,對(duì)該隧道報(bào)文進(jìn)行解封裝獲得通過(guò)安全處理的二層報(bào)文,并將該二層報(bào)文提交給虛擬交換模塊。
2.如權(quán)利要求1所述的裝置,其特征在于所述隧道為GRE隧道。
3.如權(quán)利要求1所述的裝置,其特征在于所述隧道處理單元,進(jìn)一步用于使用多個(gè)隧道接口與負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備建立多條隧道連接;所述虛擬過(guò)濾模塊進(jìn)一步用于將命中不同過(guò)濾規(guī)則的二層報(bào)文提交給對(duì)應(yīng)的隧道接口。
4.如權(quán)利要求1所述的裝置,其特征在于,虛擬過(guò)濾模塊進(jìn)一步用于在所述二層報(bào)文沒(méi)有命中過(guò)濾規(guī)則時(shí),將該二層報(bào)文提交給虛擬交換模塊或者將該二層報(bào)文丟棄。
5.一種虛擬機(jī)互訪安全控制方法,應(yīng)用于物理服務(wù)器上,其中該物理服務(wù)器上預(yù)先創(chuàng)建有至少兩個(gè)虛擬機(jī),其特征在于,該方法包括以下步驟步驟A、根據(jù)預(yù)設(shè)的過(guò)濾規(guī)則對(duì)虛擬機(jī)發(fā)送的二層報(bào)文進(jìn)行過(guò)濾,如果該二層報(bào)文命中所述過(guò)濾規(guī)則,則轉(zhuǎn)步驟C進(jìn)行處理;步驟B、根據(jù)二層報(bào)文的目的MAC地址對(duì)該二層報(bào)文進(jìn)行轉(zhuǎn)發(fā);步驟C、與負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備建立隧道連接,對(duì)收到的二層報(bào)文進(jìn)行隧道封裝形成隧道報(bào)文,通過(guò)隧道連接將該隧道報(bào)文發(fā)送給所述負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備;步驟D、接收外部網(wǎng)絡(luò)發(fā)送的隧道報(bào)文,對(duì)該隧道報(bào)文進(jìn)行解封裝獲得通過(guò)安全處理的二層報(bào)文并轉(zhuǎn)步驟B進(jìn)行轉(zhuǎn)發(fā)。
6.如權(quán)利要求5所述的方法,其特征在于所述隧道為GRE隧道。
7.如權(quán)利要求5所述的方法,其特征在于所述步驟C進(jìn)一步包括使用多個(gè)隧道接口與負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備建立多條隧道連接;所述步驟B進(jìn)一步包括將命中不同過(guò)濾規(guī)則的二層報(bào)文提交給對(duì)應(yīng)的隧道接口。
8.如權(quán)利要求5所述的方法,其特征在于所述步驟B進(jìn)一步包括在所述二層報(bào)文沒(méi)有命中過(guò)濾規(guī)則時(shí),轉(zhuǎn)步驟B進(jìn)行轉(zhuǎn)發(fā)或者將該二層報(bào)文丟棄。
全文摘要
本發(fā)明提供一種虛擬機(jī)互訪安全控制方法及對(duì)應(yīng)裝置,該方法包括A、根據(jù)預(yù)設(shè)的過(guò)濾規(guī)則對(duì)虛擬機(jī)發(fā)送的二層報(bào)文進(jìn)行過(guò)濾,如果該二層報(bào)文命中所述過(guò)濾規(guī)則,則轉(zhuǎn)C進(jìn)行處理;B、根據(jù)二層報(bào)文的目的MAC地址對(duì)該二層報(bào)文進(jìn)行轉(zhuǎn)發(fā);C、與負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備建立隧道連接,對(duì)收到的二層報(bào)文進(jìn)行隧道封裝形成隧道報(bào)文,通過(guò)隧道連接將該隧道報(bào)文發(fā)送給所述負(fù)責(zé)安全處理的外部網(wǎng)絡(luò)設(shè)備;D、接收外部網(wǎng)絡(luò)發(fā)送的隧道報(bào)文,對(duì)該隧道報(bào)文進(jìn)行解封裝獲得通過(guò)安全處理的二層報(bào)文并轉(zhuǎn)B進(jìn)行轉(zhuǎn)發(fā)。本發(fā)明可以避免對(duì)外部網(wǎng)絡(luò)設(shè)備進(jìn)行修改而引發(fā)的實(shí)現(xiàn)成本高昂的問(wèn)題,并且服務(wù)器的改進(jìn)也很簡(jiǎn)單。
文檔編號(hào)H04L29/06GK103067270SQ20131000725
公開(kāi)日2013年4月24日 申請(qǐng)日期2013年1月8日 優(yōu)先權(quán)日2013年1月8日
發(fā)明者孫松兒, 韓小平 申請(qǐng)人:杭州華三通信技術(shù)有限公司