單慶元 南 峰
(大連工業(yè)大學網(wǎng)絡(luò)信息中心 遼寧大連 116034)
(shanqy@dlpu.edu.cn)
云平臺得到廣泛使用之后帶來巨大益處的同時,云平臺的安全風險問題也不容忽視,尤其是云平臺內(nèi)部虛擬服務(wù)器之間的訪問控制問題(東西向流量[1-5]的控制問題).為此,網(wǎng)絡(luò)安全廠商也針對性地給出了多種解決方案,主要分成3類:1)在虛擬機上安裝安全代理,該方法對虛擬機的操作系統(tǒng)有較強的依賴性.2)將安全系統(tǒng)部署到虛擬機上,在云平臺內(nèi)進行引流處理[6].該方法的問題是在云平臺中虛擬機之間的大量數(shù)據(jù)來回流動會引發(fā)性能問題,盡管INTEL DPDK[7-8]技術(shù)可緩解該問題.3)基于Hypervisor的控制方式.另外上述的虛擬服務(wù)器的安全控制實現(xiàn)需要一定的資金,這對于費用不足的單位來說是個負擔.
實體服務(wù)器網(wǎng)絡(luò)中,網(wǎng)絡(luò)應(yīng)用服務(wù)是由實體服務(wù)器提供,網(wǎng)絡(luò)數(shù)據(jù)交換功能是由實體交換機實現(xiàn),如圖1所示,服務(wù)器的內(nèi)網(wǎng)互訪和外網(wǎng)訪問的數(shù)據(jù)路徑都通過服務(wù)器接入交換機,所以在實體服務(wù)器網(wǎng)絡(luò)中,服務(wù)器接入交換機具有很重要的作用,可以用來實現(xiàn)服務(wù)器的訪問控制、流量監(jiān)控等功能.
圖1 實體服務(wù)器網(wǎng)絡(luò)中數(shù)據(jù)交換路徑
虛擬化后的數(shù)據(jù)交換路徑如圖2所示.
圖2 虛擬化之后數(shù)據(jù)交換路徑
由圖1和圖2的對比發(fā)現(xiàn),虛擬化之后,虛擬服務(wù)器之間的數(shù)據(jù)交換點由服務(wù)器接入交換機轉(zhuǎn)移至虛擬化系統(tǒng)中的虛擬交換機上,互訪流量不再經(jīng)過服務(wù)器接入交換機,原先在服務(wù)器接入交換機上進行的服務(wù)器之間的數(shù)據(jù)隔離、監(jiān)控功能都無法在服務(wù)器接入交換機上實現(xiàn),只能在虛擬化系統(tǒng)中通過軟件的方式來完成,這可能會產(chǎn)生性能問題和額外的費用需求.
在利用虛擬化的便利性的同時,可以利用VLAN的隔離特性,將虛擬化當中重要的虛擬服務(wù)器網(wǎng)絡(luò)端口和實體交換機的網(wǎng)絡(luò)端口一一對應(yīng),該虛擬服務(wù)器的所有網(wǎng)絡(luò)流量只能從實體交換機的特定網(wǎng)絡(luò)端口流入、流出,那么實體交換機的特定端口就等同于虛擬服務(wù)器的網(wǎng)絡(luò)端口,這可稱之為虛擬服務(wù)網(wǎng)絡(luò)端口實體化,如圖3所示:
圖3 虛擬服務(wù)器網(wǎng)絡(luò)端口實體化示意圖
在虛擬化平臺中,使用VLAN(虛擬局域網(wǎng))邏輯隔離功能,將虛擬服務(wù)器相互隔離開,使得這些虛擬服務(wù)器在虛擬化環(huán)境中無法相互通信.方法如下:將虛擬服務(wù)器A的網(wǎng)絡(luò)端口指定到VLANA中,虛擬服務(wù)器B的網(wǎng)絡(luò)端口指定到VLANB中,由于虛擬服務(wù)器A和虛擬服務(wù)器B的網(wǎng)絡(luò)端口不在同一個VLAN中,在虛擬交換機中它們處于隔離的狀態(tài).實體主機和實體交換機使用VLAN TRUNK相連,虛擬服務(wù)器A和B的網(wǎng)絡(luò)訪問請求可由虛擬交換機通過TRUNK連接轉(zhuǎn)發(fā)至實體交換機,在實體交換機中,端口A設(shè)置為ACCESS訪問模式,指定VLAN為VLANA,虛擬服務(wù)器A的訪問請求會轉(zhuǎn)發(fā)至端口A,端口B同樣為ACCESS訪問模式,指定為VLANB,服務(wù)器B的訪問請求會轉(zhuǎn)發(fā)至端口B.這樣通過使用VLAN功能和1臺實體交換機就可將虛擬服務(wù)器A和B的網(wǎng)絡(luò)端口實體化到實體交換機的端口A和B上,使得服務(wù)器A和B在虛擬化環(huán)境中相互隔離,在實體交換機上對端口A和B的訪問控制就等同于對虛擬服務(wù)器A和B的網(wǎng)絡(luò)端口的控制.此時,虛擬服務(wù)器A和B依舊處于隔離狀態(tài),如需外網(wǎng)訪問或者互相通信,需要將實體交換機端口A和端口B連接至服務(wù)器接入交換機上,由服務(wù)器接入交換機完成通信轉(zhuǎn)發(fā).
如同將實體服務(wù)器的網(wǎng)絡(luò)端口連接到網(wǎng)絡(luò)中一樣,只需將虛擬服務(wù)器的實體化網(wǎng)絡(luò)端口連接到服務(wù)器接入交換機上即可.聯(lián)網(wǎng)之后,虛擬化環(huán)境中的虛擬服務(wù)器A和B的外網(wǎng)訪問路徑如圖4所示.以虛擬服務(wù)器A為例,說明外網(wǎng)訪問的數(shù)據(jù)路徑.虛擬服務(wù)器A的外網(wǎng)訪問請求經(jīng)過虛擬交換機的轉(zhuǎn)發(fā),通過實體主機和實體交換機之間的TRUNK連接轉(zhuǎn)發(fā)至實體交換機,由于實體交換機中,只有端口A和虛擬服務(wù)器A的網(wǎng)絡(luò)端口處于同一個VLAN中,所以訪問請求只能從實體交換機的端口A轉(zhuǎn)發(fā)至服務(wù)器接入交換機,最后經(jīng)由網(wǎng)絡(luò)安全設(shè)備轉(zhuǎn)發(fā)至外網(wǎng).該請求的響應(yīng),會沿原來相反的路徑返回給虛擬服務(wù)器A.
圖4 虛擬服務(wù)器網(wǎng)絡(luò)端口實體化后的外網(wǎng)訪問數(shù)據(jù)路徑圖
從圖4的虛擬服務(wù)器的外網(wǎng)訪問路徑來看,對于外網(wǎng)訪問(即虛擬服務(wù)器通信的另一方位于本虛擬化平臺之外),虛擬服務(wù)器端口實體化前后,整個虛擬化平臺的通信負載沒有發(fā)生變化.
在網(wǎng)絡(luò)端口實體化之后,由于虛擬服務(wù)器A的網(wǎng)絡(luò)訪問只能通過實體交換機的端口A進行,虛擬服務(wù)器B的網(wǎng)絡(luò)訪問只能通過實體交換機的端口B進行,那么虛擬服務(wù)器A和B的通信必須通過服務(wù)器接入交換機才能夠?qū)崿F(xiàn).虛擬服務(wù)器A和B互訪的路徑如下:首先虛擬服務(wù)器A訪問請求經(jīng)由虛擬交換機的轉(zhuǎn)發(fā),到達實體交換機,實體交換機將訪問請求通過端口A轉(zhuǎn)發(fā)至服務(wù)器接入交換機,經(jīng)過服務(wù)器接入交換機的轉(zhuǎn)發(fā),到達實體交換機的端口B,通過實體機交換機的轉(zhuǎn)發(fā),訪問請求到達虛擬化平臺內(nèi)部,由虛擬交換機轉(zhuǎn)發(fā)至虛擬服務(wù)器B,服務(wù)器B的響應(yīng)數(shù)據(jù)包,會經(jīng)過相反的路徑轉(zhuǎn)發(fā)至虛擬服務(wù)器A.在端口實體化之后,虛擬服務(wù)器A和B的通信路徑類似一個發(fā)夾,如圖5所示,因此稱之為發(fā)夾彎路由.通過與圖2相比較,在網(wǎng)絡(luò)端口實體化之后,虛擬服務(wù)器A和B的通信路徑變長,而且在此路徑上的設(shè)備需要轉(zhuǎn)發(fā)雙倍的通信數(shù)據(jù)量,加大了設(shè)備負擔.
圖5 發(fā)夾彎路由
為了解決發(fā)夾彎路由引起的性能問題,我們需要將服務(wù)器之間的通信根據(jù)通信數(shù)據(jù)量進行分類.第1類:服務(wù)器之間沒有任何通信,例如2臺沒有關(guān)聯(lián)的Web服務(wù)器,它們之間不需要有任何通信.第2類:數(shù)據(jù)通信量很少,通信頻率小,例如服務(wù)器為確保時間的準確性,需要和時間提供服務(wù)器(NTP服務(wù)器)進行通信.第3類:服務(wù)器之間關(guān)系密切,通信量大,通信頻率高.例如Web前臺服務(wù)器和后臺數(shù)據(jù)庫服務(wù)器.
第1類通信適合作虛擬服務(wù)器網(wǎng)絡(luò)端口實體化,由于服務(wù)器之間沒有通信,在2臺Web服務(wù)器實體化之后,可以利用服務(wù)器接入交換機或者網(wǎng)絡(luò)安全設(shè)備進行服務(wù)器之間的隔離,避免相互之間的影響.第2類通信由于通信量很小,因此虛擬服務(wù)器網(wǎng)絡(luò)端口實體化之后,對整個系統(tǒng)的通信負擔基本沒有影響.在服務(wù)器網(wǎng)絡(luò)端口實體化之后,可以利用服務(wù)器接入交換機對服務(wù)器的通信進行監(jiān)控和控制.第3類通信由于服務(wù)器之間關(guān)系緊密,任何1臺服務(wù)器的安全問題,就會導致整個服務(wù)的運行異常,適合于作為一個整體進行控制,因此,需要將整個服務(wù)器組作為一個整體進行網(wǎng)絡(luò)端口實體化,進行統(tǒng)一的網(wǎng)絡(luò)防護,方法是對虛擬服務(wù)器組的網(wǎng)絡(luò)端口組統(tǒng)一進行實體化.
如圖6所示,虛擬服務(wù)器組C中有2臺服務(wù)器,其中虛擬服務(wù)器C1為前臺Web,虛擬服務(wù)器C2為后臺數(shù)據(jù)庫服務(wù)器.由于這2臺服務(wù)器之間通信量大,如果分別進行網(wǎng)絡(luò)端口實體化,那么由于發(fā)夾彎路由的原因,會給虛擬化實體機、實體交換機和服務(wù)器接入交換機增加不小的資源開銷.現(xiàn)在將虛擬服務(wù)器C1和C1的網(wǎng)絡(luò)端口都設(shè)置到VLANC中,在同一個VLAN中,C1和C2之間的通信都會通過虛擬交換機來完成.為了對虛擬服務(wù)器組C進行保護,將該組虛擬服務(wù)器的網(wǎng)絡(luò)端口作為一個整體進行實體化,實體化的端口為實體交換機的端口C,這樣只需對實體交換機的端口C保護就可以達到對整個虛擬服務(wù)器組C的保護.實現(xiàn)方法就是將實體交換機的端口C指定到VLANC中,虛擬服務(wù)器組C之外的設(shè)備與服務(wù)器組C內(nèi)的任何1臺服務(wù)器通信都需要通過實體交換機的端口C,可以通過實體交換機的安全功能對虛擬服務(wù)器組C進行保護.圖6說明了只有2臺服務(wù)器的服務(wù)器組的網(wǎng)絡(luò)端口實體化方法,有多臺服務(wù)器的服務(wù)器組的網(wǎng)絡(luò)端口實體化方法與此一致.
圖6 虛擬服務(wù)器組的網(wǎng)絡(luò)端口實體化
通過添加1臺實體交換機,將該實體交換機和虛擬化主機進行整合,這個整合體可以看作1臺高密度的服務(wù)器柜,將重要的虛擬服務(wù)器網(wǎng)絡(luò)端口通過實體交換機進行實體化,1臺交換機一般可以提供幾十個應(yīng)用服務(wù)器或者服務(wù)器組的網(wǎng)絡(luò)端口實體化,另外虛擬化系統(tǒng)中的VLAN資源的數(shù)量也很充足.經(jīng)實踐,使用1臺交換機已能滿足作者所在單位的使用需求.如有更多的虛擬服務(wù)器需要隔離控制,可通過添加實體交換的辦法來擴充.另外,在原實體服務(wù)器環(huán)境中,在1臺服務(wù)器出現(xiàn)安全事件時,拔下服務(wù)器的網(wǎng)絡(luò)電纜通常作為斷網(wǎng)隔離的最簡單也最直接的方法,任何能進入服務(wù)器機房的值班人員都可以做到,在虛擬化環(huán)境中,有眾多的虛擬服務(wù)器共享實體主機的網(wǎng)絡(luò)連接,如果斷開實體主機的網(wǎng)絡(luò)連接,那么虛擬化環(huán)境中的虛擬服務(wù)器都會斷網(wǎng).但在虛擬服務(wù)器網(wǎng)絡(luò)端口實體化之后,該方法依然可用.
虛擬服務(wù)器網(wǎng)絡(luò)端口實體化之后,原先的網(wǎng)絡(luò)安全策略和網(wǎng)絡(luò)安全設(shè)備基本可以不變,這樣既利用了虛擬化的易管理優(yōu)點,又充分利用了原實體網(wǎng)絡(luò)的安全方案和安全設(shè)備,節(jié)約了開支.