租用戶的受防護的 VM - 建立防護資料以定義受防護的 VM

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016

防護資料檔案 (也稱為佈建資料檔案或 PDK 檔案) 是一種加密檔案,租用戶或 VM 擁有者會建立該檔案以保護重要的 VM 組態資訊,例如系統管理員密碼、RDP 及其他身分識別相關的憑證、網域加入認證等等。 本主題提供如何建立防護資料檔案的相關資訊。 您必須先從主控服務提供者取得範本磁碟,或建立範本磁碟,如租用戶的受防護的 VM - 建立範本磁碟 (選用) 中所述,然後才能建立檔案。

如需防護資料檔案內容的清單和圖表,請參閱什麼是防護資料,以及為什麼有必要?

重要

本節中的步驟應在受防護網狀架構外部個別受信任的電腦上完成。 一般而言,VM 擁有者 (租用戶) 會為其 VM 建立防護資料,而不是網狀架構系統管理員。

若要準備建立防護資料檔案,請執行下列步驟:

接著,您可以建立防護資料檔案:

(選用) 取得遠端桌面連線的憑證

由於租用戶只能使用遠端桌面連線或其他遠端系統管理工具來連線至受防護的 VM,因此請務必確保租用戶能夠確認他們正在連線至正確的端點 (也就是說,沒有攔截連線的「中間人」)。

確認您連線至預定伺服器的其中一種方式,就是在起始連線時安裝及設定遠端桌面服務的憑證。 連線至伺服器的用戶端電腦會檢查其是否信任憑證,如果不信任則會顯示警告。 一般而言,為了確保連線用戶端信任憑證,RDP 憑證會從租用戶的 PKI 發出。 如需在遠端桌面服務中使用憑證的詳細資訊,請參閱 TechNet。

為了協助您決定是否需要取得自訂 RDP 憑證,請考慮下列事項:

  • 如果您只是在實驗室環境中測試受防護的 VM,則需要自訂 RDP 憑證。
  • 如果您的 VM 已設定為加入 Active Directory 網域,則電腦憑證通常會由組織的憑證授權單位自動發出,並用來在 RDP 連線期間識別電腦。 您需要自訂 RDP 憑證。
  • 如果您的 VM 未加入網域,但您想要在使用遠端桌面時確認連線至正確電腦的方法,則應該考慮使用自訂 RDP 憑證。

提示

選取要包含在防護資料檔案中的 RDP 憑證時,請務必使用萬用字元憑證。 一個防護資料檔案可用來建立不限數量的 VM。 由於每個 VM 都會共用相同的憑證,萬用字元憑證可確保無論 VM 的主機名稱為何,憑證都將有效。

建立回應檔案

由於 VMM 中已簽署的範本磁碟已一般化,因此租用戶必須提供回應檔案,以在佈建程式期間特製化其受防護的 VM。 回應檔案 (通常稱為回應檔案) 可以設定 VM 作為其預定角色 - 也就是說,其可以安裝 Windows 功能、註冊在上一個步驟中建立的 RDP 憑證,以及執行其他自訂動作。 其也會提供 Windows 安裝程式的必要資訊,包括預設系統管理員的密碼和產品金鑰。

如需取得和使用 New-ShieldingDataAnswerFile 函式來產生回應檔案 (Unattend.xml 檔案) 的資訊以建立受防護的 VM,請參閱使用 New-ShieldingDataAnswerFile 函式產生回應檔案。 您可以使用函式更輕鬆地產生回應檔案,以反映下列選項:

  • VM 是否打算在初始化程序結束時加入網域?
  • 您是否要使用大量授權或每個 VM 的特定產品金鑰?
  • 您是否使用 DHCP 或靜態 IP?
  • 您是否會使用將用來證明 VM 屬於組織的自訂遠端桌面通訊協定 (RDP) 憑證?
  • 您要在初始化結束時執行指令碼嗎?

防護資料檔案中使用的回應檔案將會用於使用該防護資料檔案所建立的每個 VM 上。 因此,您應該確定您不會將任何 VM 特定資訊硬式編碼到回應檔案中。 VMM 支援回應檔案中的一些替代字串 (請參閱下表),以處理可能從 VM 變更為 VM 的特殊化值。 您不需要使用這些字串;不過,VMM 會在其存在時予以利用。

為受防護的 VM 建立 unattend.xml 檔案時,請記住下列限制:

  • 如果您使用 VMM 來管理資料中心,則回應檔案必須使 VM 在設定之後關閉。 這可讓 VMM 知道何時應該向租用戶回報 VM 已完成佈建,且已可供使用。 VMM 會在其偵測到 VM 在佈建期間關閉後自動重新開啟其電源。

  • 請務必啟用 RDP 和對應的防火牆規則,以便在設定之後存取 VM。 您無法使用 VMM 主控台來存取受防護的 VM,因此您需要 RDP 才能連線至您的 VM。 如果您想要使用 Windows PowerShell 遠端執行功能來管理系統,請確定也已啟用 WinRM。

  • 受防護的 VM 回應檔案中唯一支援的替代字串如下:

    可取代元素 替代字串
    ComputerName @ComputerName@
    時區 @TimeZone@
    ProductKey @ProductKey@
    IPAddr4-1 @IP4Addr-1@
    IPAddr6-1 @IP6Addr-1@
    MACAddr-1 @MACAddr-1@
    Prefix-1-1 @Prefix-1-1@
    NextHop-1-1 @NextHop-1-1@
    Prefix-1-2 @Prefix-1-2@
    NextHop-1-2 @NextHop-1-2@

    如果您有一個以上的 NIC,您可以藉由遞增第一個位數,為 IP 組態新增多個替代字串。 例如,若要設定 2 NIC 的 IPv4 位址、子網路和閘道,您可以使用下列替代字串:

    替代字串 範例替代
    @IP4Addr-1@ 192.168.1.10/24
    @MACAddr-1@ 乙太網路
    @Prefix-1-1@ 24
    @NextHop-1-1@ 192.168.1.254
    @IP4Addr-2@ 10.0.20.30/24
    @MACAddr-2@ 乙太網路 2
    @Prefix-2-1@ 24
    @NextHop-2-1@ 10.0.20.1

使用替代字串時,請務必確保 VM 佈建程序期間會填入該字串。 如果未在部署時間提供 @ProductKey@ 之類的字串,則將回應檔案中的 <ProductKey> 節點保留為空白時特製化程序將會失敗,且您將無法連線至您的 VM。

此外,請注意,只有在您利用 VMM 靜態 IP 位址集區時,才會使用接近資料表結尾的網路相關替代字串。 您的主控服務提供者應該能夠告訴您是否需要這些替代字串。 如需 VMM 範本中靜態 IP 位址的詳細資訊,請參閱 VMM 文件中的下列內容:

最後,請務必注意,受防護的 VM 部署程序只會加密 OS 磁碟機。 如果您使用一或多個資料磁碟機來部署受防護的 VM,強烈建議您在租用戶網域中新增回應命令或群組原則設定,以自動加密資料磁碟機。

取得磁碟區簽章目錄檔案

防護資料檔案也包含租用戶所信任範本磁碟的相關資訊。 租用戶會以磁碟區簽章目錄 (VSC) 檔案的形式,從受信任的範本磁碟取得磁碟簽章。 然後,當部署新的 VM 時,系統會驗證這些簽章。 如果防護資料檔案中沒有任何簽章符合嘗試使用 VM 部署的範本磁碟 (亦即已修改或交換為不同的潛在惡意磁碟),則佈建程序將會失敗。

重要

雖然 VSC 可確保磁碟未遭到竄改,但租用戶仍務必先信任磁碟。 如果您是租用戶,且範本磁碟是由主機服務提供者所提供,請使用該範本磁碟來部署測試 VM,並執行您自己的工具 (防毒軟體、弱點掃描器等),以驗證磁碟實際上是您信任的狀態。

有兩種方式可取得範本磁碟的 VSC:

  1. 主機服務提供者 (或租用戶,如果租用戶具有 VMM 的存取權) 會使用 VMM PowerShell Cmdlet 來儲存 VSC,並將其提供給租用戶。 這可以在已安裝 VMM 主控台並設定為管理主控網狀架構 VMM 環境的任何電腦上執行。 用來儲存 VSC 的 PowerShell Cmdlet 包括:

    $disk = Get-SCVirtualHardDisk -Name "templateDisk.vhdx"
    
    $vsc = Get-SCVolumeSignatureCatalog -VirtualHardDisk $disk
    
    $vsc.WriteToFile(".\templateDisk.vsc")
    
  2. 租用戶可以存取範本磁碟檔案。 如果租用戶建立範本磁碟以上傳至主控服務提供者,或租用戶可以下載主機服務提供者的範本磁碟,則可能是這種情況。 在此情況下,如果沒有圖片中的 VMM,租用戶會執行下列 Cmdlet (與受防護的 VM 工具功能一併安裝,屬於遠端伺服器管理工具的一部分):

    Save-VolumeSignatureCatalog -TemplateDiskPath templateDisk.vhdx -VolumeSignatureCatalogPath templateDisk.vsc
    

選取信任的網狀架構

防護資料檔案中的最後一個元件與 VM 的擁有者和守護者有關。 守護者可用來指定受防護的 VM 的擁有者和受防護網狀架構的擁有者,而受防護網狀架構會授權其執行。

若要授權主控網狀架構執行受防護的 VM,您必須從主控服務提供者的主機守護者服務取得守護者中繼資料。 通常,主控服務提供者會透過其管理工具為您提供此中繼資料。 在企業案例中,您可以直接存取以自行取得中繼資料。

您或您的主機服務提供者可以藉由執行下列其中一個動作,從 HGS 取得守護者中繼資料:

  • 執行下列 Windows PowerShell 命令,或瀏覽至網站並儲存顯示的 XML 檔案,直接從 HGS 取得守護者中繼資料:

    Invoke-WebRequest 'http://hgs.bastion.local/KeyProtection/service/metadata/2014-07/metadata.xml' -OutFile .\RelecloudGuardian.xml
    
  • 使用 VMM PowerShell Cmdlet 從 VMM 取得守護者中繼資料:

    $relecloudmetadata = Get-SCGuardianConfiguration
    $relecloudmetadata.InnerXml | Out-File .\RelecloudGuardian.xml -Encoding UTF8
    

取得您想要授權受防護的 VM 在繼續之前執行的每個受防護網狀架構的守護者中繼資料檔案。

使用防護資料檔案精靈建立防護資料檔案並新增守護者

使用防護資料檔案精靈建立防護資料 (PDK) 檔案。 在這裡,您將新增 RDP 憑證、回應檔案、磁碟區簽章目錄、擁有者守護者,以及在上一個步驟中取得的已下載守護者中繼資料。

  1. 使用伺服器管理員或下列 Windows PowerShell 命令,在您的電腦上安裝 [遠端伺服器管理工具 > 功能管理工具 > 受防護的 VM 工具]

    Install-WindowsFeature RSAT-Shielded-VM-Tools
    
  2. 從 [開始] 功能表上的 [系統管理員工具] 區段開啟 [防護資料檔案精靈],或執行下列可執行檔 C:\Windows\System32\ShieldingDataFileWizard.exe

  3. 在第一頁上,使用第二個檔案選取方塊來選擇防護資料檔案的位置和檔案名稱。 一般而言,您會在擁有使用該防護資料 (例如 HR、IT、財務) 及其正在執行的工作負載角色 (例如檔案伺服器、網頁伺服器,或回應檔案所設定的任何其他內容) 所建立任何 VM 的實體之後命名防護資料檔案。 保留選項按鈕的設定為 [受防護範本防護資料]

    注意

    在 [防護資料檔案精靈] 中,您會注意到下列兩個選項:

    • [受防護範本的防護資料]
    • [保護現有 VM 和非受防護範本的資料]
      從受防護範本建立新的受防護的 VM 時,會使用第一個選項。 第二個選項可讓您建立防護資料,該資料只能在轉換現有的 VM 或從非受防護範本建立受防護的 VM 時使用。

    Shielding Data File Wizard, file selection

    此外,您必須選擇使用此防護資料檔案建立的 VM 是否會以「支援加密」模式真正受到防護或進行設定。 如需這兩個選項的詳細資訊,請參閱受防護網狀架構可以執行的虛擬機器類型為何?

    重要

    請仔細注意下一個步驟,因為其會定義受防護的 VM 的擁有者,以及受防護的 VM 將獲授權執行的網狀架構。
    需要擁有者守護者才能稍後將現有的受防護的 VM 從 [受防護] 變更為 [支援加密],反之亦然。

  4. 您在此步驟中的目標有兩個:

    • 建立或選取代表您作為 VM 擁有者的擁有者守護者

    • 在上一個步驟中,匯入您從主控服務提供者的 (或您自己的) 主機守護者服務下載的守護者

    若要指定現有的擁有者守護者,請從下拉式功能表中選取適當的守護者。 只有本機電腦上安裝且私密金鑰完好無損的守護者才會出現在這份清單中。 您也可以選取右下角的 [管理本機守護者],然後按一下 [建立] 並完成精靈,以建立您自己的擁有者守護者。

    接下來,我們會使用 [擁有者和守護者] 頁面,匯入稍早下載的守護者中繼資料。 從右下角選取 [管理本機守護者]。 使用 [匯入] 功能匯入守護者中繼資料檔案。 一旦您匯入或新增所有必要的守護者,請按一下 [確定]。 最佳做法是,在主控服務提供者或其代表的企業資料中心之後命名守護者。 最後,選取代表受防護的 VM 獲授權執行所在資料中心的所有守護者。 您不需要再次選取擁有者守護者。 完成之後,按一下 [下一步]

    Shielding Data File Wizard, owner and guardians

  5. 在 [磁碟區識別碼限定詞] 頁面上,按一下 [新增] 以授權防護資料檔案中的已簽署範本磁碟。 當您在對話方塊中選取 VSC 時,其會顯示該磁碟名稱、版本以及簽署時所使用憑證的相關資訊。 針對您想要授權的每個範本磁碟重複此程序。

  6. 在 [特製化值] 頁面上,按一下 [瀏覽] 以選取將用來特製化 VM 的 unattend.xml 檔案。

    使用底部的 [新增] 按鈕,將任何其他檔案新增至特製化程序期間所需的 PDK。 例如,如果您的回應檔案將 RDP 憑證安裝至 VM 上 (如使用 New-ShieldingDataAnswerFile 函式產生回應檔案中所述),則您應該在這裡新增 RDP 憑證 PFX 檔案和 RDPCertificateConfig.ps1 指令碼。 請注意,您在此處指定的任何檔案都會自動複製到所建立 VM 上的 C:\temp\。 您的回應檔案應該預期檔案在依路徑參考檔案時會位於該資料夾中。

  7. 在下一個頁面上檢閱您的選取項目,然後按一下 [產生]

  8. 完成之後關閉精靈。

使用 PowerShell 建立防護資料檔案並新增守護者

作為防護資料檔案精靈的替代方案,您可以執行 New-ShieldingDataFile 來建立防護資料檔案。

所有防護資料檔案都必須設定正確的擁有者和守護者憑證,才能授權受防護的 VM 在受防護網狀架構上執行。 您可以執行 Get-HgsGuardian 來檢查您是否已在本機安裝任何守護者。 擁有者守護者具有私密金鑰,而資料中心的守護者通常沒有。

如果您需要建立擁有者守護者,請執行下列命令:

New-HgsGuardian -Name "Owner" -GenerateCertificates

此命令會在本機電腦的憑證存放區中,於 [受防護的 VM 本機憑證] 資料夾下建立一組簽署和加密憑證。 您將需要擁有者憑證及其對應的私密金鑰來解除虛擬機器的防護,因此請確定這些憑證已備份並受到保護,以免遭竊。 具有擁有者憑證存取權的攻擊者可以使用憑證來啟動受防護的虛擬機器,或變更其安全性設定。

如果您需要從您想要用來執行虛擬機器 (主要資料中心、備份資料中心等) 的受防護網狀架構匯入守護者資訊,請針對從受防護網狀架構擷取的每個中繼資料檔案執行下列命令。

Import-HgsGuardian -Name 'EAST-US Datacenter' -Path '.\EastUSGuardian.xml'

提示

如果您使用自我簽署憑證或向 HGS 註冊的憑證已過期,您可能需要使用 -AllowUntrustedRoot 和/或 -AllowExpired 旗標搭配 Import-HgsGuardian 命令來略過安全性檢查。

您也需要針對您想要搭配此防護資料檔案使用的每個範本磁碟取得磁碟區簽章目錄防護資料回應檔案,讓作業系統自動完成其特製化工作。 最後,決定您是否希望 VM 受到完全防護,或只啟用 vTPM。 針對完全受防護的 VM 使用 -Policy Shielded,或針對啟用 vTPM 的 VM 使用 -Policy EncryptionSupported,以允許基本主控台連線和 PowerShell Direct。

一旦一切準備就緒,請執行下列命令來建立防護資料檔案:

$viq = New-VolumeIDQualifier -VolumeSignatureCatalogFilePath 'C:\temp\marketing-ws2016.vsc' -VersionRule Equals
New-ShieldingDataFile -ShieldingDataFilePath "C:\temp\Marketing-LBI.pdk" -Policy EncryptionSupported -Owner 'Owner' -Guardian 'EAST-US Datacenter' -VolumeIDQualifier $viq -AnswerFile 'C:\temp\marketing-ws2016-answerfile.xml'

提示

如果您使用自訂 RDP 憑證、SSH 金鑰或其他需要包含在防護資料檔案中的檔案,請使用 -OtherFile 參數來包含它們。 您可以提供逗點分隔的檔案路徑清單,例如 -OtherFile "C:\source\myRDPCert.pfx", "C:\source\RDPCertificateConfig.ps1"

在上述命令中,名為「Owner」的守護者 (從 Get-HgsGuardian 取得) 未來將能夠變更 VM 的安全性設定,而「EAST-US Datacenter」可以執行 VM,但無法變更其設定。 如果您有多個守護者,請以逗點分隔守護者的名稱,例如 'EAST-US Datacenter', 'EMEA Datacenter'。 磁碟區識別碼限定詞會指定您只信任範本磁碟的確切版本 (Equals) 或未來的版本 (GreaterThanOrEquals)。 磁碟名稱和簽署憑證必須完全符合版本比較,才能在部署時間納入考慮。 您可以將磁碟區識別碼限定詞逗點分隔清單提供給 -VolumeIDQualifier 參數,以信任多個範本磁碟。 最後,如果您有其他檔案需要隨附於 VM 的回應檔案,請使用 -OtherFile 參數並提供逗點分隔的檔案路徑清單。

請參閱 New-ShieldingDataFileNew-VolumeIDQualifier 的 Cmdlet 文件,以了解設定防護資料檔案的其他方式。

其他參考