Ошибка "Cannot modify property without enabling VirtualizationBasedSecurityOptOut" при попытке добавления Fibre Channel Adapter в свойствах виртуальной машины Hyper-V

Error "Cannot modify property without enabling VirtualizationBasedSecurityOptOut" when trying to add a NPIV Fibre Channel Adapter in the properties of a Hyper-V virtual machineНачиная с Windows Server 2012 в Hyper-V появилась возможность подключать к виртуальной машине виртуальный Fibre Channel Adapter (vFC или vHBA). Эта функция позволяет гостевой системе напрямую работать с физическими SAN-ресурсами через протокол Fibre Channel, используя механизмы N_Port ID Virtualization (NPIV). ВМ получает свой собственный виртуальный HBA, со своим уникальным World Wide Name, и может обращаться к LUN-ам на хранилище так, как если бы она была "настоящим" сервером с физическим FC HBA. Это открывает ряд интересных возможностей: подключение кластеров Windows Server Failover Clustering или SQL Server AlwaysOn напрямую к SAN, использование снапшотов и резервного копирования на уровне СХД, а также гибкое администрирование через знакомые SAN-инструменты. На фоне конкурентов это долгое время было преимуществом Hyper-V, поскольку VMware и другие гипервизоры предлагали аналогичные возможности либо в более дорогих редакциях, либо с ограничениями, тогда как в экосистеме Microsoft vFC сразу интегрировался в стандартные сценарии высокой доступности и корпоративного хранения.

В первичный реализациях vHBA в Hyper-V конфигурировался в свойствах виртуальной машины без каких-либо особенностей. Однако, при попытке добавить Fiber Channel Adapter в конфигурацию виртуальной машины в ОС начиная с Windows Server 2016 мы получим ошибку "Cannot modify property without enabling VirtualizationBasedSecurityOptOut".

Error "Cannot modify property without enabling VirtualizationBasedSecurityOptOut" when trying to add a Fibre Channel Adapter (NPIV) in the properties of a Hyper-V virtual machine

Ошибка связана с включенным по умолчанию расширенным механизмом безопасности Virtualization-Based Security (VBS) для гостевых ОС Windows.

Проверить текущие настройки механизмов безопасности ВМ можно на хосте виртуализации с помощью PowerShell:

Get-VMSecurity -vmname "MyVM"

Задать уровень безопасности, позволяющий добавить в конфигурацию ВМ виртуальный Fiber Channel Adapter, можно командой вида (виртуальная машина при этом должна быть выключена):

Set-VMSecurity -vmname "MyVM" -VirtualizationBasedSecurityOptOut $true

Enabling VirtualizationBasedSecurityOptOut in Hyper-V Virtual Machine Properties

Параметр VirtualizationBasedSecurityOptOut в Hyper-V появился вместе с выходом Windows 10 и Windows Server 2016, когда Microsoft внедрила поддержку Virtualization-Based Security (VBS). Эти механизмы используют гипервизор для защиты самой гостевой ОС: Credential Guard изолирует процесс LSASS и хранит хеши паролей в отдельной защищённой области памяти, Hypervisor-Protected Code Integrity (HVCI) проверяет подписи драйверов и блокирует внедрение неподписанного кода в ядро, а Device Guard позволяет запускать только доверенные приложения. Если для виртуальной машины включить VirtualizationBasedSecurityOptOut, то использование VBS внутри гостевой Windows будет отключено. Это означает, что защита учётных данных, ядра и драйверов станет такой же, как в более старых версиях Windows, до появления VBS, то есть без изоляции секретов в гипервизоре. При этом важно понимать, что риски ограничиваются только самой гостевой Windows: изоляция ВМ от хоста и других виртуальных машин сохраняется, по-прежнему работают Secure Boot, виртуальный TPM, BitLocker и стандартные средства безопасности ОС. А если внутри ВМ работает Linux, то сама по себе эта настройка вообще ничего не меняет, потому что у Linux нет встроенной поддержки VBS, и соответствующие технологии там просто не используются. Таким образом, включение VirtualizationBasedSecurityOptOut ослабляет дополнительные уровни защиты именно в Windows-гостях, а для Linux не несёт практических последствий.

Добавить комментарий