連接虛擬環(huán)境與DMZ網(wǎng)絡(luò)架構(gòu)
在物理環(huán)境中,DMZ網(wǎng)絡(luò)可以為內(nèi)部網(wǎng)絡(luò)和互聯(lián)網(wǎng)提供緩沖,保證同時(shí)連接到兩個(gè)網(wǎng)絡(luò)上的服務(wù)器的安全。然而,當(dāng)虛擬環(huán)境與DMZ網(wǎng)絡(luò)架構(gòu)連接時(shí),仍然會(huì)出現(xiàn)新的安全問(wèn)題,因此,網(wǎng)絡(luò)管理員必須采用新的設(shè)計(jì)方法來(lái)應(yīng)對(duì)這些挑戰(zhàn)。
DMZ網(wǎng)絡(luò)是如何支持物理環(huán)境的
作為內(nèi)部網(wǎng)絡(luò)和互聯(lián)網(wǎng)的緩沖,DMZ網(wǎng)絡(luò)是由防火墻保護(hù)的,它能夠根據(jù)IP地址和TCP/IP端口號(hào)阻擋網(wǎng)絡(luò)流量。
在物理環(huán)境中,服務(wù)器與一個(gè)獨(dú)立的網(wǎng)絡(luò)交換機(jī)相連,交換機(jī)由一臺(tái)物理防火墻保護(hù),防火墻再與DMZ交換機(jī)、內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)相連。服務(wù)器本身能夠直接與DMZ連接,并且它與內(nèi)部和外部網(wǎng)絡(luò)的連接是受防火墻保護(hù)的。如果服務(wù)器受到攻擊,攻擊者只能訪問(wèn)DMZ網(wǎng)絡(luò),而無(wú)法繞過(guò)防火墻訪問(wèn)內(nèi)部網(wǎng)絡(luò)。
DMZ中的任何服務(wù)都只能與DMZ交換機(jī)相連,并且不能夠同時(shí)物理連接到DMZ網(wǎng)絡(luò)和內(nèi)部網(wǎng)絡(luò)。如果服務(wù)器同時(shí)連接這兩個(gè)網(wǎng)絡(luò),那么它實(shí)際上就變成一個(gè)橋梁,當(dāng)受到攻擊時(shí),攻擊者就可以利用它繞過(guò)防火墻直接到達(dá)內(nèi)部網(wǎng)絡(luò)。然而,通過(guò)分離內(nèi)部網(wǎng)絡(luò),DMZ網(wǎng)絡(luò)和外部互聯(lián)網(wǎng)都能夠正常工作。
將虛擬機(jī)連接到DMZ網(wǎng)絡(luò)的問(wèn)題
虛擬化后,用DMZ網(wǎng)絡(luò)隔離物理服務(wù)器的傳統(tǒng)方法就無(wú)法正常生效了,其原因如下:
虛擬化是將許多虛擬服務(wù)器實(shí)例整合到一個(gè)物理服務(wù)器上。結(jié)果,一臺(tái)宿主就包含了許多個(gè)不同功能和需求的虛擬機(jī)。一般情況下,一個(gè)宿主會(huì)連接多個(gè)物理網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)虛擬機(jī)的VLAN需求。它通常使用 802.1Q VLAN標(biāo)記方法,因此在一個(gè)物理網(wǎng)卡上支持多個(gè)VLAN所需要的網(wǎng)卡就會(huì)少一些?;谧畲蠡Y源使用率的原因,虛擬化的整合率一般都比較高,因此設(shè)置專用宿主來(lái)構(gòu)建DMZ環(huán)境會(huì)讓虛擬化顯得不劃算。
物理網(wǎng)絡(luò)擴(kuò)展到了一個(gè)擁有各自虛擬網(wǎng)卡和交換機(jī)網(wǎng)絡(luò)的虛擬宿主上,這個(gè)網(wǎng)絡(luò)的管理是與物理網(wǎng)絡(luò)是獨(dú)立的。物理防火墻無(wú)法控制虛擬網(wǎng)絡(luò),并且流量不會(huì)離開(kāi)無(wú)保護(hù)的宿主。
每一個(gè)宿主本身都擁有一個(gè)控制宿主中所有虛擬機(jī)的管理控制臺(tái)——或者虛擬機(jī)。如果管理控制臺(tái)受到攻擊,那么宿主中所有虛擬機(jī)也會(huì)受到攻擊,因此它無(wú)法連接到DMZ網(wǎng)絡(luò)。
結(jié)果,當(dāng)把虛擬環(huán)境連接到DMZ網(wǎng)絡(luò)架構(gòu)時(shí),你需要采用一些適用于虛擬化架構(gòu)的設(shè)計(jì)方法。
將虛擬機(jī)連接到DMZ網(wǎng)絡(luò)架構(gòu)的方法
有幾個(gè)方法可以將宿主和虛擬機(jī)連接到DMZ網(wǎng)絡(luò)架構(gòu)上,并且它們都有一個(gè)共同點(diǎn):宿主的管理控制臺(tái)與內(nèi)部網(wǎng)絡(luò)連接。這似乎違反了一個(gè)基本原則,即物理服務(wù)器不能同時(shí)連接公共和私有網(wǎng)絡(luò),否則它就變成兩種網(wǎng)絡(luò)的開(kāi)放橋梁了。雖然在運(yùn)行傳統(tǒng)操作系統(tǒng)的服務(wù)器上,這種做法是不允許的,但是在諸如vSphere的裸機(jī)(Type 1)虛擬機(jī)管理程序上則是可行的。
Type 1虛擬機(jī)管理程序是專門(mén)用來(lái)隔離和劃分虛擬機(jī)與vSwitch的。如果一個(gè)虛擬機(jī)受到攻擊,那么攻擊者就能夠獲得虛擬機(jī)操作系統(tǒng)的全部訪問(wèn)權(quán)限。雖然他們能夠在操作系統(tǒng)層破壞虛擬機(jī),但是他們無(wú)法訪問(wèn)或破壞虛擬機(jī)管理程序而訪問(wèn)其他的虛擬機(jī)或宿主網(wǎng)絡(luò)。這是經(jīng)過(guò)驗(yàn)證的設(shè)計(jì),VMware從未報(bào)告過(guò)ESX和ESXi虛擬機(jī)管理程序受到過(guò)此類攻擊。
然而,這個(gè)管理控制臺(tái)必須位于內(nèi)部網(wǎng)絡(luò),不能位于DMZ,因?yàn)樗軌蛟L問(wèn)宿主上的每一個(gè)虛擬機(jī),這個(gè)風(fēng)險(xiǎn)非常大。#p#
使用vSwitch管理DMZ網(wǎng)絡(luò)的虛擬機(jī)
連接DMZ的宿主的其他部分網(wǎng)絡(luò)架構(gòu)可以采用幾種不同的方式實(shí)現(xiàn)。在使用標(biāo)記時(shí),虛擬交換機(jī)(vSwitch)可以支持多個(gè)物理網(wǎng)卡和多個(gè)VLAN。一個(gè)宿主可以擁有多個(gè)vSwitch,但是物理網(wǎng)卡必須對(duì)應(yīng)一個(gè)專用的vSwitch,而且它不能在多個(gè)網(wǎng)卡中共享。通常多個(gè)vSwitch會(huì)對(duì)應(yīng)一個(gè)專屬的宿主功能或虛擬機(jī)組。此外,vSwitch一般擁有多個(gè)物理網(wǎng)卡,以備故障恢復(fù)和負(fù)載均衡。
當(dāng)在一個(gè)宿主上創(chuàng)建DMZ網(wǎng)絡(luò)架構(gòu)時(shí),必須符合一條黃金法則:要專門(mén)使用一個(gè)vSwitch連接DMZ并且不能把它共享給任何內(nèi)部VLAN。通過(guò)這種方式將DMZ流量與其本身的物理網(wǎng)卡隔離,這樣,它就不會(huì)共享任何來(lái)自私有網(wǎng)絡(luò)的虛擬機(jī)流量。vSwitch實(shí)際上是一個(gè)軟件2層交換機(jī),它位于宿主的RAM中,宿主的物理網(wǎng)卡(上行鏈路)與分配給虛擬機(jī)的虛擬網(wǎng)卡相連。每一個(gè)vSwitch之間都是相互隔離的,后臺(tái)不存在連接vSwitch的鏈路。如果一個(gè)vSwitch的虛擬機(jī)需要連接相同宿主中另一個(gè)vSwitch的虛擬機(jī),那么它需要經(jīng)過(guò)物理網(wǎng)絡(luò),這樣傳統(tǒng)的物理網(wǎng)絡(luò)安全機(jī)制就能夠保護(hù)和隔離vSwitch之間的流量。通過(guò)給DMZ分配一個(gè)專用的vSwitch,你就能夠使用傳統(tǒng)的物理防火墻來(lái)保護(hù)DMZ,同時(shí)保證它與可能連接內(nèi)部網(wǎng)絡(luò)宿主的其他vSwitch是隔離的。
VLAN標(biāo)記如何支持DMZ網(wǎng)絡(luò)中多個(gè)VLAN
你可以使用vSwitch內(nèi)的VLAN標(biāo)記對(duì)DMZ網(wǎng)絡(luò)進(jìn)行進(jìn)一步劃分,從而在DMZ中實(shí)現(xiàn)多個(gè)VLAN。然而,有時(shí)候你也可能需要對(duì)虛擬機(jī)進(jìn)行物理隔離,這樣你就能夠創(chuàng)建多個(gè)其物理網(wǎng)卡與DMZ網(wǎng)絡(luò)相連接的vSwitch。因此,每一個(gè)vSwitch都能得到物理防火墻的保護(hù);同時(shí)內(nèi)部虛擬機(jī)流量會(huì)被強(qiáng)制通過(guò)一個(gè)物理防火墻。
所以,你在一個(gè)宿主上提供一個(gè)或多個(gè)專用的vSwitch來(lái)連接DMZ網(wǎng)絡(luò)——你可以將整個(gè)宿主專用于只連接DMZ的虛擬機(jī)嗎?如果你希望實(shí)現(xiàn)更優(yōu)的安全和內(nèi)部網(wǎng)絡(luò)虛擬機(jī)隔離,那么你可以這樣做,但是將vSwitch同時(shí)連接到同一個(gè)宿主的內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)也是一種常見(jiàn)的做法。正如我們之前介紹的,這是可以的,因?yàn)樘摂M機(jī)管理程序能夠隔離來(lái)自不同vSwitch的流量。下面是一個(gè)典型網(wǎng)絡(luò)配置圖,其中一臺(tái)宿主連接到一個(gè)DMZ網(wǎng)絡(luò),它部署了獨(dú)立的vSwitch來(lái)處理DMZ網(wǎng)絡(luò)虛擬機(jī)流量、內(nèi)部網(wǎng)虛擬機(jī)流量和管理控制臺(tái)流量。
這種設(shè)計(jì)可以使你提高宿主資源使用率,因?yàn)槟憧赡苤挥猩贁?shù)虛擬機(jī)需要連接DMZ。將整個(gè)宿主專門(mén)用來(lái)連接DMZ可能會(huì)浪費(fèi)資源。每一個(gè)vSwitch都擁有自已的物理網(wǎng)卡,它們連接獨(dú)立的物理交換機(jī),而這些交換機(jī)通過(guò)物理防火墻與其他網(wǎng)絡(luò)隔離。
連接互聯(lián)網(wǎng)總是存在一定的風(fēng)險(xiǎn),但是,如果你做出了明智的決定,那么你可以將一個(gè)宿主連接到DMZ網(wǎng)絡(luò)。安全的DMZ網(wǎng)絡(luò)架構(gòu)必須在虛擬和物理層面上,同時(shí)包含正確的設(shè)計(jì)和安全控制。這樣,你才能夠安全地提高虛擬化帶給DMZ環(huán)境的優(yōu)勢(shì)。
【編輯推薦】