Compartilhar via


Arquitetura do Microsoft Defender para Contêineres

O Defender para Contêineres usa um design diferente para cada ambiente do Kubernetes. O design depende de como o ambiente é executado em:

  • AKS (Serviço de Kubernetes do Azure) - serviço gerenciado da Microsoft para o desenvolvimento, a implantação e o gerenciamento de aplicativos conteinerizados.

  • Amazon EKS (Elastic Kubernetes Service) em uma conta conectada da AWS (Amazon Web Services) - serviço gerenciado da Amazon para execução de Kubernetes na AWS sem precisar instalar, operar e manter nós ou um painel de controle de Kubernetes.

  • GKE (Google Kubernetes Engine) em um projeto GCP (Google Cloud Platform) conectado – o ambiente gerenciado do Google para implantar, gerenciar e dimensionar aplicativos usando a infraestrutura GCP.

  • Uma distribuição não gerenciada de Kubernetes (usando Kubernetes habilitados para Azure Arc) - clusters de Kubernetes certificados pela CNCF (Cloud Native Computing Foundation) hospedados no local ou na IaaS.

Observação

O suporte do Defender para contêineres para clusters de Kubernetes habilitados para Arc (EKS do AWS e GKE de GCP) é uma versão prévia do recurso.

Para proteger os contêineres do Kubernetes, o Defender para Contêineres recebe e analisa:

  • Logs de auditoria e eventos de segurança do servidor de API
  • Informações de configuração do cluster do plano de controle
  • Configuração de carga de trabalho pela Azure Policy
  • Sinais e eventos de segurança do nível do nó

Para obter mais informações sobre detalhes de implementação, como sistemas operacionais compatíveis, disponibilidade de recursos e proxy de saída, consulte a disponibilidade de recursos do Defender para Contêineres.

Arquitetura para cada ambiente de Kubernetes

Diagrama de arquitetura dos clusters do Defender para Nuvem e do AKS

Quando o Defender para Nuvem protege um cluster hospedado no Serviço de Kubernetes do Azure, ele coleta dados de log de auditoria sem agente e automaticamente por meio da infraestrutura do Azure sem considerações adicionais de custo ou configuração. Para obter a proteção completa oferecida pelo Microsoft Defender para Contêineres, você precisa desses componentes:

  • Sensor do Defender: um DaemonSet leve implantado em nós do AKS que coleta telemetria de runtime (eventos do Kubernetes, processos e dados de rede) usando a tecnologia eBPF. Ele envia a telemetria com segurança ao Defender para Nuvem para proteção contra ameaças em tempo de execução. O sensor é registrado em um workspace de Análise de Logs e atua como um pipeline de dados. No entanto, os dados de log de auditoria não são armazenados no workspace do Log Analytics. O sensor do Defender é implantado como um perfil de segurança do AKS, integrado nativamente no RP (Provedor de Recursos do AKS).

Observação

Quando você configura o sensor do Defender em um cluster do AKS, ele dispara um processo de reconciliação. Esse processo ocorre como parte do plano do Defender para Contêineres e é o comportamento esperado.

  • Azure Policy para Kubernetes: um pod que estende o Gatekeeper v3 open-source e se registra como um web hook para o controle de admissão do Kubernetes. Com esse pod, você pode aplicar políticas e proteções em larga escala em seus clusters de maneira centralizada e consistente. O pod do Azure Policy para Kubernetes é implantado como um complemento do AKS e só é necessário instalá-lo em um nó do cluster. Ele fornece a opção de impor regras de configuração. Para obter mais informações, confira Proteger suas cargas de trabalho do Kubernetes e Entender o Azure Policy para clusters do Kubernetes.

  • Integração do ACR: varredura de imagem periódica e ativada por push para o Registro de Contêiner do Azure, fornecendo avaliação de vulnerabilidade, sem a necessidade de componentes adicionais.

  • Descoberta sem agente: fornece visibilidade dos clusters do Kubernetes sem a necessidade de agentes, usando recursos nativos do Azure para descobrir e avaliar as configurações do cluster.

  • Verificação sem agente para computadores: instantâneos de disco periódico de nós do Kubernetes para uma análise profunda e fora de banda da configuração do sistema operacional e do sistema de arquivos. Esse recurso não precisa de agentes instalados ou conectividade de rede e não afeta o desempenho do computador.

  • Integração do Microsoft XDR: integra-se perfeitamente à plataforma de detecção e resposta estendida da Microsoft para operações de segurança unificadas e resposta a incidentes.

Diagrama da arquitetura de alto nível da interação entre o Microsoft Defender para contêineres, o Serviço de Kubernetes do Azure e o Azure Policy.

Observação

Esses componentes funcionam juntos perfeitamente. Eles não exigem conexões de entrada para seus clusters e usam a infraestrutura de segurança nativa do Azure. Todos os componentes usam conectividade somente de saída (sem necessidade de acesso de entrada).

Detalhes do componente de sensor do Defender

Nome do pod Namespace Variante Descrição curta Capacidades Limites de recursos Saída necessária
microsoft-defender-collector-ds-* kube-system DaemonSet Coleta a telemetria de runtime (eventos, processos e dados de rede do Kubernetes) de nós usando a tecnologia eBPF e a envia com segurança para o Defender para Nuvem. SYS_ADMIN,
SYS_RESOURCE,
SYS_PTRACE
memória: 296 Mi

cpu: 360m
Não
microsoft-defender-collector-misc-* kube-system Implantação Coleta eventos de inventário e segurança em nível de cluster que não estão associados a nós específicos. Não aplicável memória: 64Mi

Cpu: 60m
Não
microsoft-defender-publisher-ds-* kube-system DaemonSet Publica a telemetria coletada no serviço de back-end do Microsoft Defender para Contêineres para processamento e análise. Não aplicável memória: 200Mi

Cpu: 60m
Https 443

Saiba mais sobre os pré-requisitos de acesso de saída

* Você não pode configurar limites de recursos. Saiba mais sobre os limites de recursos do Kubernetes.

Como funciona a descoberta sem agente para Kubernetes no Azure?

O processo de descoberta usa instantâneos feitos em intervalos:

Diagrama da arquitetura de permissões

Quando você ativa a descoberta sem agente da extensão do Kubernetes, ocorre o seguinte processo:

  • Criar:

    • Se você habilitar a extensão do Defender CSPM, o Defender para Nuvem criará uma identidade em seu ambiente chamada CloudPosture/securityOperator/DefenderCSPMSecurityOperator.
    • Se você habilitar a extensão do Defender para Contêineres, o Defender para Nuvem criará uma identidade em seu ambiente chamada CloudPosture/securityOperator/DefenderForContainersSecurityOperator.
  • Atribuir: o Defender para Nuvem atribui uma função interna chamada Operador Sem Agente do Kubernetes a essa identidade no escopo da assinatura. A função contém as seguintes permissões:

    • Leitura do AKS (Microsoft.ContainerService/managedClusters/read)
    • Acesso Confiável do AKS com as seguintes permissões:
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete

    Saiba mais sobre o Acesso Confiável do AKS.

  • Descobrir: Usando a identidade atribuída pelo sistema, o Defender para Nuvem descobre os clusters do AKS em seu ambiente fazendo chamadas à API para o servidor de API do AKS.

  • Vinculação: após a descoberta de um cluster do AKS, o Defender para Nuvem executa uma operação de vinculação ao AKS criando uma ClusterRoleBinding entre a identidade criada e a ClusterRoleaks:trustedaccessrole:defender-containers:microsoft-defender-operator do Kubernetes. Ele ClusterRole é visível por meio da API e fornece permissão de leitura do plano de dados do Defender para Nuvem dentro do cluster.

Observação

O instantâneo copiado permanece na mesma região que o cluster.

Próximas etapas

Nesta visão geral, você aprendeu sobre a arquitetura da segurança de contêineres no Microsoft Defender para Nuvem. Para habilitar o plano, consulte a visão geral da implantação do Defender para Contêineres.