對服務器工作負載進行虛擬化已經成為越來越普遍的方法,能夠幫助更有效地利用計算機硬件以及輔助設備。虛擬化為數據中心管理員提供了很多好處,雖然需要適當地改變創建和管理部署設備的方式。服務器應用程序虛擬化是更為艱巨的任務,因為在多個服務器工作負載間適當分配硬件存在復雜性。要將不能共存于同一臺機器的應用程序在相同主機的多個子分區(Child partition)間進行結合,確實存在規格和安全方面挑戰。同時,網絡虛擬化和母分區(Parent partition)失效時導致多個同步服務器失效的問題也帶來安全和可用性問題。
本文將圍繞部署Microsoft ISA Server和硬件虛擬化的Microsoft forefront TMG提供具體的指導方案,同時,強烈推薦你們認真閱讀“相關參考資料”中提供的資料。
支持虛擬環境
Microsoft ISA Server 和Forefront TMG只能在下列程序下得到硬件虛擬化的支持:
·Microsoft Support Lifecycle
·Microsoft ISA Server 系統要求
·Forefront TMG系統要求
·Microsoft Server Virtualization Validation Program (SVVP)
·Microsoft軟件在非Microsoft硬件虛擬化軟件上運行的支持政策
例如,如果硬件虛擬化平臺被列為“通過SVVP驗證”(不是“評估中”),Microsoft ISA Server 和Forefront TMG將支持在該平臺上進行生產用途,Microsoft Product Support Lifecycle、非Microsoft硬件虛擬化政策和相應產品版本的系統要求中有使用限制。
對于沒有列為“通過SVVP驗證”的硬件虛擬化平臺,Microsoft ISA Server和Forefront TMG只能根據其他Microsoft支持政策得到支持,限制情況如下:
·Desktop virtualization,如Microsoft Virtual PC或者類似第三方產品:僅支持示范和教育用途
·Server Virtualization,如Microsoft Virtual Server 或者類似的第三方產品,支持生產用途,但不推薦
重要提示:
正如MSKB 897615中所指出的,微軟支持工程師在繼續檢查問題前,可能會要求客戶在真正硬件或者SVVP列表硬件虛擬化平臺上重現報道的問題,如果問題不能在硬件上或者相同級別的SVVP列表服務器虛擬化產品上重現,那么問題可能會被轉移給第三方廠商產品支持。
部署規劃
任何外圍保護部署的主要部署標準都是安全、穩定和性能,確定這三者的優先順序都需要深入分析企業的LOB(業務線,line-of-business)應用需求,一般需求和網絡安全需求以及所有法律規章等才能得出結論。雖然很難解決所有可能出現的問題,不過本文將概述最常見部署的關鍵問題。
這是個不變的事實,由于在虛擬機之間的資源共享,在專用硬件上運行的服務器應用程序將會比在類似虛擬環境(相同數量相同等級的CPU,相同的內存等)運行的相同應用程序效果更好。例如,流量處理負載可能會將基于硬件的ISA占到80%的CPU,可能會為同樣配置的虛擬ISA服務器產生一個拒絕服務(DoS),或者由于子分區工作量總量和其他子分區造成的資源停滯而使虛擬母分區工作量過度。
這對于那些負責虛擬化服務器應用程序的工程師而言,在很多情況下,為特定應用程序的資源分配可能需要擴展為虛擬機資源賬戶共享,而具體需要進行怎樣的擴展只能通過對規劃好的虛擬部署進行測試才能確定。
同樣的,還應該對數據中心管理過程進行重新檢測和重新定義,以解決因人為、軟件或者硬件原因導致的母分區內多個子分區的損失問題。這種情況不僅會對重要的業務運作帶來影響,還是一個潛在的安全問題,如果ISA Server 或者Forefront TMG代表某一個目前不可使用的子分區。
定義流量剖析
雖然為虛擬部署和硬件配置定義流量剖析并沒有什么不同,不過定義流量剖析(traffic profile)是很重要的過程,因為一個子分區的資源需求可能會對在虛擬主機上運行的其他分區的資源需求造成影響,特別是母分區。
只有完全明確了流量剖析對部署計劃的影響,才能確定、評估并滿足ISA Server 和Forefront的性能需求和安全需求。 MSKB 832017 已經為大部分基于windows系統的應用程序以及微軟公司創建的應用程序(包括ISA Server本身)定義了流量剖析,但是它并沒有為非微軟產品定義流量剖析。 在很多情況下可以做某些假設,郵件服務器使用的是公共郵件協議,如 SMTP、POP3、 IMAP 或者甚至 HTTP(s)(如果能夠提供網絡郵件服務)。如果你想要使用 ISA Server 或者Forefront TMG來控制自定義應用程序流量,你可能需要向產品供應商尋求幫助。 在某些情況下,你可能需要對應用程序進行測試,使用網絡分析工具來分析流量。
流量剖析確定后,下一步就是確定每種應用程序或者服務的流量負載。這個步驟也很關鍵,它能夠精確預測其對ISA Server或者Forefront TMG性能以及整個網絡容量的影響。你將需要對現有網絡部署進行某種流量分析,從而熟悉現有流量負載并預測隨著公司發展流量需求將如何變化等問題。
最佳方案:
1. 在可能的位置,讓運行ISA Server或者Forefront TMG的子分區的流量通過。這樣能夠幫助你控制網絡間的流量并檢測來自本地主機和遠程主機的攻擊以及虛擬的和物理的攻擊。
2. 避免使用 “allow all”規則。 如果應用程序供應商不能為你明確定義流量剖析,可以試試你喜歡的網絡捕捉工具,有時候也能派上用場。
3. 將RPC和DCOM限定到特定端口。 在默認情況下,當相關服務器應用程序啟動并請求連接和套接時,RPC和DCOM通常會暫時使用任何有效的端口。通過限制RPC和DCOM可用的端口范圍,你同樣可以限制可接受的流量剖析。
定義安全范圍
這個步驟涉及很多方面,還有一些基本要求,你必須讓所有安全、網絡、應用程序等相關管理人員共同參與決議,這樣就能更加全面地分析技術需求等問題,另外還應該考慮合規和審計問題。
應用程序安全
應該要避免混淆單個母分區內不同安全層面的虛擬應用程序或者服務器,特別是當這些應用程序或者服務器中涉及網絡外圍時。當相鄰子分區或者母分區作為游戲服務器的主機時,應該避免讓Exchange復雜化,這也是ISA和TMG能夠為主機間提供保護的另一位置。因為位于單獨母分區的子分區通常位于單獨網絡, 你可以使用ISA或者TMG來隔離這些應用程序(如果部署在專有硬件上)以實現更高的整體安全性。
最佳方案:
1. 在母分區安裝Windows Server 2008 Core。這樣就將攻擊面和修復需求限制到最低限度,由于Windows 2008 Core并不支持那些依賴于 Windows UI機制的應用程序,這能夠幫助避免在母分區安裝不重要應用程序。
2. 特定母分區上的每個子分區應該獲得同等安全保護。例如, 用戶從互聯網訪問的Exchange和SharePoint 子分區應該盡量滿足相同的安全和訪問要求, 如果你將 Exchange和SharePoint 服務器以及游戲服務器作為子分區部署在相同的母分區上,就無法實現這一點。
3. 母分區必須及時進行漏洞修復。母分區上的漏洞可能會影響所有與其相關的區域。
4. 每個子分區必須及時進行漏洞修復。雖然未修復漏洞的子分區不會造成像母分區那么大的影響,但是如果受到漏洞攻擊的子分區訪問母分區,就有可能對母分區帶來類似攻擊,并對所有客戶端造成威脅。
5. 不要將母分區作為工作站使用。 母分區安裝和運行的應用程序越少,母分區面臨的攻擊威脅越小。 另外,如果你在母分區安裝Windows Server 2008 Core,能夠幫助控制威脅。
6. 限制對母分區的訪問管理。 管理母分區訪問權的賬號擁有控制所有子分區的權限,下文中將詳細探討這個問題。
7. 使用基于TPM的母分區以及BitLocker。 對母分區訪問控制力越強,子分區就能得到越好的保護。
網絡安全
在虛擬環境大家最關注的問題就是如何管理子分區、母分區和物理網絡的通信流量。如果某客戶端有訪問任何物理網絡的直接權利,將會給相鄰子分區和母分區帶來很大的安全威脅,只有強行讓客戶端通過流量控制(如ISA Server 或者Forefront TMG)才能避免類似威脅。 在網絡中施加類似流量控制是網絡規劃中很重要的部分,而管理控制則更為重要。
對ISA 或者TMG服務器流量的路由并不能簡單地通過將錯誤流量從通信路徑中移除而保證網絡的安全性,雖然這與數據中心的錯誤路徑網絡電纜沒什么區別,你必須考慮的是,在虛擬網絡中對于錯誤路由的流量并沒有明顯的指示, 而能夠很明顯地看出網絡電纜插入錯誤的物理路徑配線架或者交換機。 從這一點來看,區分錯誤流量路徑等相關問題其實是非常復雜和耗費時間的,避免這種狀況發生的最佳做法就是定義并執行非常明確的數據中心轉換控制政策和系統監控/報告系統。
最佳做法:
1. 避免在沒有額外保護的情況下將母分區連接至互聯網。 雖然相比于windows之前版本,Windows Server 2008 過濾平臺(Filtering Platform)為我們提供了更加強大的主機防火墻,網絡安全最佳做法表明,應該對網絡安全進行分層,具體做法就是:在母分區連接與互聯網之間使用外部 layer-3過濾設備。位于獨立物理主機上的ISA Server或者Forefront TMG能夠很好地幫助實現這一目的。
2. 避免將母分區連接到任何虛擬網絡,除非是非常有必要的情況下。 因為母分區是保持子分區正常運行的關鍵,而母分區可能至少使用一個物理網絡,向母分區提供的子分區接入點越少越好。例如, 母分區是無法看到Hyper-V “Local”虛擬網絡的,因此可以把該網絡作為只能由連接的子分區使用的隔離邊界網絡。
3. 避免在多個客戶端間共享相同的互聯網虛擬交換機連接。 如果你的游戲服務器子分區與ISA / TMG子分區共享互聯網連接,就很難確保網絡流量的安全性, 最好就是任何需要互聯網訪問的子分區必須通過 ISA / TMG子分區來訪問網絡。
4. 避免在同一個母分區整合周邊網絡和設備 在任何部署中,對周邊網絡的使用都是為了在不同信任級別間的網絡創建安全分界。如果將所有這些機器和網絡放在相同的母分區 ,就很可能無意中通過一個或者多個母分區虛擬網絡連接或者將服務器分配給錯誤的虛擬網絡等情況下,在這些安全分界中搭建連接。
5. 避免為了簡化虛擬網絡設計而破壞了周邊網絡設計。 創建周邊網絡設計的目的是為了滿足多種資源的需求,如果硬件中的設計受到破壞虛擬網絡的設計必然也將被破壞。
母分區
不管虛擬部署放置在邊緣還是中心位置,母分區都是最重要最關鍵的機器,如果母分區被破壞或者失效,所有子分區都將受到威脅。
最佳做法:
1. 使用通過Windows Hardware Quality Labs 認證的硬件:
· Windows Server 2008. 如果你期望擁有服務器級別的功能和可靠性,是不可能通過使用家用電腦級別的系統硬件或者驅動來實現的。 在選擇硬件設備和相關驅動程序時必須對服務器工作量進行測試,以確保所選硬件能夠保證虛擬部署經得起重荷。 雖然為windows vista編寫的驅動程序能夠“適用于” Windows Server 2008,不過很難保證這些驅動能夠承受服務器應用程序或虛擬帶來的重荷。
· Hyper-V. 通過選擇合適的硬件(硬件可以滿足專門針對Microsoft Hypervisor的WHQL測試的要求),可以保證虛擬部署的順利進行。很多硬件供應商都會與所有服務器虛擬供應商緊密合作以確保他們的產品能夠適用于一個或更多服務器虛擬化平臺。
2. 保持系統驅動程序的正常運作。 服務器網絡出現問題最常見的原因都是因為系統驅動本身,大多數是因為網絡驅動。當這些驅動與虛擬化解決方案中的其他高性能驅動結合使用時,系統驅動的性能和可靠性顯得尤為重要。 然而事實卻總非如此,尤其是在測試環境中,你應該考慮將生產部署限制給簽名驅動程序。
3. 在母分區使用 Windows Server 2008 Core 。 這樣能夠將任何Windows Server 部署面臨的攻擊率降到最低,同時會限制用戶對安裝狀況的影響。
4. 禁用母分區的任何對外的NIC。 在創建供子分區使用的“外部”虛擬交換機后,應該禁用母分區的相關虛擬NIC,以防止互聯網訪問母分區。
5. 如果不能禁用母分區的“外部”虛擬交換機,解除所有L3+協議并為那些NIC啟用WFP。 通過解除協議并在WFP設置強限制性政策,不能使用協議(攻擊點)通信的主機就不會受到網絡攻擊,因為相關協議已經被解除和過濾,換句話說,“我聽不到你,你別想吵到我”。
6. 如果上述步驟還不能保護母分區,可以使用外部 layer-2+ 防火墻。沒有理由讓母分區受到互聯網攻擊,如果正在考慮采取這種部署,應該重新評估整個計劃。
7. 使用專用的OOB(Out-of-Band)網絡連接來管理母分區的連接。
· 專用連接:提供與任何虛擬網絡不相關的網絡連接,即使虛擬網絡機制出錯,母分區也能繼續正常運作。
· OOB連接: 通過將母分區管理從客戶端網絡隔離出來,可以讓母分區免受來自互聯網的應用程序攻擊。
8. 在Windows Server 2008上使用支持TPM的硬件和Bitlocker來控制對母分區的訪問,以保護子分區磁盤和定義文件免受未經授權的訪問。服務器盜竊事故是任何部署都必須考慮的問題, 而在單個服務器能夠獲取多個服務器信息更是讓黑客們垂涎三尺。通過將所有客戶端放在 Bitlocker保護磁盤,能夠有效抵御那些黑客的攻擊。
母分區和客戶端連接
必須根據整個環境的安全需求來平衡虛擬網絡的需求。例如,每個分區連接(與一個NIC相連)的單個虛擬網絡與通過虛擬交換機由多個分區共享的物理連接相比,前者能夠提供更好的主機脫離(off-host)網絡性能。如果子分區占用相對較少的網絡資源,可以考慮讓其與其他子分區共享虛擬網絡。
ISA/TMG子分區性能考慮
在確定ISA / TMG虛擬機資源前需要先對性能進行評估。要實現這一目的,必須參考ISA Server Performance Best Practices性能監測建議(針對你的ISA版本的建議)或者TMG性能監測參考建議收集一段時間內(至少兩周)的性能數據,以便獲取所使用的機器資源的統計模型。這樣一來,你就知道支持虛擬ISA / TMG服務器所需要的最小機器資源量了。
確定ISA / TMG虛擬機需求后,下一步就是建立測試環境,以便在測試環境中部署和測試生產環境中將使用的工作量以及流量負載組合。只有通過預先測試才能確定如何在子分區間的最佳資源分配方式。
CPU和RAM
任何在特定配置的硬件上運行某種級別功能的服務器工作量,性能上都比不上共享多種工作量的機器資源(在相同配置的硬件上運行)。不管工作量合并在單一的操作系統還是工作量在多個虛擬機間共享,這個理論都成立。事實上,當工作量與單個操作系統結合時,管理多個工作量的資源需求會相應增加。出于這個原因,你最好熟悉一下你所部署的虛擬技術的性能最佳做法建議。雖然每個供應商所提供的虛擬化功能都是類似的(從虛擬類型來看,包括桌面、服務器和數據中心),不過這些不同供應商的虛擬功能對于指定的服務器工作量或者工作量組合將會產生不同的結果。
最佳做法:
1. 避免在相同母分區結合高資源子分區。ISA / TMG可能會耗費很多資源,這將取決于可能使用的流量性質和第三方插件。如果有多個高耗能服務器工作量爭奪相同的資源,所有工作量的性能都會降低,也可能出現拒絕服務。
2. 盡量多地向ISA / TMG提供CPU和內存。因為ISA/TMG必須與其他子分區共享資源,向ISA/TMG提供越多的內存和CPU,在虛擬機中ISA/TMG的性能也將越好。
注意:在ISA服務器中,不管是ISA服務器本身,抑或是第三方插件,都不會從4個以上的CPU或者大于4GB的內存中受益,TMG并沒有這種限制。
3. 使用虛擬化技術(能夠承受最大的工作量任務)。如果你的流量性質要求每秒1Gb或以上的網絡性能,那么使用提供最高每秒100Mb性能的硬件虛擬化產品可能會導致服務器超負荷或者性能表現不佳。
文章編輯:CobiNet(寧波),本公司專注于電訊配件,銅纜綜合布線系列領域產品研發生產七類,六類,超五類屏蔽網線雙絞屏蔽線及相關模塊配件,歡迎來電咨詢0574 88168918;
我們是萬兆網絡模塊,萬兆屏蔽模塊,10G網絡模塊,10G屏蔽模塊,keystone jack生產廠家。
?2016-2019寧波科博通信技術有限公司版權所有浙ICP備16026074號