Не так давно мы писали о новых возможностях платформы виртуализации VMware vSphere 6.5, где впервые появилась так давно запрашиваемая администраторами функция шифрования, как содержимого виртуальных дисков, так и шифрования горячих миграций vMotion.
Устроено это шифрование ВМ на базе алгоритма AES-NI, а управление ключами происходит по стандарту KMIP 1.1. Когда операция ввода-вывода приходит на диск виртуальной машины - она сразу же шифруется "на лету", что обеспечивает полную безопасность при попытке несанкционированного доступа к данным.
Шифруются не только виртуальные диски, но и конфигурационные файлы VMX, файлы снапшотов и все прочие файловые объекты, относящиеся к виртуальной машине.
Шифрование объектов ВМ идет за ее пределами, таким образом гостевая ОС не имеет доступа к ключам шифрования. Шифрованные виртуальные машины всегда перемещаются между хостами ESXi средствами также шифрованного vMotion.
Чтобы начать шифровать виртуальную машину, нужно назначить ей соответствующую политику хранения (Storage Policy):
Как работает VM Encryption в VMware vSphere 6.5:
Пользователь назначает политику VM Encryption на уровне виртуальной машины.
Для машины генерируется случайный ключ и шифруется ключом из key manager (KMS Key).
При включении ВМ сервер vCenter получает ключ из Key Manager, посылает его в VM encryption Module на сервере ESXi, что разлочивает ключ в гипервизоре.
Далее все операции ввода-вывода идут через encryption module, шифруя все входящие и исходящие SCSI-команды прозрачно для гостевой ОС.
Все это совместимо со сторонними системами управления ключами (и требует одну из них), которые построены на стандарте KMIP версии 1.1 или выше:
Для того, чтобы расшифровать виртуальную машину и хранить далее ее в обычном формате, нужно просто поставить дефолтную политику хранения (Datastore default).
Также будет специальный командлет PowerCLI, который может шифровать/расшифровывать ВМ, а также определять, какие из них в данный момент зашифрованы.
vCenter в системе шифрования работает только как клиент. Для управления ключами используется Key Management Server (KMS).
В механизме управления привилегиями теперь появилась роль No Cryptography Administrator. Если ее назначить, то стандартному администратору будут запрещены следующие привилегии:
Manage key servers
Manage keys
Manage encryption policies
Console access to encrypted VMs
Upload/download encrypted VMs
В качестве KMS можно использовать любые внешние системы, работающие по стандарту KMIP:
При использовании шифрования ВМ нужно учитывать следующие моменты:
Да, вам понадобится система управления ключами (внешний Key Management Server)
Не поддерживаются возможности SAN Backup.
Если для обычного метода бэкапа сделать резервную копию - она будет нешифрованной, если восстановить - то все будет в соответствии с политикой целевого хранилища (то есть, ВМ может оказаться незашифрованной после восстановления).
Сам сервер vCenter не может быть зашифрован - иначе его просто было бы нельзя включить.
Также не поддерживаются следующие возможности:
Suspend/resume
Шифрование ВМ со снапшотами и создание снапшотов для шифрованных ВМ
Serial/Parallel port
Content library
vSphere Replication
Для vMotion шифрование включается на уровне отдельной ВМ, а для передачи данных в момент синхронизации используются 256-битные ключи шифрования.
Есть 3 политики для шифрованного vMotion:
Disabled - отключено.
Opportunistic - шифрование только в случае, если это поддерживает источник и целевой хост ESXi, в противном случае vMotion будет нешифрованным.
Required - обязательно будет использоваться.
Перенос машин между хостами осуществляется путем обмена одноразовыми ключами, которые генерируются и обслуживаются сервером vCenter (не KMS).
В целом, шифрование виртуальных машин и миграций vMotion - штука классная, но помните, что вам потребуется для организации этого процесса внешний KMS-сервер.