盡管Hyper-V的高級網(wǎng)絡安全特性不可能適用于所有情況,但是管理員可以使用其構建額外的防御層級,防止惡意入侵,保護虛擬化環(huán)境。
當微軟發(fā)布Windows Server 2012時,對Hyper-V進行了大幅度調整,并且在Windows Server 2012 R2當中完成了進一步改進。在Hyper-V增加的新功能當中包含了一些提升安全性的高級網(wǎng)絡特性,比如DHCP Guard和Router Guard。
這些高級網(wǎng)絡特性運行在虛擬機層,以虛擬網(wǎng)卡(vNIC)為基礎。用戶可以在Hyper-V Manager當中查看這些配置,右鍵單擊虛擬機,在快捷菜單當中選擇“Setting”命令。之后系統(tǒng)會彈出虛擬機配置對話框,點開虛擬機的vNIC下拉列表,之后選擇“Advanced Features”配置界面。如圖A所示。如果虛擬機包含多個vNIC,那么每個vNIC都擁有獨立的Advanced Features配置界面。
圖A.高級特性 以網(wǎng)卡為單位進行管理
這些特性當中有兩種高級特性應該首先了解,分別是DHCP(動態(tài)主機配置協(xié)議) Guard和Router Guard,如上圖所示。這兩種保護機制能夠防止未授權的網(wǎng)絡服務訪問虛擬機。
Router Guard工作原理
Router Guard能夠防止虛擬機當成路由器使用,這樣就能夠在虛擬機操作系統(tǒng)被劫持時保護虛擬網(wǎng)絡。表面上,這種特性的使用場景非常有限。畢竟,大多數(shù)入侵者并不會將虛擬機作為路由器使用——盡管這種情況曾經(jīng)發(fā)生過。即便如此,Router Guard特性還是擁有其發(fā)揮空間的。
設想當前環(huán)境中存在一臺跨越多個虛擬網(wǎng)絡、提供路由服務的特殊虛擬機。通常這種虛擬機會包含一塊并不直接參與路由進程的虛擬網(wǎng)卡,這塊虛擬網(wǎng)卡會用于管理流量或者類似目的。盡管這塊虛擬網(wǎng)卡不需要執(zhí)行路由功能,網(wǎng)絡流量通常也不會被路由到管理網(wǎng)絡當中,但是在這種情況當中,管理員可以在管理網(wǎng)絡網(wǎng)卡上啟用Router Guard功能,防止其被加入到可路由范圍當中。
當然,路由和遠程訪問服務不會無故將數(shù)據(jù)流量路由到管理網(wǎng)絡當中。既然如此,在管理網(wǎng)絡當中啟用Router Guard不應該對虛擬機的原有行為產(chǎn)生影響。Router Guard只是一種額外的保護機制,防止管理員在更改配置時錯誤地將管理網(wǎng)絡加入到可路由進程當中或者防止路由器被挾持。
如果你想了解Router Guard究竟是如何工作的:它會丟棄路由宣告并且重定向消息。特別是,Router Guard會盡量避免以下類型的數(shù)據(jù)包:
ICMPv4 Type 5 (Redirect message 重定向消息)
ICMPv4 Type 9 (Router advertisement 路由宣告)
ICMPv6 Type 134 (Router advertisement 路由宣告)
ICMPv6 Type 137 (Redirect message 重定向消息)
用戶可以在MSDN(Microsoft Developer Network)網(wǎng)站上了解更多Router Guard的工作原理。
將DHCP Guard作為第二道防線
DHCP Guard部分需要解釋的問題更多。如果管理員曾經(jīng)在Windows上部署過DHCP服務器,那么就會知道在部署過程當中需要使用活動目錄(AD)對新的DHCP服務器進行授權。這樣AD服務器就能夠區(qū)分合法DHCP服務器和仿冒DHCP服務器。但是現(xiàn)在的問題在于,非Windows DHCP服務器不需要通過AD授權就能夠開始工作。因此,DHCP Guard能夠作為抵御未授權DHCP服務器的第二道防線。這種特性被啟用之后會阻止虛擬機成為DHCP服務器。惡意軟件會將一臺普通機器變?yōu)镈HCP服務器,而DHCP Guard的作用就是防止這種惡意軟件進行破壞。
DHCP Guard特性還可以被用來限制合法DHCP服務器。比如,在某個特定的網(wǎng)段當中不想使用DHCP服務器自動分配IP地址,那么可以在特定vNIC上啟用DHCP Guard特性。
Hyper-V的Router Guard和DHCP Guard特性被設計用來防止未授權的網(wǎng)絡服務訪問虛擬機。即便如此,微軟通常推薦根據(jù)實際需求啟用這些特性,而不是默認開啟,因為使用這些特性會對性能表現(xiàn)產(chǎn)生一些小的影響。