近期各大新聞媒體皆在高度關注Meltdown與Spectre安全漏洞對Windows PC設備造成的影響,但可以想見,二者帶來的真正隱患其實在于對服務器以及云帶來的沖擊。
Meltdown與Spectre處理器bug正牽動萬千桌面用戶的心,自己的計算機被一款編寫質量糟糕的英特爾或AMD CPU補丁弄到性能衰減確實很難讓人接受。然而從配件事件來看,無論是Linux、MacOS還是Winows,PC設備都不會受到太大的影響。Meltdown與Spectre的真正災難將主要降臨在服務器,而非個人設備身上。
這是因為Meltdown與SPectre能夠影響到應用程序與操作系統(tǒng)專用內存之間的內存空間。在PC設備上,這僅代表著其可提取密碼等敏感信息。但在云端,則有可能導致企業(yè)客戶的機密數據被他人所竊取。
SANS安全專家Jake William警告稱,"在眾多半虛擬化實例(例如Xen)與內核沙箱(例如Docker)用例當中,Meltdown都有可能破壞容器與主機內核之間所共享的內核地址。"
微軟的虛擬機管理程序Hyper-V并未使用半虛擬化機制,但其仍然可能受到影響。微軟Windows與設備部門執(zhí)行副總裁Terry Myserson在博文當中解釋稱:"在多服務器共享功能環(huán)境當中(例如某些云服務配置中的功能),此類漏洞可能意味著某人能夠訪問處于其它虛擬機之內的信息。"
微軟公司很早就已經意識到這個問題,并著手安裝Azure以及Hyper-V補丁以作為解決方案。然而,Myerson警告稱這還遠遠不夠。"運行在本地或者云環(huán)境中的Windows Server客戶還需要評估是否已經在各Windows Server虛擬機訪客或物理實例當中部署了安全緩解措施。"
為什么?這是因為"當您在Windows Server實例當中運行不受信任的代碼時(例如允許您的客戶上傳二進制文件或者代碼片段,并在Windows Server實例當中運行),您需要上述緩解措施以控制應用程序二進制文件或代碼,確保其無法訪問Windows Server實例當中與其權限水平不符的內存空間。您不需要利用這些緩解措施隔離Windows Server虛擬機以及虛擬化服務器上的其它虛擬機,而僅需要利用其隔離特定Windows Server實例當中運行的不可信代碼。"
要保護您的服務器--無論其運行在服務器機柜的裸機當中抑或是云端--您必須為以下安全漏洞安裝修復補丁:CVE-2017-5715(分支目標注入)、CVE-2017-5753(邊界檢查繞過)以及CVE-2017-5754(流氓數據緩存加載)。
但這些補丁并非適用于全部Windows Server版本。截至目前,所有陳舊的Server 2003版本以及2008與2012版本皆可能遭受攻擊。微軟公司正在為2008與2012版本開發(fā)補丁程序。如果您一直在嘗試更新2003版本,請不要再浪費精力了--過去的已經過去,除了此次曝光的最新安全漏洞之外,近幾年來其它漏洞也都會影響到2003版本。
另外,單純安裝補丁還不足以解決問題--您還需要做得更多。正如桌面版Windows一樣,您同樣必須確保使用與補丁相兼容的反病毒程序以避免服務器發(fā)生BSOD。如果您未在服務器上運行反病毒軟件,則必須使用regedit以設置以下注冊表項:
Key="HKEY_LOCAL_MACHINE" Subkey="SOFTWAREMicrosoftWindowsCurrentVersionQualityCompat"
Value="cadca5fe-87d3-4b96-b7fb-a231484277cc" Type="REG_DWORD" Data="0x00000000"
無論是否使用反病毒軟件,您都必須作出其它注冊表變更。如果您的服務器為Hyper-V主機或者遠程桌面服務主機(簡稱RDSH),或者您的服務器實例正在運行容器或不可信數據庫擴展、不可信Web內容或者包含來自外部來源代碼的工作負載,那么更是需要完成進一步調整。總而言之,您的大部分甚至全部服務器都需要進行注冊表變更。
具體注冊表修改項包括:
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
reg add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionVirtualization" /v
MinVmVersionForCpuBasedMitigations /t REG_SZ /d "1.0" /f
到這里,任務仍沒有完成。現在,大家必須將芯片固件應用于您的服務器硬件當中。該固件應由您的硬件供應商負責提供。
一旦完成這一切,您還需要進行最后一步操作--重啟您的服務器。
在Azure當中,當補丁更新完成后,微軟將自動重啟您的服務器與虛擬機。您可以查看您的虛擬機狀態(tài),并通過Azure門戶中Azure服務健康計劃內的維護部分了解重新啟動是否已經完成。
然而,雖然微軟公司已經立足Hyper-V層級開始處理這個問題,并表示客戶不需要自行更新虛擬機鏡像,但其同時警告稱客戶應繼續(xù)為自己的Linux與Windows虛擬機鏡像應用安全最佳實踐。因此讓我們面對現實吧:請更新您的鏡像。如果這些安全問題可能入侵虛擬機,那么您的所有資產都有可能面臨威脅,因此各服務器實例必須盡可能接受安全修復。
微軟公司指出,"大多數Azure客戶應該不會因為此項更新而遭遇明顯的性能影響。我們一直在努力優(yōu)化CPU與磁盤的I/O路徑,并在修復應用之后并沒有發(fā)現明顯的性能衰減。客戶可能會遇到一些網絡性能方面的影響,您可通過啟用Azure加速網絡(適用于Windows、Linux)來解決此類問題。Azure加速網絡是一基以免費方式供全部Azure客戶使用的功能。"
加速網絡是一項剛剛進入通用狀態(tài)的新功能。其通過回避Azure主機與虛擬交換機的方式加速虛擬機網絡流量。其能夠減少虛擬機的負載并將其轉移到Azure的內部可編程SmartNIC處。要使用這項功能,您必須啟動一套新的虛擬機,并在創(chuàng)建時為其添加一個新的網卡。要對其進行管理,大家還需要使用較新的Azure資源管理器門戶。
盡管能夠配合加速網絡,我仍然認為微軟的態(tài)度有點過于樂觀。我們都知道,安裝了修復補丁的Linux系統(tǒng)會遭遇部分工作負載運行速度降低的問題--無論其運行在何種云之上。因此,沒有理由認為Windows Server不會遭遇類似的性能問題。
除此之外,目前亦出現了一些Azure虛擬機在安裝補丁后出現問題的報告。
因此,在修復工作完成后,請測試您的服務器以確保其能夠以與您期待相符的方式工作。在此之后,請進行性能測試。越早意識到自己在面對怎樣的問題,您就能夠越快開始解決問題并著手調整云及服務器資源,最終搞定各類性能不佳的服務。
發(fā)布評論請先 登錄
相關推薦
評論