Экранированные виртуальные машины для клиентов — создание экранированных данных для определения экранированных виртуальных машин
Файл данных экранирования (также называемый файлом данных подготовки, или PDK-файлом) — это зашифрованный файл, который создает клиент или владелец виртуальной машины, чтобы защитить важную информацию о конфигурации виртуальной машины (пароль администратора, протокол удаленного рабочего стола и другие сертификаты с информацией об удостоверениях, учетные данные для присоединения домена и т. д.). В этом разделе содержатся сведения о создании файла данных экранирования. Прежде чем создать файл, необходимо либо получить диск шаблона от поставщика услуг размещения, либо создать диск шаблона, как описано в статье "Экранированные виртуальные машины для клиентов" — создание диска шаблона (необязательно).
Список и схема содержимого файла данных экранирования см. в разделе "Что такое экранирование данных" и почему это необходимо?.
Внимание
Действия, описанные в этом разделе, должны выполняться на отдельном доверенном компьютере за пределами защищенной структуры. Как правило, владелец виртуальной машины (клиент) создаст данные экранирования для своих виртуальных машин, а не администраторов структуры.
Чтобы подготовиться к созданию файла данных экранирования, сделайте следующее:
- Получение сертификата для подключения к удаленному рабочему столу
- Создание файла ответов
- Получение файла каталога подписей тома
- Выбор доверенных структур
Затем можно создать файл данных экранирования:
(Необязательно) Получение сертификата для подключения к удаленному рабочему столу
Так как клиенты могут подключаться только к экранированных виртуальных машинах с помощью подключения к удаленному рабочему столу или другим средствам удаленного управления, важно убедиться, что клиенты могут проверить, что они подключаются к правильной конечной точке (то есть нет "человека в середине" перехвата подключения).
Одним из способов проверки подключения к целевому серверу является установка и настройка сертификата для служб удаленных рабочих столов при запуске подключения. Клиентский компьютер, подключающийся к серверу, проверяет, доверяет ли сертификат сертификату и отображает предупреждение, если это не так. Как правило, чтобы убедиться, что подключение клиента доверяет сертификату, сертификаты RDP выдаются из PKI клиента. Дополнительные сведения об использовании сертификатов в службах удаленных рабочих столов см. в TechNet.
Чтобы решить, нужно ли получить пользовательский сертификат RDP, рассмотрим следующее:
- Если вы просто тестируете экранированные виртуальные машины в лабораторной среде, вам не нужен пользовательский сертификат RDP.
- Если виртуальная машина настроена на присоединение к домену Active Directory, сертификат компьютера обычно будет выдан центром сертификации вашей организации автоматически и используется для идентификации компьютера во время подключений RDP. Вам не нужен пользовательский сертификат RDP.
- Если виртуальная машина не присоединена к домену, но вы хотите убедиться, что вы подключаетесь к правильному компьютеру при использовании удаленного рабочего стола, следует рассмотреть возможность использования пользовательских сертификатов RDP.
Совет
При выборе сертификата RDP для включения в файл данных экранирования обязательно используйте подстановочный сертификат. Один файл данных экранирования можно использовать для создания неограниченного количества виртуальных машин. Так как каждая виртуальная машина будет совместно использовать один и тот же сертификат, подстановочный знак гарантирует, что сертификат будет действительным независимо от имени узла виртуальной машины.
Создание файла ответов
Так как подписанный диск шаблона в VMM обобщен, клиенты должны предоставить файл ответов для специализации экранированных виртуальных машин во время процесса подготовки. Файл ответов (часто называемый автоматическим файлом) может настроить виртуальную машину для своей предполагаемой роли, то есть установить компоненты Windows, зарегистрировать сертификат RDP, созданный на предыдущем шаге, и выполнить другие пользовательские действия. Он также предоставит необходимые сведения для установки Windows, включая пароль администратора по умолчанию и ключ продукта.
Сведения о получении и использовании функции New-ShieldingDataAnswerFile для создания файла ответа (Unattend.xml файла) для создания экранированных виртуальных машин см. в статье "Создание файла ответа" с помощью функции New-ShieldingDataAnswerFile. С помощью функции можно проще создать файл ответов, который отражает следующие варианты:
- Должна ли виртуальная машина присоединиться к домену в конце процесса инициализации?
- Будет ли вы использовать корпоративную лицензию или определенный ключ продукта для каждой виртуальной машины?
- Вы используете DHCP или статический IP-адрес?
- Будет ли использоваться пользовательский сертификат протокола удаленного рабочего стола (RDP), который будет использоваться для подтверждения того, что виртуальная машина принадлежит вашей организации?
- Вы хотите запустить скрипт в конце инициализации?
Файлы ответов, используемые в файлах данных экранирования, будут использоваться на каждой виртуальной машине, созданной с помощью этого файла данных экранирования. Таким образом, необходимо убедиться, что в файле ответов не требуется жестко кодировать сведения, относящиеся к виртуальной машине. VMM поддерживает некоторые строки подстановки (см. таблицу ниже) в автоматическом файле для обработки значений специализации, которые могут меняться с виртуальной машины на виртуальную машину. Использовать их не требуется; однако, если они присутствуют VMM, будут воспользоваться ими.
При создании файла unattend.xml для экранированных виртуальных машин следует учитывать следующие ограничения:
Если вы используете VMM для управления центром обработки данных, автоматический файл должен привести к отключению виртуальной машины после его настройки. Это позволяет VMM знать, когда он должен сообщать клиенту о завершении подготовки виртуальной машины и готов к использованию. VMM автоматически будет включать виртуальную машину, когда она обнаруживает, что она отключена во время подготовки.
Обязательно включите RDP и соответствующее правило брандмауэра, чтобы получить доступ к виртуальной машине после его настройки. Консоль VMM нельзя использовать для доступа к экранированных виртуальных машинах, поэтому для подключения к виртуальной машине потребуется RDP. Если вы предпочитаете управлять системами с помощью удаленного взаимодействия Windows PowerShell, убедитесь, что winRM также включен.
Ниже приведены только строки подстановки, поддерживаемые в экранированных файлах автоматической виртуальной машины:
Замещаемый элемент Строка подстановки ComputerName @ComputerName@ Часовой пояс @TimeZone@ ProductKey @ProductKey@ IPAddr4-1 @IP4Addr-1@ IPAddr6-1 @IP6Addr-1@ MACAddr-1 @MACAddr-1@ Префикс-1-1 @Prefix-1-1@ NextHop-1-1 @NextHop-1-1@ Префикс-1-2 @Prefix-1-2@ NextHop-1-2 @NextHop-1-2@ Если у вас несколько сетевых адаптеров, можно добавить несколько строк подстановки для конфигурации IP, добавив первую цифру. Например, чтобы задать IPv4-адрес, подсеть и шлюз для 2 сетевых адаптеров, можно использовать следующие строки подстановки:
Строка подстановки Пример подстановки @IP4Addr-1@ 192.168.1.10/24 @MACAddr-1@ Ethernet @Prefix-1-1@ 24 @NextHop-1-1@ 192.168.1.254 @IP4Addr-2@ 10.0.20.30/24 @MACAddr-2@ Ethernet 2 @Prefix-2-1@ 24 @NextHop-2-1@ 10.0.20.1
При использовании строк подстановки важно убедиться, что строки будут заполнены во время процесса подготовки виртуальной машины. Если строка, например @ProductKey@ не указана во время развертывания, оставляя <узел ProductKey> в автоматическом файле пустым, процесс специализации завершится ошибкой, и вы не сможете подключиться к виртуальной машине.
Кроме того, обратите внимание, что строки подстановки, связанные с сетью в конце таблицы, используются только в том случае, если вы используете пулы статических IP-адресов VMM. Поставщик услуг размещения должен иметь возможность сообщить вам, требуются ли эти строки подстановки. Дополнительные сведения о статических IP-адресах в шаблонах VMM см. в следующей документации по VMM:
Наконец, важно отметить, что процесс развертывания экранированных виртуальных машин шифрует только диск ОС. Если вы развертываете экранированную виртуальную машину с одним или несколькими дисками данных, настоятельно рекомендуется добавить в домен клиента автоматическую команду или параметр групповой политики для автоматического шифрования дисков данных.
Получение файла каталога подписей тома
Экранирование файлов данных также содержит сведения о дисках шаблона, доверяющих клиенту. Клиенты получают подписи дисков из доверенных дисков шаблонов в виде файла каталога подписей тома (VSC). Затем эти подписи проверяются при развертывании новой виртуальной машины. Если ни одна из подписей в файле данных экранирования не соответствует диску шаблона, который пытается развернуть с виртуальной машиной (т. е. он был изменен или переключен на другой, потенциально вредоносный диск), процесс подготовки завершится ошибкой.
Внимание
Хотя VSC гарантирует, что диск не был изменен, важно, чтобы клиент доверял диску в первую очередь. Если вы являетесь клиентом и диском шаблона, предоставляемым хост-средством, разверните тестовую виртуальную машину с помощью этого диска шаблона и запустите собственные средства (антивирусная программа, сканеры уязвимостей и т. д.) для проверки диска в состоянии доверия.
Существует два способа получения VSC диска шаблона:
Ведущий (или клиент, если у клиента есть доступ к VMM), использует командлеты PowerShell VMM для сохранения VSC и предоставляет его клиенту. Это можно выполнить на любом компьютере с установленной консолью VMM и настроить для управления средой VMM структуры размещения. Командлеты PowerShell для сохранения VSC:
$disk = Get-SCVirtualHardDisk -Name "templateDisk.vhdx" $vsc = Get-SCVolumeSignatureCatalog -VirtualHardDisk $disk $vsc.WriteToFile(".\templateDisk.vsc")
Клиент имеет доступ к файлу диска шаблона. Это может быть так, если клиент создает диск шаблона для отправки в поставщик услуг размещения или если клиент может скачать диск шаблона хост-сервера. В этом случае без VMM на рисунке клиент выполнит следующий командлет (установлен с функцией экранированных средств виртуальной машины, частью средств удаленного администрирования сервера):
Save-VolumeSignatureCatalog -TemplateDiskPath templateDisk.vhdx -VolumeSignatureCatalogPath templateDisk.vsc
Выбор доверенных структур
Последний компонент в файле данных экранирования связан с владельцем и опекунами виртуальной машины. Опекуны используются для назначения как владельца экранированных виртуальных машин, так и защищенных структур, на которых она разрешена запускать.
Чтобы авторизовать структуру размещения для запуска экранированных виртуальных машин, необходимо получить метаданные защиты от службы защиты узла поставщика услуг размещения. Часто поставщик услуг размещения предоставляет эти метаданные с помощью своих средств управления. В корпоративном сценарии у вас может быть прямой доступ для получения метаданных самостоятельно.
Вы или ваш поставщик услуг размещения можете получить метаданные защиты из HGS, выполнив одно из следующих действий:
Получите метаданные защиты непосредственно из HGS, выполнив следующую команду Windows PowerShell или перейдите на веб-сайт и сохраните отображаемый XML-файл:
Invoke-WebRequest 'http://hgs.bastion.local/KeyProtection/service/metadata/2014-07/metadata.xml' -OutFile .\RelecloudGuardian.xml
Получите метаданные защиты из VMM с помощью командлетов PowerShell VMM:
$relecloudmetadata = Get-SCGuardianConfiguration $relecloudmetadata.InnerXml | Out-File .\RelecloudGuardian.xml -Encoding UTF8
Получите файлы метаданных защиты для каждой защищенной структуры, которую вы хотите авторизовать экранированные виртуальные машины для запуска перед продолжением.
Создание файла данных экранирования и добавление опекунов с помощью мастера экранирования файлов данных
Запустите мастер экранирования файлов данных, чтобы создать файл экранирования данных (PDK). Здесь вы добавите сертификат RDP, автоматический файл, каталоги подписей томов, опекун владельца и скачанные метаданные защиты, полученные на предыдущем шаге.
Установите средства администрирования функций > удаленного администрирования сервера экранированные средства > виртуальной машины на компьютере с помощью диспетчер сервера или следующей команды Windows PowerShell:
Install-WindowsFeature RSAT-Shielded-VM-Tools
Откройте мастер экранирования файлов данных из раздела "Средства администратора" в меню или выполните следующий исполняемый файл C:\Windows\System32\ShieldingDataFileWizard.exe.
На первой странице используйте поле выбора второго файла, чтобы выбрать расположение и имя файла для файла данных экранирования. Как правило, вы назовете файл данных экранирования после сущности, которая владеет любыми виртуальными машинами, созданными с этим экранированием данных (например, HR, IT, Finance) и ролью рабочей нагрузки, которая выполняется (например, файловый сервер, веб-сервер или что-либо другое, настроенное автоматическим файлом). Оставьте переключатель на экранирование данных для экранированных шаблонов.
Примечание.
В мастере экранирования файлов данных вы заметите следующие два варианта:
- Экранирование данных для экранированных шаблонов
- Экранирование данных для существующих виртуальных машин и шаблонов без экранирования
Первый вариант используется при создании экранированных виртуальных машин из экранированных шаблонов. Второй вариант позволяет создавать экранирование данных, которые можно использовать только при преобразовании существующих виртуальных машин или создании экранированных виртуальных машин из не экранированных шаблонов.
Кроме того, необходимо выбрать, будут ли виртуальные машины, созданные с помощью этого файла данных экранирования, действительно экранированы или настроены в режиме шифрования, поддерживаемом. Дополнительные сведения об этих двух вариантах см. в разделе "Что такое типы виртуальных машин, которые может выполнять защищенная структура?".
Внимание
Внимательно обратите внимание на следующий шаг, так как он определяет владельца экранированных виртуальных машин, и какие структуры экранированных виртуальных машин будут авторизованы для запуска.
Хранение владельца требуется, чтобы позже изменить существующую экранированную виртуальную машину с экранированного на шифрование поддерживается или наоборот.Ваша цель на этом шаге состоит из двухкратных:
Создание или выбор опекуна владельца, представляющего вас в качестве владельца виртуальной машины
Импортируйте опекун, скачанный из службы защиты узла поставщика услуг размещения (или собственного) на предыдущем шаге.
Чтобы назначить существующего опекуна владельца, выберите соответствующего опекуна в раскрывающемся меню. В этом списке отображаются только опекуны, установленные на локальном компьютере с закрытыми ключами. Вы также можете создать собственный опекун владельца, выбрав "Управление локальными опекунами " в правом нижнем углу и нажав кнопку "Создать " и завершить работу мастера.
Затем мы импортируем метаданные опекуна, скачанные ранее, с помощью страницы "Владелец" и "Опекуны ". Выберите "Управление локальными опекунами" в правом нижнем углу. Используйте функцию импорта для импорта файла метаданных опекуна. Нажмите кнопку ОК после импорта или добавления всех необходимых опекунов. Рекомендуется использовать для защиты имен после поставщика услуг размещения или корпоративного центра обработки данных, которые они представляют. Наконец, выберите все опекуны, представляющие центры обработки данных, в которых экранированная виртуальная машина авторизована для запуска. Вам не нужно снова выбрать опекуна владельца. Нажмите кнопку " Далее" после завершения.
На странице квалификаторов идентификатора тома нажмите кнопку "Добавить ", чтобы авторизовать подписанный диск шаблона в файле данных экранирования. При выборе VSC в диалоговом окне отображаются сведения об имени, версии диска и сертификате, который использовался для подписи. Повторите этот процесс для каждого диска шаблона, который вы хотите авторизовать.
На странице "Значения специализации" нажмите кнопку "Обзор", чтобы выбрать файл unattend.xml, который будет использоваться для специализации виртуальных машин.
Нажмите кнопку "Добавить " внизу, чтобы добавить дополнительные файлы в PDK, необходимые во время специализации. Например, если автоматический файл устанавливает сертификат RDP на виртуальную машину (как описано в разделе "Создание файла ответа с помощью функции New-ShieldingDataAnswerFile"), необходимо добавить PFX-файл сертификата RDP и скрипт RDPCertificateConfig.ps1. Обратите внимание, что все файлы, указанные здесь, будут автоматически скопированы в C:\temp\ на созданной виртуальной машине. Автоматический файл должен ожидать, что файлы будут находиться в этой папке при ссылке на них по пути.
Просмотрите выбранные элементы на следующей странице и нажмите кнопку "Создать".
Закройте мастер после завершения работы.
Создание файла данных экранирования и добавление опекунов с помощью PowerShell
В качестве альтернативы мастеру экранирования файлов данных можно запустить New-ShieldingDataFile , чтобы создать файл данных экранирования.
Все файлы данных экранирования должны быть настроены с правильными сертификатами владельца и опекуна, чтобы авторизовать экранированные виртуальные машины для запуска в защищенной структуре. Вы можете проверить, установлены ли у вас какие-либо опекуны локально, запустив Get-HgsGuardian. Опекуны владельцев имеют закрытые ключи, а опекуны центра обработки данных обычно не имеют.
Если вам нужно создать опекун владельца, выполните следующую команду:
New-HgsGuardian -Name "Owner" -GenerateCertificates
Эта команда создает пару сертификатов подписывания и шифрования в хранилище сертификатов локального компьютера в папке "Экранированные локальные сертификаты виртуальной машины". Вам потребуется сертификаты владельца и соответствующие закрытые ключи для распаковки виртуальной машины, поэтому убедитесь, что эти сертификаты будут резервные копии и защищены от кражи. Злоумышленник с доступом к сертификатам владельца может использовать их для запуска экранированных виртуальных машин или изменения конфигурации безопасности.
Если вам нужно импортировать данные защиты из защищенной структуры, в которой требуется запустить виртуальную машину (основной центр обработки данных, резервные центры обработки данных и т. д.), выполните следующую команду для каждого файла метаданных, полученного из защищенных структур.
Import-HgsGuardian -Name 'EAST-US Datacenter' -Path '.\EastUSGuardian.xml'
Совет
Если истек срок действия самозаверяющего сертификата или сертификатов, зарегистрированных в HGS, может потребоваться использовать -AllowUntrustedRoot
флаги и (или) -AllowExpired
с командой Import-HgsGuardian для обхода проверок безопасности.
Кроме того, необходимо получить каталог подписей тома для каждого диска шаблона, который вы хотите использовать с этим файлом данных экранирования и файлом ответа на экранирование данных, чтобы операционная система автоматически выполнила свои задачи специализации.
Наконец, решите, будет ли виртуальная машина полностью экранирована или включена только vTPM.
Используйте -Policy Shielded
полностью экранированную виртуальную машину или -Policy EncryptionSupported
виртуальную машину с поддержкой vTPM, которая позволяет использовать основные подключения консоли и 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"
В приведенной выше команде охранник с именем "Владелец" (полученный из Get-HgsGuardian) сможет изменить конфигурацию безопасности виртуальной машины в будущем, в то время как "East-US Datacenter" может запускать виртуальную машину, но не изменять ее параметры.
Если у вас несколько опекунов, разделите имена опекунов запятыми, как 'EAST-US Datacenter', 'EMEA Datacenter'
.
Квалификатор идентификатора тома указывает, доверяете ли вам только точную версию диска шаблона или будущие версии (GreaterThanOrEquals).
Имя диска и сертификат подписи должны совпадать точно для сравнения версий, которые учитываются во время развертывания.
Вы можете доверять нескольким дискам шаблона, указав список квалификаторов -VolumeIDQualifier
идентификатора тома запятыми.
Наконец, если у вас есть другие файлы, которые должны сопровождать файл ответа с виртуальной машиной, используйте -OtherFile
параметр и укажите разделенный запятыми список путей к файлам.
Дополнительные сведения о настройке файла данных экранирования см. в документации по командлету New-ShieldingDataFile и New-VolumeIDQualifier .