Enable windows virtualization based security что это

Содержание

Шифрование виртуальных машин в облаке с помощью vSphere Virtual Machine Encryption

Привет, Хабр! Я Александр Воронцов, технический специалист Cloud4Y. В этой статье расскажу про vSphere Virtual Machine Encryption. Здесь не будет описания опыта внедрения. Это, скорее, обзор технологии и её неочевидных нюансов и особенностей, не описанных в документации. Я постараюсь дать ответы на вопросы, которые могут возникнуть у специалиста в процессе изучения.

Демонстрацию буду проводить на тестовом стенде vSphere 6.7 U3, Cloud Director 10.2

vSphere VM Encryption — механизм шифрования виртуальных машин, который впервые появился в VMware vSphere 6.5. Официальная документация по VM Encryption по ссылке. VM Encryption требует VMware vSphere 6.5 и новее и KMS (кластера KMS) с поддержкой протокола KMIP v1.1. VMware не предоставляет KMS, его требуется приобрести отдельно у другого вендора. В vSphere 7.0 U2 добавили Native Key Provider, который можно использовать вместо внешнего KMS для VM Encryption. В данной статье его не рассматриваю.

Какие задачи решает VM Encryption

VM Encryption позволяет хранить файлы виртуальной машины (файл конфигурации, файлы виртуальных дисков, снапшоты и т. п.) в зашифрованном виде на СХД, не прибегая к средствам шифрования самой СХД.

VM Encryption позволяет облачному провайдеру дополнительно защитить свою инфраструктуру (напр. зашифровать служебные VM), а также предоставлять своим клиентам опциональную возможность шифрования клиентских VM с управлением шифрованием через VMware Cloud Director.

VM Encryption позволяет клиенту облачного провайдера зашифровать свои VM в облаке, а также использовать vTPM (Virtual Trusted Platfom Module) в связке, например c Windows BitLocker.

Как это работает

У VMware есть видео, которое демонстрирует работы механизма vSphere Virtual Machine Encryption.

В механизме VM Encryption используется два ключа симметричного шифрования:

2. Key Encryption Key (дал. KEK). Этот ключ генерирует KMS. Таким ключом зашифрован DEK. Этот ключ хранится в базе данных KMS и в оперативной памяти ESXi хоста, на котором зарегистрирована VM.

Давайте рассмотрим процессы, который происходят при работе VM Encryption.

Этапы инициализации шифрования:

vCenter запрашивает KEK у KMS. KMS генерирует KEK, сохраняет его в своей базе данных, и передает его vCenter. vCenter передаёт KEK всем ESXi в vSphere High Avalibility кластере. ESXi хранят KEK в оперативной памяти и никогда не записывают его на диск.

ESXi, получив KEK, генерирует DEK, зашифровывает DEK с помощью KEK и записывает зашифрованный DEK в конфигурационный файл VM.

ESXi выполняет процесс шифрования файлов VM с помощью DEK.

Этапы включения зашифрованной VM:

ESXi получает команду на запуск зашифрованной VM, проверяет в своей ОЗУ наличие KEK для расшифровки VM. Если KEK нет в ОЗУ ESXi, KEK запрашивается у vCenter, а vCenter запрашивает KEK у KMS.

KMS передаёт KEK vCenter, а vCenter передаёт KEK ESXi хосту.

ESXi хост запускает VM.

Этапы миграции vMotion зашифрованной VM:

При миграции vMotion KMS сервер не используется. Encrypted vMotion можно использовать и без VM Encryption.

ESXi получает команду на миграцию VM на другой ESXi хост. Если миграция выполняется в другой ESXi кластер, то на этом шаге vCenter запросит KEK у KMS и передаст его на ESXi назначения.

ESXi источника запрашивает «одноразовый ключ» у vCenter. vCenter генерирует ключ и передаёт его хостам источника и назначения миграции.

ESXi источника зашифровывает «одноразовым ключом» ОЗУ виртуальной машины и расшифрованный DEK и передаёт их на хост назначения с помощью vMotion

ESXi назначения расшифровывает «одноразовым ключом» полученные данные и VM продолжает работу на ESXi назначения.

Как настроить VM Encryption

Поскольку есть множество KMS серверов с поддержкой KMIP (у VMware даже есть документ, описывающий «сертифицированные KMS»), я не буду рассматривать конкретную реализацию KMS, выбор и настройку также обойду стороной. В моей тестовой среде уже есть кластер KMS из трёх нод, в котором каждая нода реплицирует данные с другими нодами.

Если у вас нет KMS, можете взять любой из списка «сертифицированных». Бесплатных решений в этом списке нет, если требуется что-то такое, смотрите в сторону PyKMIP. Кластер на PyKMIP построить нельзя, но с vCenter он работает. Проверял.

Для кластера KMS не требуется Load Balancer. Все ноды кластера равнозначны, содержат одинаковую базу данных и vCenter может запросить ключ у любой ноды KMS, а KMS, который выдал ключ, реплицирует этот ключ на другие ноды.

Установка доверительных отношений между vCenter и KMS

Давайте подключим наши vCenter к кластеру KMS. Процедуру подключения необходимо повторить на каждом vCenter.

Создаём новый кластер, указываем адрес нашей первой ноды и порт 5696 (стандартный порт KMIP). В моем случае логин и пароль указывать не требуется, но это может зависеть от реализации KMS.

Говорим vCenter доверять KMS.

На следующем шаге нам нужно, чтобы KMS доверял vCenter. Нажимаем MAKE KMS TRUST VCENTER.

На выбор есть несколько вариантов установки доверия KMS к vCenter. В случае с нашим кластером используется способ загрузки в vCenter ключевой пары KMS.

Указываем пару публичного и приватного ключей, сгенерированных KMS сервером. Эта пара ключей генерируется специально для настройки доверительных отношений между KMS и KMIP клиентом.

После установки доверия KMS к vCenter, кластер KMS будет доверять этому vCenter. Добавляем в vCenter остальные ноды KMS (загрузка пары ключей этих нод не потребуется) и на этом настройка KMS завершена.

Создание Storage Policy с шифрованием

Следующим шагом будет создание Storage Policy, использующей шифрование.

VM Encryption позволяет хранить VM с шифрованием и без шифрования на одной СХД. У нас уже есть Storage Policy vcd-default-policy. Создадим аналогичную vcd-default-encrypted-policy и включим шифрование в параметрах Host based services.

Как управлять шифрованием из vSphere Client

Когда KMS и Storage Policy настроены, можно применить Storage Policy с шифрованием к VM. Включаем шифрование в настройках VM, выбирая vcd-default-encrypted-policy. На примере Linux машины это выглядит так.

Применяем настройки, и в Tasks виртуальной машины видим прогресс выполнения первичного шифрования.

Шифрование конфигурационных файлов VM без шифрования дисков

Мы можем зашифровать конфигурационные файлы VM, не шифруя файлы виртуальных дисков VM. Для этого нам нужно включить шифрование VM, а затем переопределить Storage Policy для виртуальных дисков. В результате такой настройки в vSphere Client мы увидим:

VM configuration files are encrypted.

No hard disks are encrypted.

Мы можем использовать такой сценарий для подключения vTPM и используя Bitlocker в Windows VM. Про vTPM и Bitlocker расскажу дальше.

Из vSphere невозможно выгрузить VM (в ova или ovf), использующую VM Encryption.

Дополнительные возможности для Windows

Virtualization Based Security

Для Windows 10, Windows Server 2016 и новее мы можем использовать Virtualization Based Security. Включение VBS принудительно установит механизм загрузки в UEFI и включит Secure Boot. Если VM использовала BIOS, она, скорее всего, не загрузится после включения.

Про VBS можно прочитать в документации Microsoft или блоге VMware. VBS недостаточно включить в настройках виртуальной машины, его необходимо настроить в гостевой ОС. Процедура настройки описана здесь и в документации Microsoft.

Virtual Trusted Platform Module

Для Windows 10 и Windows Server 2016 и новее, включив шифрование конфигурационных файлов VM и используя для загрузки UEFI (Secure boot можно не включать), в настройках VM становится доступна установка vTPM.

Данные vTPM хранятся в файле *.nvram в зашифрованном виде.

В гостевой ОС vTPM определяется как обычный физический TPM 2.0.

vTPM в Windows определяется как обычный TPM 2.0

Bitlocker

С vTPM мы можем использовать Windows Bitlocker без ввода пароля при загрузке Windows.

Windows будет загружаться автоматически и разблокировать диски с помощью ключей в vTPM. Если такую VM вынести за пределы площадки облачного провайдера, (или, если vTPM будет изменён, а такое происходит даже при восстановлении бэкапа VM, кроме восстановления поверх) то Bitlocker будет требовать ввести ключ восстановления Bitlocker. Перенести ключи из vTPM невозможно (такой кейс не описан в документации и простых способов извлечения ключей из vTPM я не вижу).

После ввода ключа восстановление Bitlocker диск останется зашифрован и начнёт использовать новый vTPM, т.е., в случае изменения vTPM, ключ восстановления Bitlocker нужно будет ввести только 1 раз.

Кейс использования vTPM + Bitlocker может быть компромиссом между удобством (VM включается автоматически без ввода пароля Bitlocker) и безопасностью данных (данные зашифрованы средствами гостевой ОС).

Как управлять шифрованием VM из VMware Cloud Director. Взгляд со стороны клиента облачного провайдера

Через панель управления VMware Cloud Director 10.1 и новее есть возможность выбрать Storage Policy, использующую шифрование.

Можно изменять как VM default policy, и в этом случае, изменится политика всех дисков VM, у которых Storage policy не задана явно (задана как VM default policy), а также изменится политика хранения конфигурационных файлов VM.

Также можно задавать Storage Policy индивидуально для каждого диска.

Необходимо придерживаться правила, чтоб все диски VM были или зашифрованы, или были без шифрования. При попытке использования дисков с шифрованием и без шифрования на одной виртуальной машине VMware Cloud Director не позволит это сделать.

При зашифрованных конфигурационных файлах виртуальной машины мы увидим напротив VM Storage Policy надпись (Encrypted). При зашифрованных дисках надпись (Encrypted) будет отображаться напротив каждого виртуального диска.

vTPM без шифрования диска средствами VM Encryption

Чтобы подключить vTPM, конфигурационные файлы VM нужно зашифровать (также, должен быть включен Secure Boot и использовать Windows в качестве гостевой ОС). Если использовать Bitlocker, то шифрование дисков VM средствами VM Encryption приведёт к двойному шифрованию и может негативно сказаться на производительности. Чтобы зашифровать конфигурационные файлы и не шифровать диски VM,необходимо назначить VM Storage Policy c шифрованием, а для дисков использовать Storage Policy без шифрования.

Подключить vTPM из интерфейса VMware Cloud Director нельзя, но это возможно сделать через vSphere Client силами инженеров облачного провайдера.

Недокументированная фича

vTPM для *nix систем

Существует недокументированный способ подключить vTPM для *nix, или для Windows, использующей BIOS. Этим способом можно подключить vTPM к любой виртуальной машине.

Для этого нужно подключить vTPM, используя PowerCLI. Установим PowerCLI и выполним скрипт через PowerShell.

После выполнения скрипта мы увидим, что конфигурационные файлы VM зашифрованы, но диск использует Storage Policy без шифрования.

vTPM на Linux VM

Также отобразится подключенный vTPM.

vTPM на Linux VM

Проверим работу vTPM в Ubuntu 1804.

На Ubuntu установим пакеты:

apt install clevis clevis-tpm2

Проверим наличие TPM

Проверим работу TPM

echo ‘Test vTPM’ | clevis encrypt tpm2 ‘<>‘ > test.jwe

cat test.jwe | clevis decrypt tpm2

vTPM работает. Теперь мы можем настроить шифрование диска, используя ключи из vTPM, например, по этой статье.

Это недокументированная фича. Используйте на свой страх и риск.

Как делать резервные копии зашифрованных VM

Я провёл тестирования резервного копирования и восстановления с помощью Veeam Backup & Replication 10. Использовал один сервер бэкапа и две виртуальные машины Veeam Proxy в режиме Virtual Appliance. Тестировал бэкап из vDC VMware Cloud Director.

Для того, чтобы Virtual Appliance прокси мог делать бэкап зашифрованной VM, он сам должен являться зашифрованной VM. Подробнее в документации VEEAM.

Провёл 35 тестов. Во всех тестах использовал Windows Server 2019 EN c 1 диском на 40ГБ.

Рассматривал 6 вариаций конфигурации VM:

VM с UEFI и включенным Secure Boot;

VM с UEFI, включенным Secure Boot и включенным Virtualization Based Security ;

VM с UEFI, включенным Secure Boot, включенным Virtualization Based Security, установленным vTPM и настроенным BitLocker в гостевой ОС;

VM с BIOS, бэкап которой выполнялся на Storage Policy без шифрования, затем было включено шифрования и бэкап выполнялся уже зашифрованной VM (Кейс, где шифрование будет включено на VM, бэкап которой уже выполнялся до включения шифрования).

Для каждой VM протестировал 2 варианта бэкапа и 3 варианта восстановления.

В таблице ниже привожу результаты тестирования.

Восстановление поверх (Quick Rollback)

Восстановление в другой vDC

Восстановление в другой vDC в другом сайте vSphere

Источник

Enable windows virtualization based security что это

Также аппаратное обеспечение компьютера должно иметь в своем составе модуль TPM 2.0 (Trusted Platform Module), который обеспечивает механику безопасной загрузки (Secure Boot). Ведь если не использовать механизм безопасной загрузки, то атаку можно провести на сам гипервизор, подменив его компоненты, а дальше уже иметь доступ к основной виртуальной машине и остальным компонентам гипервизора, в том числе хранилищу паролей. Таким образом, для полной защиты нужно использовать связку VBS+TPM 2.0 (вторая версия TPM поставляется уже со всем современным оборудованием).

Чтобы такая схема работала, нужно обеспечить выполнение следующих требований:

Это позволит открыть все необходимые опции процессора для гостевой ОС виртуальной машины, в которой также будет работать гипервизор.

Чтобы эта схема работала, нужно выполнить 2 условия:

Но, само собой, файл nvram надо хорошо зашифровать, поэтому для виртуальной машины нужно включить VM Encryption. Это обеспечит работоспособность машины в защищенной среде совместно с опцией VBS. При этом диски ВМ шифрованными не будут, что позволит получить доступ к данным на уровне VMDK дисков в случае утери ключей.

Утилита Device Guard and Credential Guard hardware readiness tool от компании Microsoft определяет этот vTPM, как совместимый, поэтому можете использовать его для виртуальных машин, к которым предъявляются повышенные требования к безопасности.

Источник

Как отключить VBS на Windows 11

После перехода на операционную систему Windows 11 многие пользователи заметили снижение производительности в играх. Согласно некоторым тестам, эти потери составляют до 25%.

Одна из причин такого снижения производительности – технология VBS, обеспечивающая дополнительную защиту системы от вредоносных программ. В данной статье мы расскажем о том, как отключить VBS на Windows 11 и для чего нужна эта технология.

Что такое VBS/HVCI на Windows 11

VBS или Virtualization-based Security (Безопасность на основе виртуализации) – это функция аппаратной виртуализации, которая создает и изолирует от остальной операционной системы безопасную область в оперативной памяти. Windows может использовать эту изолированную безопасную область памяти для хранения важных для безопасности данных и кода.

Использование изолированной части памяти позволяет защититься от эксплойтов, направленных на преодоление средств защиты. Вредоносное ПО часто атакует на встроенные механизмы безопасности Windows, чтобы вывести их из строя или получить доступ к важным системным ресурсам. Например, вредоносный код может получить доступ к ресурсам уровня ядра, обойдя методы проверки подлинности кода Windows.

VBS решает эту проблему, отделяя средства защиты системы от остальной части ОС. Это делает Windows более безопасной, поскольку вредоносные программы не могут обойти встроенную защиту ОС. Одной из таких средств защиты является Hypervisor-Enforced Code Integrity (HVCI).

HVCI использует VBS для выполнения проверки целостности кода. В частности, HVCI проверяет подлинность драйверов и программ режима ядра, чтобы убедиться, что они получены из надежных источников. Таким образом, HVCI гарантирует, что в память загружается только доверенный код.

Как проверить включен ли VBS

Вы можете проверить включен ли VBS на вашем компьютере с Windows 11. Для этого нужно открыть окно « Выполнить » ( Win-R ) или меню « Пуск » и ввести команду « msinfo32 ».

В результате откроется окно « Сведения о системе ».

Здесь в самом низу окна будет пункт « Безопасность на основе виртуализации ». Если в нем указано « Выполнение », значит VBS включен.

Как отключить VBS через настройки

Самый простой способ отключить VBS на Windows 11 – это воспользоваться стандартными настройками Windows 11. Для этого откройте меню « Пуск », введите в поиск фразу « Изоляция ядра » или « Core isolation » и откройте найденную программу.

В результате откроется окно « Безопасность Windows ». Здесь нужно отключить функцию « Изоляция ядра — Целостность памяти ».

После этого нужно перезагрузить компьютер, чтобы настройки применились.

Как отключить VBS через реестр

Также вы можете отключить VBS через реестр Windows 11. Для этого нужно открыть окно « Выполнить » ( Win-R ) или меню « Пуск », ввести команду « regedit » и открыть редактор реестра.

В редакторе реестра нужно перейти в следующий раздел настроек:

И создать там DWORD параметр с названием « EnableVirtualizationBasedSecurity ».

Дальше нужно открыть параметр « EnableVirtualizationBasedSecurity » и присвоить ему значение « 0 ».

После этого нужно перезагрузить компьютер, чтобы настройки применились.

Как отключить VBS через политики

Если у вас Pro-версия Windows 11, то вы можете отключить VBS через локальные групповые политики. Для этого нужно открыть окно « Выполнить » ( Win-R ) или меню « Пуск », ввести команду « gpedit.msc » и открыть « Редактор локальных групповых политик ».

Здесь нужно открыть параметр « Включить средство обеспечения безопасности на основе виртуализации ».

И перевести его в положение « Отключено ».

После этого нужно перезагрузить компьютер, чтобы настройки применились.

Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.

Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.

Источник

Как отключить VBS и улучшить игровую производительность Windows 11

Безопасность на основе виртуализации, также известная как VBS, позволяет операционной системе Windows 11 создавать защищенный канал памяти полностью изолированный от небезопасного кода и влияет на игровую производительность компьютера.

Другая встроенная функция, называемая целостностью памяти с применением гипервизора (HVCI), использует возможности VBS для предотвращения попадания неподписанных или сомнительных драйверов и программного обеспечения в оперативную память.

Вместе VBS и HVCI создают дополнительный уровень защиты, который ограничивает ущерб, от вредоносного программного обеспечения. К сожалению, данный функционал требуют значительных затрат системных ресурсов и влияет на производительность, особенно когда дело касается компьютерных игр.

В тестах с процессором Intel 11-го поколения обнаружилось, что игры работали на 5 процентов медленнее с включенным параметром, чем с неактивным. Так же отмечено падение производительности на 25 процентов, при тестировании c процессорами Intel 10-го поколения.

Простое обновление до Windows 11 не включит безопасность на основе виртуализации, если вы не включили её в Windows 10, где она использовалась по умолчанию в течение нескольких лет. Так что на данный момент это проблема, с которой сталкиваются немногие.

Однако, если вы выполняете чистую установку операционной системы Windows 11, покупаете новый ноутбук или настольный компьютер с Windows 11, по умолчанию у вас может быть включен VBS / HVCI.

Если вы используете Windows 11, и производительность, особенно в играх, имеет для вас наибольшее значение, мы покажем вам, как проверить, включен ли VBS / HVCI и как его отключить.

Как проверить, включен ли VBS в Windows 11

2. Прокрутите вниз страницу и найдите строку «Безопасность на основе виртуализации». Если написано «работает», значит VBS включен. Но если написано «не включено», значит, все в порядке.

Как отключить VBS и улучшить игровую производительность Windows 11

1. Найдите через поиск «Изоляция ядра» и откройте параметры безопасности.

2. Выключите целостность памяти.

3. После чего, перезагрузите компьютер.

4. Еще раз проверьте сведения о системе, чтобы убедиться, что безопасность на основе виртуализации отключена. Если да, то все готово. Если нет, перейдите к шагу 5, где вы отключите VBS в реестре.

5. Откройте реестр и перейдите к ветке «HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceGuard«. Дважды кликните параметр «EnableVirtualizationBasedSecurity» и установите для него значение «0«.

7. Закройте реестр и выполните перезагрузку компьютера.

Источник

Операционные системы и программное обеспечение