Defender для контейнеров разработан по-разному для каждой среды Kubernetes независимо от того, работают ли они в:
Служба Azure Kubernetes (AKS). Это управляемая служба Майкрософт для разработки и развертывания контейнерных приложений, а также управления ими.
Служба Amazon Elastic Kubernetes (EKS) в подключенной учетной записи Amazon Web Services (AWS) — это управляемая служба Amazon для запуска Kubernetes на AWS без установки, обработки и обслуживания собственного уровня управления и узлов Kubernetes.
Google Kubernetes Engine (GKE) в подключенном проекте Google Cloud Platform (GCP) — это управляемая среда Google для развертывания, администрирования и масштабирования приложений с помощью инфраструктуры GCP.
Неуправляемое распределение Kubernetes (с использованием Kubernetes с поддержкой Azure Arc) — это сертифицированные кластеры Kubernetes Cloud Native Computing Foundation (CNCF), которые размещены в локальной среде или в IaaS.
Примечание.
Поддержка Defender для контейнеров кластеров Kubernetes с поддержкой Arc (AWS EKS и GCP GKE) — это предварительная версия функции.
Чтобы защитить контейнеры Kubernetes, Defender для контейнеров получает и анализирует:
журналы аудита и события безопасности с сервера API;
сведения о конфигурации кластера с уровня управления;
конфигурация рабочей нагрузки из Политики Azure;
сигналы и события безопасности с уровня узла.
Дополнительные сведения о реализации, таких как поддерживаемые операционные системы, доступность компонентов, исходящий прокси-сервер, см. в разделе "Доступность компонентов Defender для контейнеров".
Схема архитектуры Defender для облака и кластеров AKS
Если Defender для облака защищает кластер, размещенный в Служба Azure Kubernetes, сбор данных журнала аудита без агента и автоматически собирается через инфраструктуру Azure без дополнительных затрат или рекомендаций по настройке. Это необходимые компоненты для получения полной защиты, предоставляемой Microsoft Defender для контейнеров:
Датчик Defender: DaemonSet, развернутый на каждом узле, собирает сигналы от узлов с помощью технологии eBPF и обеспечивает защиту среды выполнения. Датчик регистрируется в рабочей области Log Analytics и используется в качестве конвейера данных. Но данные журнала аудита не хранятся в рабочей области Log Analytics. Датчик Defender развертывается в качестве профиля безопасности AKS.
Политика Azure для Kubernetes: модуль pod, расширяющий шлюз с открытым исходным кодом версии 3 и регистрируемый в качестве веб-перехватчика в Kubernetes контроль допуска, что позволяет применять масштабируемые принудительное применение и защищать кластеры централизованно, согласованно. Политика Azure для pod Kubernetes развертывается как надстройка AKS. Он установлен только на одном узле в кластере. Дополнительные сведения см. в статье "Защита рабочих нагрузок Kubernetes" и "Общие сведения о Политика Azure для кластеров Kubernetes".
Набор контейнеров, которые фокусируются на сборе из среды Kubernetes данных инвентаризации и событий безопасности, которые не ограничены определенным узлом.
* Ограничения ресурсов не настраивается; Дополнительные сведения об ограничениях ресурсов Kubernetes.
Как работает обнаружение без агента для Kubernetes в Azure?
Процесс обнаружения основан на моментальных снимках, сделанных через интервалы:
Если включить обнаружение без агента для расширения Kubernetes, происходит следующий процесс:
Создание.
Если расширение включено из CSPM Defender, Defender для облака создает удостоверение в клиентских средахCloudPosture/securityOperator/DefenderCSPMSecurityOperator.
Если расширение включено из Defender для контейнеров, Defender для облака создает удостоверение в клиентских средахCloudPosture/securityOperator/DefenderForContainersSecurityOperator.
Назначение: Defender для облака назначает встроенную роль с именем "Оператор без агента Kubernetes" для этого удостоверения в области подписки. Роль содержит следующие разрешения:
AKS read (Microsoft.ContainerService/managedClusters/read)
Обнаружение. Использование назначаемого системой удостоверения Defender для облака выполняет обнаружение кластеров AKS в вашей среде с помощью вызовов API к серверу API AKS.
Привязка. При обнаружении кластера AKS Defender для облака выполняет операцию привязки AKS, создав между ClusterRoleBinding созданным удостоверением и kubernetes ClusterRoleaks:trustedaccessrole:defender-containers:microsoft-defender-operator. Отображается ClusterRole через API и предоставляет Defender для облака разрешение на чтение плоскости данных внутри кластера.
Примечание.
Скопированный моментальный снимок остается в том же регионе, что и кластер.
Схема архитектуры Defender для облака и кластеров Kubernetes с поддержкой Arc
Ниже описаны компоненты, необходимые для получения полной защиты, предлагаемой Microsoft Defender для контейнеров:
Kubernetes с поддержкой Azure Arc — Kubernetes с поддержкой Azure Arc — решение на основе датчика, установленное на одном узле в кластере, которое подключает кластеры к Defender для облака. Defender для облака затем сможет развернуть следующие два агента как Расширения Arc:
Датчик Defender: DaemonSet, развернутый на каждом узле, собирает сигналы узла с помощью технологии eBPF и журналов аудита Kubernetes, чтобы обеспечить защиту среды выполнения. Датчик регистрируется в рабочей области Log Analytics и используется в качестве конвейера данных. Но данные журнала аудита не хранятся в рабочей области Log Analytics. Датчик Defender развертывается как расширение Kubernetes с поддержкой Arc.
Политика Azure для Kubernetes: модуль pod, расширяющий шлюз с открытым исходным кодом версии 3 и регистрируемый в качестве веб-перехватчика в Kubernetes контроль допуска, что позволяет применять масштабируемые принудительное применение и защищать кластеры централизованно, согласованно. Он установлен только на одном узле в кластере. Дополнительные сведения см. в статье "Защита рабочих нагрузок Kubernetes" и "Общие сведения о Политика Azure для кластеров Kubernetes".
Примечание.
Поддержка Defender для контейнеров кластеров Kubernetes с поддержкой Arc — это предварительная версия функции.
Схема архитектуры Defender для облака и кластеров EKS
Если Defender для облака защищает кластер, размещенный в службе Elastic Kubernetes, сбор данных журнала аудита не является агентом. Это необходимые компоненты для получения полной защиты, предоставляемой Microsoft Defender для контейнеров:
Журналы аудита Kubernetes.CloudWatch учетной записи AWS обеспечивает запись и сбор данных журнала аудита с помощью безагентного сборщика и отправляет собранные сведения в серверную часть Microsoft Defender для облака для дальнейшего анализа.
Kubernetes с поддержкой Azure Arc — Kubernetes с поддержкой Azure Arc — решение на основе датчика, установленное на одном узле в кластере, которое подключает кластеры к Defender для облака. Defender для облака затем сможет развернуть следующие два агента как Расширения Arc:
Датчик Defender: DaemonSet, развернутый на каждом узле, собирает сигналы от узлов с помощью технологии eBPF и обеспечивает защиту среды выполнения. Датчик регистрируется в рабочей области Log Analytics и используется в качестве конвейера данных. Но данные журнала аудита не хранятся в рабочей области Log Analytics. Датчик Defender развертывается как расширение Kubernetes с поддержкой Arc.
Политика Azure для Kubernetes: модуль pod, расширяющий шлюз с открытым исходным кодом версии 3 и регистрируемый в качестве веб-перехватчика в Kubernetes контроль допуска, что позволяет применять масштабируемые принудительное применение и защищать кластеры централизованно, согласованно. Политика Azure для pod Kubernetes развертывается как расширение Kubernetes с поддержкой Arc. Он установлен только на одном узле в кластере. Дополнительные сведения см. в статье "Защита рабочих нагрузок Kubernetes" и "Общие сведения о Политика Azure для кластеров Kubernetes".
Как работает обнаружение без агента для Kubernetes в AWS?
Процесс обнаружения основан на моментальных снимках, сделанных через интервалы:
Если включить обнаружение без агента для расширения Kubernetes, происходит следующий процесс:
Создание.
Необходимо добавить Defender для облака роль MDCContainersAgentlessDiscoveryK8sRole в конфигурацию aws-auth кластеров EKS. Имя можно настроить.
Назначение: Defender для облака назначает роль MDCContainersAgentlessDiscoveryK8sRole следующими разрешениями:
eks:UpdateClusterConfig
eks:DescribeCluster
Обнаружение. Использование назначенного системой удостоверения Defender для облака выполняет обнаружение кластеров EKS в вашей среде с помощью вызовов API к серверу API EKS.
Примечание.
Скопированный моментальный снимок остается в том же регионе, что и кластер.
Схема архитектуры Defender для облака и кластеров GKE
Если Defender для облака защищает кластер, размещенный в подсистеме Google Kubernetes, сбор данных журнала аудита не является агентом. Это необходимые компоненты для получения полной защиты, предоставляемой Microsoft Defender для контейнеров:
Журналы аудита Kubernetes.GCP Cloud Logging позволяет собирать данные журналов аудита с помощью сборщика без агента и отправлять собранные сведения в защитник Майкрософт для облачной серверной части для дальнейшего анализа.
Kubernetes с поддержкой Azure Arc — Kubernetes с поддержкой Azure Arc — решение на основе датчиков, установленное на одном узле в кластере, которое позволяет кластерам подключаться к Defender для облака. Defender для облака затем сможет развернуть следующие два агента как Расширения Arc:
Датчик Defender: DaemonSet, развернутый на каждом узле, собирает сигналы от узлов с помощью технологии eBPF и обеспечивает защиту среды выполнения. Датчик регистрируется в рабочей области Log Analytics и используется в качестве конвейера данных. Но данные журнала аудита не хранятся в рабочей области Log Analytics.
Политика Azure для Kubernetes: модуль pod, расширяющий шлюз с открытым исходным кодом версии 3 и регистрируемый в качестве веб-перехватчика в Kubernetes контроль допуска, что позволяет применять масштабируемые принудительное применение и защищать кластеры централизованно, согласованно. Политика Azure для pod Kubernetes развертывается как расширение Kubernetes с поддержкой Arc. Его необходимо установить только на одном узле в кластере. Дополнительные сведения см. в статье "Защита рабочих нагрузок Kubernetes" и "Общие сведения о Политика Azure для кластеров Kubernetes".
Как работает обнаружение без агента для Kubernetes в GCP?
Процесс обнаружения основан на моментальных снимках, сделанных через интервалы:
Если включить обнаружение без агента для расширения Kubernetes, происходит следующий процесс:
Создание.
Создается оператор mdc-containers-k8s-operator. Имя можно настроить.
Назначение: Defender для облака присоединяет следующие роли к учетной записи службы mdc-containers-k8s-operator:
Пользовательская роль MDCGkeClusterWriteRole, которая имеет container.clusters.update разрешение
Встроенная роль container.viewer
Обнаружение. Использование назначаемого системой удостоверения Defender для облака выполняет обнаружение кластеров GKE в вашей среде с помощью вызовов API к серверу API GKE.
Примечание.
Скопированный моментальный снимок остается в том же регионе, что и кластер.
Следующие шаги
В этой обзорной статье вы получили сведения об архитектуре безопасности контейнеров, которые предоставляет Microsoft Defender для облака. Сведения о включении плана см. в следующих статьях: