Зашифруйте свои виртуальные жесткие диски в Windows Server 2016 с помощью службы Host Guardian и экранированных виртуальных машин.

Одной из лучших новых функций безопасности, выпущенных в Windows Server 2016, была служба Host Guardian. Это служба, которая предоставляет службы аттестации и защиты ключей, необходимые для того, чтобы Hyper-V мог запускать экранированные виртуальные машины.
Экранированные виртуальные машины решают, возможно, самую большую проблему безопасности Hyper-V — переносимость. Когда вы создаете виртуальную машину Hyper-V, на самом деле вы создаете несколько файлов, которые заменяют физическое оборудование. Есть файл виртуального жесткого диска и несколько файлов, в которых хранится аппаратная конфигурация виртуальной машины. У вас также могут быть файлы для снимков виртуальной машины. Причина возникновения этой проблемы заключается в том, что все содержимое виртуальной машины записывается на один виртуальный жесткий диск (хотя к виртуальной машине можно подключить дополнительные виртуальные жесткие диски).
Предотвращение выхода из-под контроля
По умолчанию Hyper-V использует динамически расширяемые файлы виртуального жесткого диска. Это означает, что хотя размер виртуального жесткого диска по умолчанию составляет 127 ГБ, изначально размер виртуального жесткого диска составляет всего несколько МБ. Файл увеличивается по мере записи данных на виртуальный жесткий диск. Следовательно, полностью подготовленная виртуальная машина может реально потреблять от 20 до 30 ГБ физического пространства хранения (хотя виртуальные машины могут быть намного больше). Администратор-мошенник может легко скопировать такой файл на флэш-накопитель USB, сунуть его в карман и уйти с полной копией виртуальной машины. Остальной административный персонал вряд ли догадывается, что инцидент вообще имел место.
Когда мошеннический администратор возвращается домой, он может использовать копию виртуальной машины для загрузки и запуска виртуальной машины в своей собственной системе. Даже что-то такое простое, как ноутбук с Windows 10, может запускать виртуальную машину Hyper-V. Если администратор-мошенник не знает пароль виртуальной машины или у него отсутствуют компоненты инфраструктуры, такие как контроллер домена, это не проблема. Администратор-мошенник может просто смонтировать виртуальный жесткий диск и просматривать его содержимое по своему желанию, даже не вводя пароль.
Экранированные виртуальные машины решают эту проблему, шифруя файлы виртуальных машин таким образом, чтобы предотвратить запуск виртуальной машины в неавторизованной системе. Шифрование также защищает от установки копии виртуального жесткого диска на неавторизованную машину.
Настройте защищенный узел с помощью службы Host Guardian.
Чтобы использовать экранирование виртуальной машины, узел Hyper-V должен быть настроен для работы в качестве защищенного узла. Это можно сделать, открыв Диспетчер серверов и выбрав службу Host Guardian из списка доступных ролей, как показано ниже.
Использование диспетчера серверов для включения службы Host Guardian — это нормально, но если вы управляете своей сетью с помощью System Center, вам будет приятно узнать, что вы можете использовать System Center Virtual Machine Manager для включения службы Host Guardian.
Чтобы включить службу Host Guardian с помощью диспетчера виртуальных машин, откройте консоль диспетчера виртуальных машин, перейдите в рабочую область «Настройки» и щелкните параметр «Настройки службы Host Guardian». Это заставит VMM отобразить экран настроек службы Host Guardian, показанный ниже.
Как видно на рисунке, вам нужно будет начать с предоставления пары URL-адресов, которые будут использоваться сервером аттестации и сервером защиты ключей. В диалоговом окне приведены примеры того, как должны выглядеть эти URL-адреса. Диалоговое окно также содержит параметры для обеспечения политики целостности кода и указания виртуального жесткого диска, который будет использоваться в процессе шифрования. Вам не нужно беспокоиться об установке этих параметров прямо сейчас.
К сожалению, когда дело доходит до включения службы Host Guardian на существующих узлах Hyper-V, VMM позволяет включать каждый узел по отдельности, а не выполнять массовую операцию. Чтобы включить службу Host Guardian на существующем узле, перейдите в рабочую область консоли «Виртуальные машины и службы», разверните контейнер «Все узлы» и выберите узел Hyper-V, которым вы хотите управлять.
Режим технического обслуживания
Прежде чем вы сможете включить службу Host Guardian, вам необходимо перевести хост в режим обслуживания. Для этого щелкните правой кнопкой мыши хост и выберите команду «Начать режим обслуживания» в контекстном меню. Теперь, когда хост находится в режиме обслуживания, щелкните хост правой кнопкой мыши еще раз и выберите команду «Свойства» в контекстном меню. Это заставит консоль отобразить лист свойств хоста.
Следующим шагом в этом процессе является выбор вкладки службы Host Guardian на странице свойств. Чтобы включить службу Host Guardian, достаточно установить флажок «Включить службу Host Guardian» и нажать «ОК». Тем не менее, есть несколько важных вещей, которые вам нужно знать.
Сначала VMM проверяет, настроены ли URL-адреса Host Guardian. Если вы неправильно настроили URL-адреса, вы увидите предупреждающее сообщение, подобное показанному на рисунке ниже.
Второе, о чем следует помнить, это то, что после включения службы Host Guardian вам нужно будет управлять ею, используя только VMM. Если вы внесете изменения в URL-адреса сервера аттестации или сервера защиты ключей из-за пределов VMM, тогда VMM перестанет разрешать размещение экранированных виртуальных машин на узле.
Как видите, использование VMM для включения службы защиты узла на узле Hyper-V — довольно простой процесс. Просто не забудьте вывести хост обратно из режима обслуживания, когда закончите. После включения службы Host Guardian вы можете вернуться и настроить ранее упомянутый виртуальный жесткий диск Shielding Helper и любые необходимые политики целостности кода.
Стоит отметить, что добавление политики целостности кода в VMM через интерфейс, показанный на втором снимке экрана, не приводит к тому, что узел использует эту политику. После создания политики целостности кода вам нужно будет вернуться на лист свойств узла и выбрать политику целостности кода, которую вы хотите использовать на узле.