萬能技客:修補休眠中的 VM

使用 Microsoft Offline Virtual Machine Servicing Tool 來修補休眠中的 VM,可以確保它們已準備好上線,並且避免發生過期修補程式的問題。

作者:Greg Shields

您討厭修補嗎?我很討厭,修補向來是吃力不討好的工作,而且商業價值又很低,做起來更加無趣。當然,唯一的商業價值就是知道您可能可以避免未來發生不可預期的大災難。

一直以來,IT 產業都將修補視為一份苦差事。它是熬夜加班,打電話說「親愛的,抱歉,我趕不及回去吃晚餐了」的主要原因,修補及修補管理是我們避之唯恐不及的工作。

不過近來的修補管理已經不再像以前那麼煩人。不久前,我們需要使用龐大的試算表,連結每個修補程式與修補程式的「MS」號碼和「q」號碼,並配合它的 Microsoft 重要性與企業的優先順序,才能做好修補工作。而追蹤哪些修補程式要取代其他修補程式,每月則會耗掉至少半天的時間。

但隨著 Windows Server Update Services (WSUS) 的推出,許多這些缺點都獲得改進。這個簡單卻神奇的省時工具免除了修補工作所需的大部分人力。利用 WSUS 加上一點指令碼,甚至可以指示它立即修補電腦,而無須等候下一次排程的週期 (這個指令碼還在;想要複本的話,請瀏覽 concentratedtech.com)。

WSUS 有一項限制,就是它的自動化修補機制只有在您需要修補的伺服器或桌上型電腦處於開機狀態才能執行。基於種種原因而必須關機的電腦會造成 WSUS 的問題。此時就需要設定修補週期在隔日早上機器重新啟動時立刻開始執行,否則系統管理員就必須在前一天晚上另行找出機器並啟動它。

到目前為止,我們都曉得 WSUS 的這項限制沒啥大不了。如果使用者讓機器在夜晚修補週期的期間關機,隔日早上啟動機器時便會看到好意的球形通知,修補程式便會開始安裝。即使在今日,伺服器通常還是會一直處於開機狀態。這表示伺服器一直在運作,因此能夠從 WSUS 修補多載接收指示。

改變配方

自從資料中心轉為虛擬化之後,這個輕鬆的靜態環境又再次發生變化。一旦虛擬化之後,我們的伺服器仍然可能保持持續開機的狀態。但是這些虛擬伺服器必須其來有自。對於我們大多數人來說,這個「有自」就是透過複製伺服器範本。

伺服器範本很棒,因為它可以幫助我們快速建立新的伺服器,然後用最省力的方法讓伺服器上線。此外還能確保每一部伺服器都是從相同的核心組態開始運作。但伺服器範本也有黑暗面。雖然這些電腦在孕育新伺服器方面很稱職,但範本本身並不應該賦予生命力。

伺服器範本是在某處的檔案共用上以 VHD 檔案的形式存在。關閉時,此檔案實際上處於休眠狀態。它與大型的 Word 檔案或 Excel 試算表相差無幾。開啟時,休眠檔案變成完全運作的伺服器,它可以處理正常的工作負載,也可以進行現今惡意程式碼的邪惡工作或其他攻擊方式。

簡言之,如果這些休眠檔案未經過修補,就可能成為全新的惡意程式碼發作的溫床,而原因只不過是它們被啟動了

開始緊張了嗎?很好,因為這就是 Microsoft Offline Virtual Machine Servicing Tool (目前提供 2.1 版) 的宗旨。這個免費的解決方案加速器會安裝一組自動功能,目的是讓原本為休眠狀態的虛擬機器 (VM) 與 WSUS 保持最新狀態。

Figure 1 The three major components of offline VM servicing

[圖 1] 離線 VM 服務的三大元件。

為了掌握它的運作方式,請參閱 [圖 1]。您可以看到裝載 System Center Virtual Machine Manager (VMM) 的伺服器如何與其中一個程式庫共用、Hyper-V 主機,以及您的軟體更新管理伺服器互動。此更新管理伺服器可以是 WSUS 伺服器,或可用的 System Center Configuration Manager (SCCM) 伺服器。無論使用何者,處理程序都差不多。

Offline VM Servicing Tool 使用所謂的「 服務工作 」來管理在 VMM 程式庫中為 VM 部署更新的工作。這些服務工作基本上是由 Windows 工作排程器在預定時間開始處理的工作。

當服務工作準備好啟動時,它首先會從 VM 的範本位置「喚醒」VM。喚醒作業牽涉到將 VM 部署到 Hyper-V 主機,並啟動它。一旦啟動 VM 之後,VM 內部設定的 Windows Update Agent (WUA) 便會收到指示以開始軟體更新週期。

VM 的 WUA 設定方式與您為所有電腦所使用的設定相同。您可以透過群組原則套用,或在 VM 內手動設定。您必須設定所有的典型 WSUS 設定,這個處理作業才能順利執行,例如設定更新服務位置、所有 WSUS 電腦群組,以及您的安全性原則所定義的其他特定特性。

成功更新 VM 之後,服務工作便會關閉它,並傳回程式庫。這項自動處理程序可確保您的 VM (以及基礎結構的其餘部分) 都根據正確的修補程式進行更新。Offline VM Servicing Tool 不會加入自己的更新管理設定,反而是依賴您已經為 WSUS 或 SCCM 建立的現有設定。

事實上,安裝 Offline VM Servicing Tool 需要採取幾個步驟,如果您尚未讀過相關的解決方案加速器指南,可能不太清楚這些步驟。雖然已經是 2.1 版,但這個工具仍然像是早期發行的版本。安裝這個工具需要從 Microsoft 網站進行主控台下載。執行它則需要額外的步驟,就是將 PSExec 二進位檔案 (psexec.exe 與 pdh.dll 兩者都要) 下載和複製到工具的 bin 資料夾,位置是 C:\Program Files\Microsoft Offline Virtual Machine Servicing Tool\bin。另外還必須針對 RemoteSigned 設定 Windows PowerShell 執行原則。

Figure 2  The Offline VM Servicing Tool console

[圖 2] Offline VM Servicing Tool 主控台。

安裝之後,它的主控台 (如 [圖 2] 所示) 實際上只會識別虛擬機器群組來決定到時候哪些機器要接受修補。它也會識別服務工作,這些服務工作中包含更新工作的特性。此外,服務工具只會配合您的 VMM 程式庫內含的 VM 運作。這意味著已經部署到 Hyper-V 主機的已關閉 VM 將無法使用此工具。

它會用於實際上不是範本的 VM,例如您準備好在機器故障或需要額外伺服器時帶上線的熱備援 VM。在此情況下,工具建議在熱備援伺服器上使用次要 NIC 並部署到隔離網路。這麼做可確保當您只想要套用最新修補程式時,不會發生熱備援開始運作的意外。

Microsoft Offline Virtual Machine Servicing Tool 可能並非滿足您所有離線修補需求的全方位解決方案,但是這個工具經濟實惠而且功能單純,如果您只想讓某些休眠 VM 維持最新狀態,它可以派上用場。考慮到手動執行更新作業的痛苦,再加上錯失修補程式可能造成的影響,您就能了解密切掌握所有休眠中但具有潛在危險的 VM 有多麼重要。

Greg Shields

Greg Shields 是一位 MVP,他是 Concentrated Technology 的合夥人。若要了解更多 Shields 的萬事通秘訣,請造訪 ConcentratedTech.com。

 

相關內容