共用方式為


受防護網狀架構與受防護的 VM 概觀

虛擬化安全性是 Hyper-V 中的重要項目。 除了保護主機或其他虛擬機器不受執行惡意軟體的虛擬機器影響之外,我們也需要保護虛擬機器不會因為主機遭到入侵而受到危害。 這是目前每一個虛擬化平台的基本危害,無論是 Hyper-V、VMware 或任何其他平台。 如果虛擬機器離開組織 (無論是惡意或意外),該虛擬機器就可在任何其他系統上執行。 保護您組織中的高價值資產 (例如網域控制站、敏感性檔案伺服器及 HR 系統) 是第一優先考量。

為協助針對遭到入侵的虛擬化網狀架構提供保護,Windows Server 2016 Hyper-V 引進了受防護的 VM。 受防護的 VM 是第 2 代 VM (在 Windows Server 2012 和更新版本中受到支援),具有虛擬 TPM、使用 BitLocker 加密,並僅能在網狀架構中狀況良好且經過核准的主機上執行。 受防護的 VM 和受防護網狀架構可讓雲端服務提供者或企業私人雲端系統管理員為租用戶 VM 提供更安全的環境。

防護結構包含:

  • 1 項主機守護者服務 (HGS) (通常是有 3 個節點的叢集)。
  • 1 或多部受保護主機。
  • 一組受防護的虛擬機器。 以下圖表說明「主機守護者服務」如何使用證明以確保只有已知且有效的主機可以啟動受防護的 VM,以及如何使用金鑰保護來安全地發行受防護的 VM 的金鑰。

當租用戶建立在受防護網狀架構上執行的受防護的 VM 時,Hyper-V 主機和受防護的 VM 本身會由 HGS 保護。 HGS 提供兩種不同的服務:證明和金鑰保護。 「證明」服務可確保僅有受信任的 Hyper-V 主機可以執行受防護的 VM,而「金鑰保護」服務可提供將它們開機,並即時移轉到其他受防護主機時所需的金鑰。

受防護主機網狀架構的圖表。

若要深入了解,請參閱這段受防護的 VM 簡介的影片。

受防護網狀架構解決方案中的證明模式

HGS 為受保護的架構提供不同的驗證模式:

  • TPM 信任證明 (硬體式)
  • 主機金鑰證明 (根據非對稱金鑰組)

建議使用 TPM 信任證明,因為它提供更強的保證 (如下表中所述),但它要求您的 Hyper-V 主機要有 TPM 2.0。 如果您目前沒有 TPM 2.0 或任何 TPM,則可以使用主機金鑰證明。 如果您決定在取得新硬體時轉向 TPM 信任見證,您可以在「主機守護服務」上切換見證模式,而且這幾乎不會中斷您的系統架構。

您選擇的主機證明模式 Host assurances
TPM-trusted attestation: Offers the strongest possible protections but also requires more configuration steps. 主機硬體與韌體必須包含 TPM 2.0 和 UEFI 2.3.1,並啟用安全開機。 受防護主機是根據其 TPM 身份識別、測量開機順序和程式碼完整性原則核准,以確保其只會執行經核准的程式碼。
主機金鑰證明:用來支援沒有 TPM 2.0 可用的現有主機硬體。 需要較少的設定步驟,並與一般伺服器硬體相容。 受防護主機會根據擁有的金鑰獲得核准。

Another mode named Admin-trusted attestation is deprecated beginning with Windows Server 2019. 此模式是以所指定 Active Directory Domain Services (AD DS) 安全性群組中的受防護主機成員資格為基礎。 主機金鑰證明提供類似的主機識別,且更容易設定。

主機守護者服務提供的保證

HGS 與建立受防護的 VM 的方法搭配使用,協助提供以下保證。

VM 的保證類型 受防護的 VM 保證,來自金鑰保護服務以及受防護的 VM 建立方法
BitLocker 加密的磁碟 (作業系統磁碟和資料磁碟) 受防護的 VM 會使用 BitLocker 保護其磁碟。 啟動虛擬機器 (VM) 並解密磁碟所需的 BitLocker 密鑰受到了受保護 VM 的虛擬 TPM 之保護,使用的是業界實證的技術,例如安全測量啟動。 雖然受防護的 VM 僅會自動加密並保護作業系統磁碟,您也可以將附加至受防護的 VM 的 資料磁碟 加密。
從「信任的」範本磁碟/映像部署新的受防護的 VM 部署新的受防護的 VM 時,租用戶可指定他們所信任的範本磁碟。 受防護的範本磁碟在其內容被視為可信任時,會有以該時間點計算的簽章。 磁碟簽章接著會儲存在簽章目錄中,在建立受防護的 VM 時,租用戶可安全地提供給網狀架構。 在受防護的 VM 佈建期間,會再次計算磁碟的簽章,並與目錄中信任的簽章比較。 如果簽章相符,則會部署受防護的 VM。 如果簽章不相符,則會將受防護的範本磁碟視為不受信任,且部署會失敗。
建立受防護的 VM 時密碼及其他機密資料的保護 當建立 VM 時,必須確保 VM 機密資料 (例如信任的磁碟簽章、RDP 憑證和 VM 本機 Administrator 帳戶的密碼) 不會洩漏至網狀架構。 這些機密資料會儲存在稱為防護資料檔案 (PDK 檔案) 的加密檔案中,它受到租用戶金鑰保護,並且由租用戶上傳至網狀架構。 當受防護的 VM 建立後,租用戶選取要使用的防護資料,這些機密資料只會在受防護網狀架構中安全地提供給受信任的元件。
租用戶對 VM 啟動位置的控制 防護資料也包含受防護網狀架構清單,特定受防護的 VM 可在其上執行。 這非常實用,例如,受防護的 VM 通常位於內部部署的私人雲端,但可能需要移轉至另一個 (公用或私人) 雲端以供災害復原用途使用。 目標雲端或網狀架構必須支援受防護的 VM,且受防護的 VM 必須允許網狀架構執行它。

什麼是防護資料,以及它為何是必要的?

防護資料檔案 (也稱為佈建資料檔案或 PDK 檔案) 是一種加密檔案,租用戶或 VM 擁有者會建立該檔案以保護重要的 VM 組態資訊,例如系統管理員密碼、RDP 及其他身分識別相關的憑證、網域加入認證等等。 建立受防護的 VM 時,網狀架構系統管理員會使用防護資料檔案,但無法檢視或使用檔案中包含的資訊。

其中,防護資料檔案會包含機密資料,例如:

  • Administrator credentials
  • 回應檔案 (unattend.xml)
  • 安全性原則決定使用此防護資料創建的 VM 是設定為受防護模式還是支援加密模式
    • 請記住,設定為受防護的 VM 會防止網狀架構系統管理員存取,而支援加密的 VM 則不會
  • 用以保護與 VM 遠端桌面通訊的 RDP 憑證
  • 允許從中建立新 VM 的簽章磁碟範本清單目錄,其中包含受信任、已簽署的範本磁碟簽章列表
  • 金鑰保護裝置 (或 KP),定義受防護的 VM 被授權在哪些受防護網狀架構上執行

防護資料檔案 (PDK 檔案) 提供保證,以確保 VM 根據租用戶的預期方式建立。 例如,當租用戶在防護資料檔案中放入回應檔案 (unattend.xml) 並傳遞給主機服務提供者時,主機服務提供者無法檢視或變更該回應檔案。 同樣地,主機服務提供者無法在建立受防護的 VM 時替換不同的 VHDX,因為防護資料檔案包含可從中建立受防護的 VM 的信任磁碟簽章。

下圖說明防護資料檔案和相關的組態項目。

顯示防護數據文件和相關組態元素的圖例。

受防護網狀架構可執行的虛擬機器類型為何?

受防護網狀架構能夠以三種可能方式的其中之一執行 VM:

  1. 普通的 VM 版本,不提供超出舊版本 Hyper-V 的任何保護
  2. 支援加密的 VM,其安全保護可由布建系統管理員設定
  3. 受防護的 VM,所有的保護均會開啟,並且無法由網狀架構系統管理員停用

支援加密的 VM 是專供在網狀架構系統管理員完全受信任時使用。 例如,企業可能會部署受防護網狀架構,以確保 VM 磁碟在靜止時會加密,以符合法規規定。 網狀架構系統管理員可以繼續使用便利的管理功能,例如 VM 主控台連線、PowerShell Direct,和其他日常的管理功能及疑難排解工具。

受防護的 VM 是專供在 VM 的資料和狀態必須受到的保護網狀架構中使用,避免網狀架構系統管理員以及可能在 Hyper-V 主機上執行之不受信任軟體的影響。 例如,受防護的 VM 將一律不允許 VM 主控台連線,而網狀架構系統管理員可在支援加密的 VM 上開啟或關閉這項保護。

下表摘要說明加密支援和受防護的 VM 之間的差異。

Capability 支援第 2 代加密 第二代屏蔽
Secure Boot 是,必要但可設定 是,必要且強制執行
Vtpm 是,必要但可設定 是,必要且強制執行
加密 VM 狀態和即時移轉流量 是,必要但可設定 是,必要且強制執行
Integration components 可由網狀架構系統管理員設定 封鎖特定整合元件 (例如資料交換、PowerShell Direct)
虛擬機器連線 (主控台)、HID 裝置 (例如鍵盤、滑鼠) 開啟,無法停用 已從 Windows Server 版本 1803 開始的主機上啟用;已菜舊版主機上停用
COM/Serial ports Supported 停用 (無法啟用)
Attach a debugger (to the VM process)1 Supported 停用 (無法啟用)

1 Traditional debuggers that attach directly to a process, such as WinDbg.exe, are blocked for shielded VMs because the VM's worker process (VMWP.exe) is a protected process light (PPL). 不會封鎖替代偵錯技術,例如 LiveKd.exe 所使用的技術。 不同於受防護的 VM,支援加密的 VM 不會以 PPL 的形式執行背景工作程序,因此 WinDbg.exe 等傳統偵錯工具會繼續正常運作。

受防護的 VM 和支援加密的 VM 皆會繼續支援一般的網狀架構管理功能,例如即時移轉、Hyper-V 複本、VM 檢查點等等。

作用中的主機守護者服務:如何開啟受防護的 VM

防護數據檔工作流程的圖表。

  1. VM01 已開啟。 在受防護主機能夠開啟受防護的 VM 之前,它必須先明確證明其狀況良好。 若要證明其狀況良好,它必須向金鑰保護服務 (KPS) 提供健康情況的憑證。 健康情況的憑證是透過證明程序取得。

  2. 主機要求驗證。 受防護的主機要求驗證。 證明模式取決於「主機守護者服務」:

    • TPM-trusted attestation: Hyper-V host sends information that includes:

      • TPM 識別資訊 (其簽署金鑰)

      • 最近開機順序期間所啟動程序的相關資訊 (TCG 記錄檔)

      • 主機上所套用程式碼完整性 (CI) 原則的相關資訊。

        主機啟動時會進行驗證,之後每隔 8 小時再進行一次。 當 VM 嘗試啟動時,如果因為某些原因導致主機沒有證明憑證,這也會觸發證明。

    • 主機金鑰證明:Hyper-V 主機會傳送金鑰組的公用部分。 HGS 會驗證主機金鑰是否已註冊。

    • Admin-trusted attestation: Hyper-V host sends a Kerberos ticket, which identifies the security groups that the host is in. HGS 會驗證主機所屬的安全性群組是由受信任的 HGS 系統管理員在先前所設定。

  3. 證明成功 (或失敗)。 證明模式會決定成功證明主機狀況良好所需的檢查。 透過 TPM 信任的證明,系統會驗證主機的 TPM 身分識別、開機度量和程式碼完整性原則。 使用主機金鑰證明時,只會驗證主機金鑰的註冊。

  4. 證明憑證傳送給主機。 假設驗證成功,健康證書便會傳送給主機,而主機會被視為「被防護」,獲授權執行受防護的虛擬機。 主機使用健全性證書來授權金鑰保護服務,以安全地釋放用於受防護 VM 的金鑰。

  5. 主機要求 VM 金鑰。 受防護主機沒有開啟受防護的 VM (在此案例中為 VM01) 所需的金鑰。 若要取得必要金鑰,受防護主機必須向 KPS 提供下列項目:

    • 目前的健康證明
    • 加密的機密資料 (金鑰保護裝置或 KP),其中包含開啟 VM01 所需的金鑰。 機密資料是使用只有 KPS 知道的其他金鑰來加密。
  6. 金鑰釋放。 KPS 會檢查健康情況憑證以判斷其有效性。 憑證必須尚未過期,且 KPS 必須信任發出憑證的證明服務。

  7. 金鑰傳回至主機。 如果健康情況憑證有效,KPS 會嘗試解密機密資料,並安全地傳回開啟 VM 所需的金鑰。 金鑰會對受防護主機的 VBS 加密。

  8. 主機開啟了 VM01。

受防護網狀架構與受防護的 VM 詞彙

Term Definition
主機守護者服務 (HGS) 安裝於裸機伺服器安全叢集上的 Windows Server 角色,可測量 Hyper-V 主機的健康情況,並在開啟或即時移轉受防護的 VM 時對狀況良好的 Hyper-V 主機發行金鑰。 These two capabilities are fundamental to a shielded VM solution and are referred to as the Attestation service and Key Protection Service respectively.
guarded host 可執行受防護的 VM 的 Hyper-V 主機。 A host can only be considered guarded when it has been deemed healthy by HGS' Attestation service. 受防護的 VM 無法在尚未驗證或驗證失敗的 Hyper-V 主機上開啟或即時移轉到該主機。
guarded fabric 這是一個集合詞彙,用於描述 Hyper-V 主機的網狀架構及其主機守護者服務,這些服務具備管理和執行受防護虛擬機的能力。
受防護的虛擬機器 (VM) 僅能在受保護的主機上執行的虛擬機器,並且可免於被檢查、竄改及竊取,防範惡意的系統管理員及主機惡意程式碼的侵害。
fabric administrator 可管理虛擬機器的公用或私人雲端系統管理員。 在受保護的網狀架構中,網狀架構管理員無法接觸受防護 VM,或是決定這些受防護 VM 可以在哪些主機上執行的策略。
HGS administrator 公用或私人雲端中受信任的系統管理員,有權管理受防護主機 (即為可執行受防護的 VM 的主機) 的原則和密碼編譯內容。
佈建資料檔案或防護資料檔案 (PDK 檔案) 租用戶或使用者建立的加密檔案,用來保存重要的 VM 組態資訊,並保護該資訊防止其他人存取。 例如,防護資料檔案可以包含 VM 建立時指派給本機 Administrator 帳戶的密碼。
虛擬化安全性 (VBS) 以 Hyper-V 為基礎、可防止系統管理員存取的處理及儲存環境。 「虛擬安全模式」提供系統儲存作業系統金鑰的能力,該金鑰不會對作業系統管理員顯示。
virtual TPM 信賴平台模組 (TPM) 的虛擬化版本。 從 Windows Server 2016 中的 Hyper-V 開始,您可以提供虛擬 TPM 2.0 裝置,讓虛擬機器可進行加密,就像實體 TPM 可讓實體機器被加密一樣。

Additional References