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