При работе с контейнерами всегда есть риск утечки данных, поэтому необходимо предусмотреть надежную систему защиты. Эту задачу решают продукты VMware — компании, которая создает системы виртуализации для защиты контейнерных сред. В статье рассмотрим, как работает виртуализация VMware, и расскажем об обеспечении защиты контейнерных сред Docker и Kubernetes, а в заключительной части познакомимся и с альтернативными продуктами. Но сначала давайте выясним, какие уязвимости могут возникать при работе с контейнерными приложениями.
Суть контейнеризации в том, чтобы изолировать процессы как друг от друга, так и от вероятного негативного воздействия на ОС. Таким образом, контейнеры — это своеобразные песочницы, в которых ведется работа с теми или иными приложениями. Однако контейнеры уязвимы, и главная проблема в том, что при их запуске чаще всего нужны права суперпользователя. В результате из-за уязвимостей данных песочниц или ПО, работающего в той же физической среде, рискам подвергается вся система.
Худшее, что здесь может случиться — это jailbreak (он же root escape), ситуация, при которой вредоносный код проник настолько глубоко, что стал исполняться под учетной записью с корневым доступом (root), то есть с правами суперпользователя. В результате киберпреступники получают полный контроль над физическими ресурсами, а в некоторых случаях даже могут контролировать облачную среду. Но список уязвимостей контейнерных сред этим не ограничивается, к утечкам также приводит:
Самые популярные инструменты для работы с контейнерами сегодня — Docker и Kubernetes, которые чаще всего используются совместно. Различие между ними в том, что Docker — это приложение для создания образов контейнеров и их запуска, а Kubernetes выступает в качестве оркестратора, то есть с его помощью осуществляется управление образами.
Многие из описанных выше уязвимостей характерны для Docker, однако ошибки приложения-оркестратора приводят к возникновению уязвимостей ничуть не реже, поскольку наличие в системе оркестратора свидетельствует о ее масштабах. Так, специалисты по кибербезопасности из компании Aqua Security еще два года назад подсчитали, что за 6 месяцев 2020 года количество атак на системы с развернутыми на них оркестраторами выросло на 26%.
Для решения этих проблем в VMware разработали целый ряд инструментов виртуализации физических машин, которые мы и рассмотрим.
ESXi VMware используется для создания гипервизоров, предназначенных для запуска нескольких связанных общей сетью автономных операционных систем на одном хосте. Есть возможность подключения гипервизоров ESXi к удаленным хранилищам для организации полноценных виртуальных машин с целью защиты контейнеризации. Также предусмотрена функция создания кластеров, составляемых минимум из 2 гипервизоров. Кластеризация дает возможность создания и удаления виртуальных машин, а также разделения аппаратных мощностей.
Главным плюсом ESXi с точки зрения обеспечения безопасности контейнерных приложений является повышенная защита от кибератак. Для этого используются продвинутые алгоритмы шифрования виртуальных машин, а также подробные логи, фиксирующие все изменения в операционной системе, поведении брандмауэров и отслеживающие сетевой трафик. Из других преимуществ ESXi выделим:
Если виртуальная инфраструктура компании достаточно разветвленная, необходимы инструменты для централизации ее управления и масштабирования, если возникнет такая потребность. Обе эти задачи решает vCenter. Данная система мониторит работу всех виртуальных машин, отслеживая возникающие ошибки и угрозы, и контролирует хосты с гипервизорами ESXi. Также есть возможность гибкой настройки оповещений и триггеров. Из других преимуществ vCenter отметим:
Это комплексное решение, объединяющее ESXi и vCenter и обеспечивающее виртуализацию разветвленных контейнерных систем промышленного уровня. Инструменты vSphere позволяют гибко распределять нагрузки аппаратных мощностей и размещать несколько виртуальных машин на физическом сервере, причем эти виртуальные машины могут управляться различными ОС.
Таким образом, при помощи vSphere выполняется виртуализация любой физической инфраструктуры, независимо от ее разветвленности и сложности управления. А при правильной настройке vSphere риски уязвимостей контейнерных сред сводятся к минимуму. vSphere также позволяет:
Вложенная виртуализация требуется в тех случаях, когда нужен запуск ВМ или эмулируемых приложений в гостевых системах. Она включается путем редактирования vmx-файла ВМ таким образом: vhv.enable = TRUE. Чтобы изменить этот параметр, загрузите файл, а после измененную версию с помощью браузера датастора. Теперь ESXi должен прочитать измененный vmx-файл. Для этого зайдите по SSH в гипервизор и в командной строке введите:
vim-cmd vmsvc/getallvms
vim-cmd vmsvc/reload Vmid
Первая часть кода необходима для отображения списка ВМ и для определения VMID нужной нам ВМ. Выяснив номер, добавьте его во второй команде, после чего включите ВМ и убедитесь, что вложенная виртуализация стала доступной.
Функции IOMMU, которые введены с vSphere 6.7, позволяют включить аппаратную виртуализацию в BIOS. Она обеспечивает поддержку изолированных ВМ, которые напрямую управляются ESXi. Преимущество этой технологии в том, что такие ВМ не зависят от хоста и используемой платформы виртуализации. Для активации функции IOMMU в настройках Virtualization Technology пропишите параметр Enabled, так как по умолчанию виртуализация IOMMU выключена.
В завершение кратко рассмотрим несколько других коммерческих решений для безопасности контейнерных сред.
Уже более полугода российские пользователи лишены легальных обновлений VMware и большинства других продуктов западного рынка для виртуализации, поэтому многие вынуждены искать альтернативы. Одна из таких альтернатив — vStack, похожая по функционалу платформа, которая развивается уже более трех лет. И развивается успешно: по данным бенчмарка Geekbench, производительность vStack выше, чем у VMware, более чем на треть.
В доказательство приведем свежие июньские тесты (июнь 2022 г.) vStack и VMware на этой площадке по показателю Multi-Core Score, то есть по совокупной производительности ядер процессора. Также добавим следующие преимущества:
Такое сочетание стоимости, повышенной производительности и удобства в использовании делает vStack отличной альтернативой VMware, и уже есть примеры успешного перехода компаний с ПО зарубежного разработчика на российское.