Arquitectura de Defender for Containers

Microsoft Defender para contenedores usa varias rutas de conectividad para recopilar señales de seguridad y proporcionar protección entre registros de contenedor y entornos de Kubernetes. La conectividad necesaria depende de las características habilitadas y del entorno en el que se ejecutan los contenedores.

Los detalles de implementación varían entre Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE) y clústeres de Kubernetes habilitados para Arc.

Obtenga más información sobre los requisitos de red, los permisos y las configuraciones admitidas en Referencia de permisos y acceso de red para Defender para contenedores.

Introducción al modelo de funcionalidad

En la tabla siguiente se muestra cómo se implementan las capacidades clave de Defender para Contenedores y si requieren componentes en clúster.

Capacidad Sin agente Requiere componentes dentro del clúster
Evaluación de vulnerabilidades de imagen Yes No
Evaluación de la posición de Kubernetes Yes No
Detección de amenazas en tiempo de ejecución No Yes
Detección de amenazas en el plano de control Yes No

Conexión a registros de contenedores

La evaluación de vulnerabilidades de imágenes se pone en marcha cuando las imágenes se insertan en registros admitidos y de manera periódica según la configuración del registro. Defender for Cloud analiza los metadatos y capas de imagen necesarios para la evaluación de vulnerabilidades. En escenarios admitidos, los resultados de la evaluación de vulnerabilidades se pueden volver a publicar en el registro sin modificar la imagen de contenedor original. Estas funcionalidades no requieren que se implementen componentes en los clústeres de Kubernetes.

Conexión a clústeres de Kubernetes

Microsoft Defender para la nube se conecta al punto de conexión de la API de Kubernetes para detectar clústeres, recopilar datos de configuración y realizar análisis de posición y riesgo. En función de las características y el entorno habilitados, esta conectividad puede requerir acceso de lectura a los metadatos del clúster y, en algunos escenarios, operaciones de escritura limitadas para configurar los enlaces de acceso o las extensiones necesarios.

Datos en tiempo de ejecución enviados desde clústeres de Kubernetes

Los clústeres de Kubernetes envían datos de seguridad en tiempo de ejecución desde nodos de trabajo al back-end de Microsoft Defender para la nube. Estos datos se recopilan mediante los componentes de Defender para contenedores que se ejecutan en el clúster y se envían para su análisis. Esta ruta de conectividad admite la detección de amenazas en tiempo de ejecución y otras funcionalidades basadas en sensores.

Conexión a las API del proveedor de nube

Microsoft Defender para la nube se conecta a las API del proveedor de nube para detectar recursos y realizar análisis de seguridad como parte del proceso de conexión del entorno en la nube. Esta ruta de conectividad se establece al conectar el entorno de nube a Microsoft Defender para la nube.

Registros de auditoría de Kubernetes enviados desde la infraestructura en la nube

La infraestructura en la nube envía registros de auditoría de Kubernetes a Microsoft Defender para la nube para el análisis de seguridad y detección de amenazas del plano de control. El método que se usa para recopilar y enviar registros de auditoría depende del proveedor de nube y del entorno en el que se ejecutan los clústeres de Kubernetes.

Esta arquitectura también permite detectar eventos relacionados con la exposición, como Servicio de Kubernetes expuesto detectado, cuando se crea o actualiza un servicio de Kubernetes de tipo LoadBalancer y expone públicamente las cargas de trabajo. Normalmente, estas señales se priorizan cuando la exposición a Internet no está deseada o cuando faltan controles de autenticación.

Compatibilidad con el proxy y la conectividad privada

Defender para contenedores admite la conectividad saliente a través de los servidores proxy configurados y las configuraciones de conectividad privada.

Arquitectura para cada entorno de Kubernetes

Componentes de arquitectura

Cuando Defender for Cloud protege un clúster hospedado en Azure Kubernetes Service, recopila datos de registro de auditoría de Kubernetes de forma nativa a través de Azure infraestructura sin necesidad de agentes ni configuración adicionales. Para obtener la protección completa que ofrece Microsoft Defender para contenedores, necesita estos componentes:

  • Defender sensor: Un daemonSet ligero implementado en nodos de AKS que recopila datos de telemetría en tiempo de ejecución (eventos de Kubernetes, procesos y datos de red) mediante eBPF. Envía la telemetría de forma segura a Defender for Cloud para la protección contra amenazas en tiempo de ejecución. El sensor se registra con un área de trabajo de Log Analytics y actúa como una tubería de datos. Sin embargo, los datos del registro de auditoría no se almacenan en el área de trabajo de Log Analytics. El sensor Defender se implementa como un perfil de seguridad de AKS, integrado de forma nativa en el proveedor de recursos (RP) de AKS.

Nota:

Al configurar el sensor de Defender en un clúster de AKS, desencadena un proceso de conciliación. Este proceso se produce como parte del plan de Defender for Containers y es el comportamiento esperado.

  • Azure Policy para Kubernetes: un pod que extiende el Gatekeeper v3 de código abierto y se registra como un webhook en el control de admisión de Kubernetes. Con este pod, puede aplicar medidas de cumplimiento y protecciones a gran escala en los clústeres de forma centralizada y coherente. El pod de Azure Policy para Kubernetes se implementa como un complemento de AKS y solo tiene que instalarlo en un nodo del clúster. Proporciona la opción de aplicar reglas de configuración. Obtenga más información sobre la protección de cargas de trabajo de Kubernetes y Azure Policy de Kubernetes.
  • Integración de ACR: el análisis de imágenes periódico y activado por inserciones de Azure Container Registry, a fin de evaluar las vulnerabilidades sin que necesiten otros componentes.
  • Agentless discovery: Proporciona visibilidad de los clústeres de Kubernetes sin necesidad de agentes, mediante el uso de Azure funcionalidades nativas para detectar y evaluar configuraciones de clúster.
  • Examen sin agente de máquinas: Instantáneas periódicas de discos de los nodos de Kubernetes para un análisis profundo y fuera de banda de la configuración del sistema operativo y del sistema de archivos. Esta característica no necesita agentes instalados ni conectividad de red y no afecta al rendimiento de la máquina.
  • Microsoft integración XDR: se integra con la plataforma de detección y respuesta extendidas de Microsoft para operaciones de seguridad unificadas y respuesta a incidentes.

Diagrama de arquitectura de alto nivel de la interacción entre Microsoft Defender for Containers, Azure Kubernetes Service y Azure Policy.

Nota:

Estos componentes no requieren conexiones entrantes a los clústeres y usan la infraestructura de seguridad nativa de Azure. Todos los componentes usan conectividad de solo salida (no se requiere acceso entrante).

Detalles del componente del sensor de Defender

Nombre del pod Namespace Variante Descripción breve Capacidades Límites de recursos Salida requerida
microsoft-defender-collector-ds-* kube-system DaemonSet Recopila la telemetría en tiempo de ejecución (eventos de Kubernetes, procesos y datos de red) de nodos mediante la tecnología eBPF y la envía de forma segura a Defender for Cloud. SYS_ADMIN,
SYS_RESOURCE,
SYS_PTRACE
memoria: 296Mi

cpu: 360 m
No
microsoft-defender-collector-misc-* kube-system Implementación Recopila eventos de seguridad y inventario de nivel de clúster que no están enlazados a nodos específicos. No disponible memoria: 64Mi

CPU: 60 m
No
microsoft-defender-publisher-ds-* kube-system DaemonSet Publica la telemetría recopilada en el servicio back-end de Microsoft Defender for Containers para su procesamiento y análisis. No disponible memoria: 200Mi

CPU: 60 m
HTTPS 443

Más información sobre los requisitos previos de acceso de salida

* No se pueden configurar límites de recursos. Obtenga más información sobre los límites de recursos de Kubernetes.

¿Cómo funciona la detección sin agente para Kubernetes en Azure?

El proceso de detección usa instantáneas tomadas a intervalos:

Diagrama de la arquitectura de permisos.

Al habilitar la extensión Detección sin agente para Kubernetes, se producirá el siguiente proceso:

  • Crear:
    • Si habilita la extensión desde CSPM de Defender, Defender for Cloud crea una identidad en su entorno llamada como CloudPosture/securityOperator/DefenderCSPMSecurityOperator.
    • Si habilita la extensión desde Defender for Containers, Defender for Cloud crea una identidad en el entorno denominado CloudPosture/securityOperator/DefenderForContainersSecurityOperator.
  • Assign: Defender for Cloud asigna un rol integrado denominado Kubernetes Agentless Operator a esa identidad en el ámbito de la suscripción. El rol contiene los permisos siguientes:
    • Lectura AKS (Microsoft.ContainerService/managedClusters/read)
    • Acceso de confianza de AKS con los siguientes permisos:
      • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
      • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
      • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete Aprenda más sobre AKS Trusted Access.
  • Discover: Mediante la identidad asignada por el sistema, Defender for Cloud detecta los clústeres de AKS en su entorno realizando llamadas API al servidor de API de AKS.
  • Enlace: después de detectar un clúster AKS, Defender for Cloud realiza una operación de enlace AKS, por el que se crea un ClusterRoleBinding entre la identidad creada y el ClusterRoleaks:trustedaccessrole:defender-containers:microsoft-defender-operator de Kubernetes. El ClusterRole es visible a través de la API y proporciona permiso de lectura del plano de datos de Defender for Cloud dentro del clúster.

Nota:

La instantánea copiada permanece en la misma región que el clúster.