Одним из новшеств версии Hyper-V, представленной в Windows Server 2016, является поддержка шифрования дисков внутри виртуальных машин с помощью BitLocker . Тем самым данные на виртуальных дисках могут быть защищены от администратора хоста Hyper-V, который не сможет получить доступ к информации на vhdx диске, подключив его к другой ВМ. Данная возможность особенно актуальна при размещении ВМ в частном или публичном облаке IaaS.
Шифрование дисков в ВМ с помощью BitLocker можно использовать как само по себе, так и в рамках технологии Shielded VM (поговорим о ней в следующей статье). Возможно шифрование дисков как для первого, так и для второго поколения виртуальных машин Hyper-V. Однако реализуется оно по разному, в первом случае используется Key Storage Drive, во втором – виртуальный модуль Trusted Platform Module (vTPM).
Активация vTPM для поддержки BitLocker на ВМ 2-го поколения
В виртуальных машинах Hyper-V Gen-2 для шифрования дисков с помощью BitLocker необходимо использовать виртуальное устройство — криптопроцессор TPM 2.0 (Trusted Platform Module), которое может использоваться ВМ для шифрования дисков.
В качестве гостевой ОС может выступать Windows Server 2012 R2, Windows Server 2016 или различные дистрибутивы Linux (с поддержкой dm-crypt).
TPM включается индивидуально для каждой ВМ. Проверить, включена ли поддержка vTPM для ВМ, выполните команду PowerShell:
Get-VMSecurity VM01
Чтобы включить vTPM, выполните команду:
Enable-VMTPM -vm VM01
Disable-VMTPM -VM VM01
Включить/отключить vTPM можно и с помощью консоли Hyper-V Manager в настройках ВМ в разделе Security(Enable Trusted Platform Module).
Как вы видите, здесь же можно включить использования TPM для шифрования состояния ВМ и трафика миграции/репликации. С помощью PoSh эта функция включается так:
Set-VMSecurity -vm VM01 -EncryptStateAndVmMigrationTraffic $true
После этого в гостевой ОС в разделе Security devices диспетчера устройств появится устройство с именем Trusted Platform Module 2.0. Данное TPM устройство является виртуальным, оно не привязано к хосту Hyper-V и при миграции ВМ на другой хост продолжает функционировать.
После этого можно установить компонент BitLocker
Install-WindowsFeature -Name BitLocker -IncludeAllSubFeature –IncludeManagementTools -Restart
Затем с помощью BitLocker можно зашифровать диск с данными и системный диск.
Использование BitLocker на ВМ Hyper-V первого поколения
Для виртуальных машин Gen1, которые по разным причинам не могут быть мигрированы на Gen2 (например, для гостевых ОС, которые не поддерживают UEFI), Microsoft разработала функцию Key Storage Drive (KSD). KSD по сути представляет собой виртуальный аналог USB флешки на которой хранятся ключи шифрования BitLocker. Для включения KSD, выключите ВМ, поскольку предполагается добавление IDE устройства и в разделе Security настроек ВМ нажмите кнопку Add Key Storage Drive.
Включите ВМ, откройте консоль управления дисками (Disk Management) и убедитесь, что появился новый диск размером 42 Мб.
Инициализируйте и отформатируйте данный диск в NTFS с помощью консоли Disk Management или Diskpart.
Т.к. по умлочанию BitLocker требует наличия чипа TPM, нужно с помощью групповой политики включить возможнсть шифрования BitLocker без наличия чипа TPM. Для этого откройте редактор локальной групповой политики (gpedit.msc) и перейдите в раздел Computer Configuration->Administrative Templates->Windows Components -> BitLocker Drive Encryption. Включите политику Require Additional Authentication At Startup со следующими настройками:
- Allow BitLocker without a compatible TPM (requires a password or a startup key on a USB flash drive) = Включить
- Configure TPM startup: Allow TPM
- Configure TPM startup PIN: Allow startup PIN with TPM
- Configure TPM startup key: Allow startup key with TPM
- Configure TPM startup key and PIN: Allow startup key and PIN with TPM
Осталось установить компонент BitLocker в гостевой ОС:
Install-WindowsFeature BitLocker -IncludeAllSubFeature -IncludeManagementTools -Restart
Зашифруем диск C: (диск K: в данном случае – адрес диска Key Storage Drive):
Enable-BitLocker C: -StartupKeyProtector -StartupKeyPath K:
или так
Manage-bde -on C: -StartupKey K:\ -UsedSpaceOnly -SkipHardwareTest
Можно зашифровать и другие разделы:
Enable-BitLocker E: -StartupKeyProtector -StartupKeyPath K: -UsedSpaceOnly
Текущий статус процесса шифрования диска можно получить с помощью команды:
Get-BitLockerVolume