Статья Майи Люсан и Омера Майера, Akamai Guardicore
Заказать демо, пилот или расчет стоимости Akamai Guardicore
Kubernetes (K8s) — одна из наиболее широко применяемых технологий для развертывания приложений и управления ими в облачных средах. По данным Gartner, к 2026 году 90% организаций по всему миру будут использовать контейнерные приложения в prod-среде — по сравнению с 40 % в 2021 году (Отчет Gartner).
Однако у K8s есть один существенный недостаток: безопасность.
Согласно отчету Red Hat о состоянии безопасности Kubernetes за 2022 год, в котором приняли участие более 300 специалистов DevOps, инженеров и специалистов по ИБ, 93% респондентов столкнулись как минимум с одним инцидентом безопасности в своих средах K8s за последние 12 месяцев. Эти инциденты потенциально могут быть использованы злоумышленниками для установки программ-вымогателей и других типов вредоносного программного обеспечения.
Akamai недавно анонсировала новые возможности сетевой изоляции в средах K8s, которые обеспечивают сегментацию приложений и блокируют латеральное перемещение в, из и внутри кластеров K8s. Рассмотрим детали реализации этого функционала.
Зачем нужна сегментация в средах Kubernetes?
Поскольку кластерная сеть K8s по своей природе плоская, она по умолчанию разрешает сетевые коммуникации между кластерами и подами. После проникновения в сеть компании злоумышленник может передвигаться внутри сети (латерально), получая доступ ко всем подключенным центрам обработки данных, ресурсам и данным в них (рис. 1).
В последние годы мы наблюдаем резкий рост атак на контейнеры. Чтобы избежать выявления, атаки на кластеры K8s стали чаще использовать методы обхода средств защиты и обфускации, включая упаковку вредоносного кода, использование руткитов и запуск вредоносных программ прямо из памяти. Чтобы свести к минимуму поверхность атаки в кластерах K8s, необходимо применять строгие политики сегментации.
Хорошая политика сегментации должна соответствовать двум основным критериям: она должна быть неинтрузивной без ущерба производительности, и должна обеспечивать гибкие варианты сегментации всех уровней объектов K8s, включая пространства имен, контроллеры и лейблы K8s.
В чем сложность сегментации трафика в средах Kubernetes?
C Kubernetes не всегда все просто. Это сложная среда с множеством различных ресурсов, пространств имен и взаимодействий между компонентами. Из-за своей динамической природы ресурсы постоянно создаются, удаляются или обновляются, что затрудняет применение и управление сетевыми политиками K8s в режиме реального времени.
Одной из распространенных проблем при работе с K8 является отсутствие видимости (visibility). Команды безопасности и разработчики не знают и поэтому не могут понять, что происходит внутри кластера K8s. Для создания эффективных политик команды должны визуализировать трафик внутри и снаружи кластеров и видеть зависимости между коммуникациями.
Как Akamai Guardicore решает эти сложности?
Akamai Guardicore Segmentation является программным решением микросегментации со специальной поддержкой защиты кластеров K8s. Продукт неинтрузивен и разработан с учетом возможности масштабирования и обеспечения высокой производительности. Решение не требует ни выделенной консоли, ни локального доступа к кластерам.
Принципы работы Akamai Guardicore Segmentation аналогичны и для других ресурсов в среде заказчика. В результате активы визуализированы, защищены и управляются по всей компании через единую консоль. которая позволяют управлять всеми, даже самыми сложными, средами с помощью единых понятных принципов.
Как Akamai обеспечивает сегментацию в средах Kubernetes?
Akamai использует встроенный в K8 способ реализации сетевой политики, используя подключаемый модуль сетевой политики — Container Network Interface (CNI). K8s имеет встроенный ресурс, предназначенный для применения сетевых политик. Этот подключаемый модуль политики сетевой безопасности был специально разработан для обеспечения сегментации сети в среде K8s.
CNI действует как диспетчер IP-адресов кластера — он всегда «знает», какой IP-адрес у какого модуля или службы — поэтому каждое возникающее соединение проходит через механизм CNI. Затем каждое соединение немедленно направляется к целевому поду или блокируется в зависимости от конфигурации CNI для IP-таблиц и таблиц маршрутизации.
Что делает подход Akamai уникальным?
Есть две вещи, которые отличают подход Akamai:
- Полная видимость кластеров K8s. Поскольку вы не можете должным образом сегментировать то, что не видите, возможность видеть, что запущено в среде K8s, и подтверждать, что трафик идет только туда, куда вы хотите, имеет решающее значение для успешного создания политик сегментации.
Akamai Guardicore Segmentation содержит карту для визуализации коммуникаций внутри и между центрами обработки данных для всех типов технологий, таких как Kubernetes, виртуальные машины, контейнеры Docker и т. д. Клиенты зачастую впервые получают возможность легко визуализировать всю свою среду K8s, что значительно упрощает создание политик и обеспечивает точность процесса защиты.
- Использование нативного способа сегментации Kubernetes. Akamai понял, что наиболее интуитивный, масштабируемый и неинтрузивный способ применения политик — это использование инфраструктуры K8s. K8s предоставляет контроллер CNI на каждом узле, который отвечает за трафик этого узла. Он распределен и предназначен для работы в масштабе даже крупных инсталляций. Это нативный для K8 способ управления трафиком в кластере, и он был разработан для поддержки сетевой микросегментации.
На рис. 3 показано, как работает микросегментация трафика Akamai в контейнерах. Политика настраивается в решении Akamai Guardicore Segmentation, а затем передается на выделенный под в кластере K8s, преобразуется в формат сетевой политики K8s и через API и отправляется в CNI для каждой релевантной ноды.
Какие задачи обычно решают с помощью сегментации Kubernetes?
Мы видим три наиболее популярных варианта использования сегментации Kubernetes:
- Защита периметра приложений. Используя лейблы подов, клиенты могут предотвратить любой нежелательный доступ к / от приложений внутри кластера. Защита периметра приложения позволяет блокировать латеральное движение злоумышленника, уже находящегося в кластере, или разрешить внешний вход/выход в/из приложения K8s.
- Сегментация namespace-ов. Когда в подах нет меток или когда уровень детализации, обеспечиваемый метками, не требуется, можно определить правила для пространств имен, которые разрешают или блокируют связь между ними (рис. 4).
- Контроль входящего/исходящего трафика в кластере K8s. Это делается для предотвращения бокового перемещения из одной части дата-центра в кластер K8s и наоборот. Важно контролировать трафик, идущий из-за пределов кластера к приложениям внутри кластера K8s; это делается путем применения политик микросегментации, а также путем ограничения доступа к другим частям дата-центра для определенных приложений K8s.
Например, если одному из приложений K8s в кластере требуется доступ к базе данных сегмента PCI DSS, нет причин разрешать такой доступ всему кластеру. Необходимо сделать так, чтобы доступ был только у конкретного приложения.
Как лейблы Kubernetes упрощают процесс сегментации?
Лейблы являются важной частью любого функционирующего кластера K8s. Поскольку поды регулярно запускаются и уничтожаются, их IP-адреса постоянно меняются. Вот почему для применения политики, которая будет сохраняться независимо от масштабирования, сегментация Akamai Guardicore использует метки вместо того, чтобы полагаться на IP-адреса. Он импортирует метки из K8s в консоль сегментации Akamai Guardicore Segmentation и использует их для определения правил и политик. Таким образом, как только пользователь использует метки для создания правила, оно применяется ко всем подам, связанным с этой меткой, независимо от их IP-адресов.
Akamai импортирует все лейблы в кластер с помощью оркестрации Kubernetes Orchestration. В дополнение Guardicore создает иные полезные лейблы, таких как пространства имен и Cluster IDs, отправляя запросы к API-серверу кластера K8s и регулярно обновляя их. Агенты сегментации Akamai Guardicore собирают метаданные о каждом модуле на каждом узле и сообщают об этом вместе с наблюдаемыми сетевыми соединениями.
Что интересного в роадмапе Akamai Guardicore?
Akamai работает над поддержкой OpenShift и Cilium, платформ с открытым исходным кодом, которые предоставляют решения для оркестрации контейнеров и сетевой безопасности, а также над активной сегментацией Интернета вещей и иных устройств, куда нельзя поставить агент.
Демо, пилот и цены Akamai Guardicore
Заполните эту форму, чтобы узнать больше о микросегментации Akamai Guardicore.