Модель угроз: что защищает гипервизор, а что остаётся вне его границы
На хосте виртуализации несколько виртуальных машин используют общие CPU, память, сетевые адаптеры и хранилище. Гипервизор назначает каждой VM собственные виртуальные процессоры, адресное пространство памяти и набор виртуальных устройств. Поэтому процесс внутри одной VM в штатной ситуации не может читать память или диски другой VM напрямую.
Граница ответственности гипервизора
| Сценарий | Что делает гипервизор | Чего он сам по себе не гарантирует |
|---|---|---|
| Процесс или вредоносная программа внутри одн ой Guest OS | Обычно удерживает код в границах этой VM и её виртуальных устройств | Не удаляет вредоносный код, не исправляет уязвимости ОС и приложений, не управляет учётными записями гостя |
| Соседние VM на одном хосте | Разделяет память, выполнение CPU и обычные виртуальные устройства | Не исключает риск уязвимости гипервизора, ошибки конфигурации или небезопасных административных действий |
| Сеть между VM | Предоставляет виртуальные адаптеры и коммутаторы | Не создаёт нужную сегментацию без VLAN, правил firewall и ограничений разрешённых связей |
| Файлы выключенной VM на хранилище | Может поддерживать платформенное шифрование при наличии нужной архитектуры | Не заменяет контроль доступа к хранилищу, резервным копиям и ключам |
| Доступность VM | Может участвовать в механизмах перезапуска или миграции, если они предусмотрены платформой | Не превращает HA, репликацию, миграцию или снимок в средство конфиденциальности либо изоляции |
Общий хост — общая зона доверия
Почему взлом одной Guest OS не равен взлому всех VM
Guest OS — операционная система внутри VM. Если атакующий получил права администратора в одной гостевой ОС, это обычно даёт контроль над данными, приложениями и сетевыми учётными данными именно этой VM. Сам по себе такой доступ не должен открывать память, виртуальные диски или консоль соседней VM: эти ресурсы разделяет гипервизор.
Однако инцидент может стать инфраструктурным. Скомпрометированная VM способна атаковать доступные ей сервисы по сети, похитить учётные данные админист ратора, обратиться к плохо защищённой плоскости управления или использовать уязвимость VM Escape. VM Escape — нарушение границы, при котором код гостя получает доступ к гипервизору, хосту или другим VM. Это редкий, но критичный класс уязвимостей, для которого производители выпускают исправления и рекомендации по снижению риска.
- Уязвимость гипервизора или виртуального устройства. Ошибка в обработке эмулируемого оборудования, драйвере или самом гипервизоре может стать путём выхода из VM.
- Избыточные права в управлении. Учётная запись, которой разрешено менять конфигурацию VM, подключать носители, читать консоль, создавать клоны либо экспортировать диски, может обойти обычные границы гостевой ОС.
- Небезопасные подключения. Общие сетевые сегменты, слишком широкие правила виртуального firewall, открытые сервисы и ошибочные маршруты создают путь между VM без всякого VM Escape.
- Компрометация хоста или firmware. В этой ситуации разделение VM уже не является самостоятельным барьером: атакующий находится ниже уровня гостевых ОС.
- Подключённые к VM данные и секреты. Например, доступные сетевые папки, токены, пароли в сценариях автоматизации и учётные данные, введённые администратором в скомпрометированной консоли.
Доверенная вычислительная база и защищаемый периметр
Для конкретной VM доверенная вычислительная база включает не только гипервизор. В неё входят физический сервер, его BIOS/UEFI и другое firmware, процессоры и память, хостовая платформа, драйверы, сеть и система управления. Для VMware это может включать VMware ESXi и vCenter Server; для Microsoft — Hyper-V и связанные ком поненты управления; для KVM — ядро Linux, QEMU и средства управления, такие как libvirt.
Datastore, внешнее хранилище и резервные копии относятся к более широкому периметру данных VM. На них могут находиться виртуальные диски, конфигурация, файлы снимков, экспортированные образы и копии. Даже если злоумышленник не может войти в работающую Guest OS, доступ к незашифрованному файлу её диска может позволить читать или копировать данные офлайн. Подробнее о размещении файлов VM — в статье «Datastore и VMware vSAN: как организовать хранение виртуальных машин».
Проверьте границы доверия перед размещением критичной VM
Это не настройка конкретной платформы, а минимальная проверка архитектуры. Результатом должен быть список компонентов и учётных записей, компрометация которых затронет VM.
- 1Определите данные и допустимый сценарий компрометацииЗафиксируйте, что именно требует защиты: данные на выключенном диске, данные работающего приложения, сетевые учётные данные, возможность изменить конфигурацию VM или всё перечисленное. Ожидаемый результат — понятная цель: например, защита от кражи накопителя не равна защите от администратора работающего хоста.
- 2Перечислите доверенные компонентыВключите в список хост, firmware, гипервизор, систему управления, сеть управления, хранилище, резервные копии и сервис ключей, если применяется шифрование. Если для компонента нет владельца, процедуры обновления или контроля доступа, он остаётся неучтённой точкой риска.
- 3Проверьте административные полномочияОтдельно определите, кто может включить VM, открыть её консоль, изменить виртуальные устройства, создать клон, экспортировать файлы, назначить сеть и получить ключи шифрования. Ожидаемый результат — роли не выданы шире, чем нужно для задач.
- 4Проверьте путь к данным вне работающей VMУстановите, где лежат виртуальные диски, снимки, экспорты и копии, а также кто имеет к ним доступ. Если эти объекты доступны обычной учётной записи или из сети пользователей, изоляция работающей VM не решает задачу конфиденциальности.
Защита хоста и плоскости управления
Плоскость управления — это интерфейсы, API, службы и учётные записи, через которые администраторы управляют хостами, VM, сетью и хранилищем. Её компрометация часто опаснее заражения одной Guest OS: управление может дать доступ сразу к нескольким VM и их файлам. Поэтому безопасность VMware, Hyper-V, Proxmox VE и других платформ начинается с защиты хоста и управлен ия, а не с установки защитного ПО в отдельных гостях.
- Используйте поддерживаемый релиз гипервизора и применяйте обновления безопасности в рамках согласованного процесса. Патчинг снижает риск известных уязвимостей, но не исключает эксплуатацию новых или неверно настроенных компонентов.
- Разделяйте роли: повседневенное администрирование VM, управление хостами, управление сетью, хранилищем и ключами не обязательно должны выполняться одной учётной записью.
- Защищайте административный доступ: индивидуальные учётные записи, многофакторная аутентификация там, где её поддерживает выбранная архитектура, защищённые рабочие места и журналирование привилегированных операций.
- Выносите management-трафик в отдельный сегмент, ограничивайте к нему маршрутизацию и доступ только с административных узлов.
- Ограничивайте прямой доступ к хостам. Например, Lockdown Mode в ESXi предназначен для ограничения прямого управления хостом и переноса обычных операций в vCenter Server.
- Регулярно проверяйте события входа, изм енения сетей, прав, конфигурации VM, политик шифрования и операций с ключами.
Зависимость от версии и документации
Сетевая изоляция VM: VLAN и firewall нужно настроить отдельно
Сам факт запуска VM на одном гипервизоре не определяет, кто с кем может обмениваться трафиком. Связность задают виртуальные коммутаторы, Port Group, VLAN, маршрутизация, правила виртуального и физического firewall. В VMware эту роль может выполнять vSwitch, в Hyper-V — виртуальный коммутатор Hyper-V, в Proxmox VE и KVM — bridge, Open vSwitch или другие поддерживаемые сетевые механизмы.
Логическое разделение потоков в типичной виртуальной инфраструктуре
| Сегмент | Что в нём находится | Базовое ограничение |
|---|---|---|
| Management | Интерфейсы хостов, средства управления, при необходимости сервисы аутентификации и мониторинга | Доступ только с административных сетей и узлов; не использовать как обычную сеть приложений |
| Сеть VM | Пользовательские и серверные приложения | Разделять по назначению приложений и разрешать только необходимые соединения |
| Чувствительный сегмент | Например, базы данных, платёжные сервисы, системы с персональными данными | Не публиковать в пользовательские сегменты; разрешать трафик только от конкретных приложений и администраторов |
| Хранилище или миграция | Трафик между хостами и системами хранения, перенос VM при наличии такой архитектуры | Ограничить участниками инфраструктуры; отделить от пользовательского трафика по требованиям платформы и пропускной способности |
VLAN полезен для логического разделения, но не является абсолютной границей: ошибки trunk-портов, разрешённых VLAN, маршрутизации или правил firewall могут соединить сегменты. Общие физические адаптеры и коммутаторы также могут оставаться общими точками отказа и наблюдения. Когда нужна независимость отказовых доменов, гарантированная полоса или физическое разделение, одной VLAN может быть недостаточно.
В Proxmox VE Proxmox VE Firewall применяет правила на уровнях Datacenter, Node и VM/CT. Правила Datacenter задают общую политику, Node относятся к конкретному узлу, а VM/CT — к сетевым интерфейсам отдельной виртуальной машины или контейнера. Это механизм фильтрации трафика, а не шифрование VM и не замена защиты Guest OS. Порядок и действие правил нужно проверять в документации именно используемого релиза.
Практический критерий сегментации
Шифрование виртуальных машин, дисков и данных внутри Guest OS
VM Encryption — не одно универсальное решение. Можно шифровать файлы VM средствами платформы, виртуальные диски или datastore средствами хранения, а также данные внутри Guest OS. Эти уровни дополняют друг друга, но имеют разные границы доверия.
Что защищают разные уровни шифрования
| Уровень | Основная защита | Что не решает |
|---|---|---|
| Шифрование VM средствами платформы | Файлы конфигурации и виртуальные диски VM вне исполняющейся гостевой ОС — в зависимости от реализации платформы | Не защищает данные от процесса с правами внутри уже работающей и расшифрованной VM; не отменяет доверие к хосту и управлению в архитектурах, где они имеют доступ к ключам |
| Шифрование виртуального диска или datastore | Данные на определённом виртуальном диске либо на уровне хранилища при краже носителя или несанкционированном доступе к нему | Не обязательно защищает конфигурацию VM, файлы экспорта, копии в другом хранилище и данные в памяти работающей VM |
| Шифрование внутри Guest OS | Файлы, тома, базы данных или прикладные данные по правилам самой ОС и приложения | Не защищает от администратора гостя или вредоносного процесса, получившего доступ к уже расшифрованным данным; требует отдельного управления ключами в госте |
