


扁平網(wǎng)絡(luò)(Flat network)是當(dāng)前業(yè)界的熱門話題。由于其可以使設(shè)備和端點(diǎn)之間實(shí)現(xiàn)更直接的通信,因此無論是速度還是性能都要勝過傳統(tǒng)分層網(wǎng)絡(luò)。同時,扁平網(wǎng)絡(luò)還適用于高度虛擬化的環(huán)境,并為虛擬化技術(shù)所特有的功能實(shí)現(xiàn)(如虛擬機(jī)遷移)提供了便利。
不過,扁平網(wǎng)絡(luò)概念收到熱捧的同時,也帶來了一個安全難題:如何兼顧網(wǎng)絡(luò)的高性能和低風(fēng)險。要知道,扁平網(wǎng)絡(luò)去除了三層網(wǎng)絡(luò)分割界限。而長期以來,我們一直使用這種分割界限來區(qū)隔流量并提供深層防御機(jī)制。
如今大多數(shù)企業(yè)網(wǎng)絡(luò)都被劃分成了眾多的虛擬局域網(wǎng)(VLAN),每個VLAN代表一個子網(wǎng)。建立VLAN的目的是打破廣播域(broadcast domain),對設(shè)備進(jìn)行邏輯分組,并且方便在不同子網(wǎng)之間實(shí)施各不相同的訪問控制機(jī)制。這些內(nèi)容對網(wǎng)管員是非常有用的。現(xiàn)在已經(jīng)有很多方法可以確定設(shè)備與VLAN的歸屬關(guān)系:既可以按照類型來分隔設(shè)備,把所有服務(wù)器放到一個或多個VLAN中,也可以按照樓層或者建筑的物理位置來分隔設(shè)備。
除了劃定不同訪問機(jī)制外,把設(shè)備分隔到不同子網(wǎng)/VLAN中的另一個好處是,這為網(wǎng)絡(luò)管理員提供了上下文線索,以便了解網(wǎng)絡(luò)上系統(tǒng)的運(yùn)行狀況。比如,網(wǎng)管員可以將某個VLAN劃分為專門為無線連接使用。這種歸類有助于排除故障、優(yōu)化網(wǎng)絡(luò)及其他常見任務(wù)。此外,作為兩種最常見的網(wǎng)絡(luò)過濾控制機(jī)制,基本的防火墻和訪問控制列表(ACL)通常 基于IP地址等三層網(wǎng)絡(luò)參數(shù)。數(shù)據(jù)流從某個IP地址或某組地址發(fā)來,傳送到某個IP地址或某組地址去。安全策略和系統(tǒng)需求規(guī)定了過濾規(guī)則,而這些規(guī)則則負(fù)責(zé)對數(shù)據(jù)流進(jìn)行允許或禁止通過操作。
以上描述的是傳統(tǒng)分層網(wǎng)絡(luò)的優(yōu)勢。不過,由于消除了子網(wǎng)的劃定,因此在扁平網(wǎng)絡(luò)中,我們會把更多設(shè)備放在同一個子網(wǎng)上,這就等于網(wǎng)管員失去了一個安全層劃分機(jī)制。
在本文中,我們要談到的是,IT部門其實(shí)可以采用二層控制機(jī)制,對網(wǎng)絡(luò)流量保持有效的分隔,在物理網(wǎng)絡(luò)和依賴虛擬網(wǎng)絡(luò)接口的虛擬化環(huán)境中都能做到這點(diǎn)。這些控制機(jī)制包括:VLAN訪問控制列表、私有虛擬局域網(wǎng)(PVLAN)和二層防火墻。此外,通過使用端口配置文件和可運(yùn)用于虛擬機(jī)的安全區(qū)也可以達(dá)到風(fēng)險控制的目的。
VACL很有用
改用更扁平的網(wǎng)絡(luò)架構(gòu)也許能夠提高企業(yè)網(wǎng)絡(luò)的速度,但是由于其涉及一種全然不同的設(shè)計策略,因此在很多方面同以往相比都是顛覆性的。比如,VLAN不會消失,也不會從多層體系結(jié)構(gòu)中完全移除,但更多設(shè)備都會在同一個子網(wǎng)中運(yùn)行,VLAN的使用將受到限制。比如在三層網(wǎng)絡(luò)模型中,你可能會把Web服務(wù)器和數(shù)據(jù)庫系統(tǒng)放在兩個不同的子網(wǎng)中,這兩個子網(wǎng)之間的網(wǎng)絡(luò)流量經(jīng)由防火墻來傳送。而在扁平網(wǎng)絡(luò)的二層模型中,可能我們需要把所有主機(jī)都放在一個子網(wǎng)上。不過,由于實(shí)施了控制機(jī)制,在扁平網(wǎng)絡(luò)中,只有被許可的流量才能經(jīng)過每個系統(tǒng)來傳送。
可供使用的第一個控制機(jī)制是VLAN訪問控制列表(VACL)。VACL同傳統(tǒng)的三層/四層ACL沒有太大區(qū)別,不過在扁平網(wǎng)絡(luò)中,其還可以用在二層的物理交換/路由設(shè)備上。這就意味著,VACL可以過濾同一個VLAN上多個設(shè)備之間橋接的流量,而不一定只被用于進(jìn)出VLAN的路由流量。IT部門可以定義VACL來阻止特定類型的流量(UDP、TCP等)或端口,VACL就能有目的性地阻止進(jìn)出各個主機(jī)的流量。根據(jù)網(wǎng)管員的要求不同,VACL可以與特定的接口聯(lián)系起來,或者更廣泛地用于整個VLAN。這意味著,我們可以實(shí)施最小權(quán)限概念——比如說,允許來自一臺Web服務(wù)器的流量通過特定的端口與必要的數(shù)據(jù)庫系統(tǒng)進(jìn)行聯(lián)系,同時阻止流量進(jìn)入到同一個子網(wǎng)上其他毫無關(guān)聯(lián)的服務(wù)器。
不過,正確實(shí)施VACL需要深入了解主機(jī)的數(shù)據(jù)流動和網(wǎng)絡(luò)通信要求。如果VACL定義得不合適,設(shè)備之間反而可能會出現(xiàn)多余的通信流量。另一方面,如果VACL設(shè)置得過于嚴(yán)格,設(shè)備可能無法與被許可系統(tǒng)進(jìn)行通信。
流量控制保安全
在扁平網(wǎng)絡(luò)中,物理交換機(jī)/路由器層的私有虛擬局域網(wǎng)(PVLAN)會將系統(tǒng)規(guī)劃為三種類型中的一種,每一種都有各自的流量控制屬性:混雜端口(promiscuous port)、社區(qū)端口(community port)和隔離端口(isolated port)。
使用混雜端口的PVLAN通常用于某個子網(wǎng)的網(wǎng)關(guān),其可以自由地訪問PVLAN上的其他接口。使用社區(qū)端口的PVLAN允許與各個端點(diǎn)和PVLAN上的混雜端口進(jìn)行通信,對于某一個網(wǎng)段上需要互相通信的一組服務(wù)器(比如一組Web服務(wù)器和一臺數(shù)據(jù)庫服務(wù)器)來說,社區(qū)端口是很好的選擇。使用隔離端口的PVLAN實(shí)施的控制最嚴(yán)格,只允許設(shè)備與PVLAN上的混雜端口進(jìn)行聯(lián)系。
PVLAN對二層流量通常提供了籠統(tǒng)的分隔,而不是精細(xì)的控制。其可被用于支持深層防御,并且打破子網(wǎng)廣播域。另外,如果需要更特定的訪問配置文件,PVLAN還可以與VACL配合使用。
二層防火墻提供了與VACL相似的功能,不過其在結(jié)構(gòu)上更為清晰。高級防火墻產(chǎn)品(比如Palo Alto Networks的防火墻)支持這種功能:在同一個VLAN上的兩個或多個接口之間進(jìn)行實(shí)際交換,并檢查通過這條路徑傳送的流量。這種方案的優(yōu)點(diǎn)是,其充分利用了企業(yè)級防火墻的功能,并且提供了一條清晰的路徑,把控制機(jī)制集成到一致的防火墻策略中。不過,就像每個完美的產(chǎn)品一樣,其惟一的缺點(diǎn)就是價格昂貴。由于端口密度方面有要求,加上每個物理接口成本高,其實(shí)施起來費(fèi)用高昂。
真正的二層防火墻相當(dāng)少見,其可以作為在同一子網(wǎng)上不同物理交換機(jī)之間的過濾層,對企業(yè)很有意義。
需要注意的是,添加任何二層控制機(jī)制都會為整個網(wǎng)絡(luò)引入另一種異構(gòu)環(huán)境,這很有可能對整個網(wǎng)絡(luò)造成破壞。在這種情況下,內(nèi)網(wǎng)主機(jī)訪問不了的原因會很多,防火墻、主機(jī)適配器、應(yīng)用程序進(jìn)程和網(wǎng)絡(luò)都有可能出現(xiàn)問題。
我們說過扁平網(wǎng)絡(luò)可能會讓網(wǎng)絡(luò)速度更快,但沒有說其可以簡化你的工作。
網(wǎng)管員尤其要考慮在運(yùn)用VACL和PVLAN等控制機(jī)制時,其對運(yùn)營方面的影響。企業(yè)一定要有出色的管理和審查機(jī)制,以簡化配置任務(wù)、減小故障排除難度。通常來說,這意味著要使用管理工具或可以監(jiān)控過濾規(guī)則的網(wǎng)元管理系統(tǒng),以提供集中式、可以付諸行動的審查日志,并且能夠在整個實(shí)施過程中確保一致性。我們從物理設(shè)備談到虛擬二層控制機(jī)制時,可管理性和一致性方面的概念極其重要。
“扁平”的虛擬化網(wǎng)絡(luò)安全
很多人都知道,扁平網(wǎng)絡(luò)架構(gòu)很適合私有云或高度虛擬化的數(shù)據(jù)中心。在這種環(huán)境下,虛擬機(jī)常常在服務(wù)器之間遷移。但是在這些架構(gòu)中仍需要二層網(wǎng)絡(luò)控制,這意味著我們就要與虛擬接口和虛擬交換機(jī)打交道。
通過上文,如果你已經(jīng)了解了VACL、PVLAN和物理二層防火墻的控制機(jī)制,就可以把這套知識照搬過來,因?yàn)橐蕴摂M機(jī)為中心的這些控制機(jī)制與上文所述大同小異。
對虛擬化系統(tǒng)進(jìn)行精細(xì)控制有幾個原則:強(qiáng)審查、可擴(kuò)展性和便于了解流量如何控制的可視性。
強(qiáng)有力的低級分隔在虛擬化網(wǎng)絡(luò)中仍然需要。隨著占用某個子網(wǎng)的虛擬化設(shè)備數(shù)量越來越多、設(shè)計的復(fù)雜性越來越大,這種分隔變得越來越重要。
確保高度虛擬化扁平網(wǎng)絡(luò)的安全需要重點(diǎn)關(guān)注端口配置文件和安全配置文件。這兩類文件規(guī)定了被分配到某個組的虛擬機(jī)如何運(yùn)行。網(wǎng)管員一旦創(chuàng)建和設(shè)定了配置文件,虛擬機(jī)的配置就會永遠(yuǎn)保持不變,哪怕其被遷移到了不同的物理硬件上或改變了狀態(tài)。
創(chuàng)建虛擬機(jī)時,我們可以動態(tài)地運(yùn)用這些配置文件。比如說,可以創(chuàng)建一個配置文件,牢牢保護(hù)通過管理GUI對某個管理子網(wǎng)進(jìn)行的訪問。我們也可以在配置文件中明確拒絕可信度較低的系統(tǒng)通過網(wǎng)絡(luò)訪問一組比較敏感的虛擬機(jī)。配置文件簡化了管理任務(wù),而且有助于為相似系統(tǒng)執(zhí)行一致的基本策略。
除了配置文件外,管理員還可以為網(wǎng)段建立安全區(qū)。所謂安全區(qū),指的是為有共同特點(diǎn)的一組設(shè)備進(jìn)行如操作角色、相對的安全值或者訪問要求等在內(nèi)的一系列設(shè)定。安全區(qū)的設(shè)定會降低操作復(fù)雜度并且節(jié)省時間。我們可以將應(yīng)用服務(wù)器放入到應(yīng)用安全區(qū),Web服務(wù)器可以放入到Web安全區(qū)。
扁平網(wǎng)絡(luò)的本質(zhì)是降低網(wǎng)絡(luò)復(fù)雜性(更少的VLAN,更簡單的子網(wǎng)),并提升性能。在虛擬化環(huán)境中更是如此。雖然打破網(wǎng)絡(luò)界限并非在所有情況下都是“萬金油”,但是扁平網(wǎng)絡(luò)依然吸引著對擁有虛擬化架構(gòu)或者需要提高網(wǎng)絡(luò)速度的企業(yè)。借助合適的工具,我們能夠在虛擬網(wǎng)卡上,提供非常靠近網(wǎng)絡(luò)流量來源的過濾控制機(jī)制。這有助于減少資源浪費(fèi)、提高性能,因?yàn)椴恍枰牧髁吭诳拷鼇碓吹牡胤奖贿^濾掉了。如果IT部門善于使用相關(guān)工具,就能在二層實(shí)施強(qiáng)有力的控制,享受選用扁平網(wǎng)絡(luò)帶來的好處。