Aplicação de políticas para configurações incorretas do Kubernetes

A aplicação de configurações incorretas do Kubernetes é um recurso do Microsoft Defender para contêineres que avalia os recursos do Kubernetes antes de serem admitidos em um cluster. Você pode usá-lo para auditar ou bloquear implantações que não atendem Microsoft regras de prática recomendada de segurança.

Depois de ativar o recurso, o Defender para Contêineres cria uma regra de segurança padrão chamada Regra padrão de configuração incorreta do K8s. A regra padrão é criada no modo Auditoria e se aplica a todos os clusters do Kubernetes no escopo. Você pode alterar a ação de regra para Bloquear, configurar regras e parâmetros individuais ou criar políticas personalizadas para escopos específicos.

Use a aplicação de configurações incorretas do Kubernetes para ajudar a:

  • Audite ou bloqueie cargas de trabalho do Kubernetes com configurações de segurança não seguras.
  • Exija a execução sem privilégios de root e IDs aprovados de usuário ou de grupo.
  • Impedir a montagem automática de credenciais da API do Kubernetes.
  • Bloqueie a execução de cargas de trabalho no namespace do Kubernetes padrão.
  • Impedir que contêineres compartilhem namespaces de host confidenciais, como PID, IPC ou rede.
  • Restrinja imagens de contêiner a registros confiáveis ou padrões aprovados.
  • Impor limites de CPU e memória.
  • Exigir HTTPS para recursos de entrada do Kubernetes.
  • Bloquear escalonamento de privilégios e contêineres com privilégios totais.
  • Exigir que os contêineres usem um sistema de arquivos raiz somente leitura.

Pré-requisitos

Antes de começar, verifique se:

  • O Defender para contêineres está habilitado na assinatura ou conta de nuvem em que o cluster do Kubernetes está em execução.

  • Há suporte para o cluster do Kubernetes.

  • O cluster usa AKS, Kubernetes habilitado pelo Azure Arc, EKS ou GKE.

  • Se você estiver usando o provisionamento automático: Os Defender necessários para componentes de contêineres estão habilitados para seu ambiente:

    • AKS e Kubernetes com Azure Arc habilitado: o acesso à API do Kubernetes está habilitado.
    • AWS e GCP: a proteção contra ameaças sem agente está habilitada para coletar logs de auditoria.

    Note

    A proteção contra ameaças sem agente é habilitada por padrão quando você habilita Defender para contêineres para AWS ou GCP. Se ele estiver desabilitado, habilite-o antes de configurar a imposição de configuração incorreta do Kubernetes.

  • Se você está usando o Helm para implantação manual: Certifique-se de que o Helm esteja instalado (instruções de instalação do Helm) e disponível no ambiente da linha de comando. Em seguida, habilite manualmente a aplicação de configurações incorretas com o Helm.

  • Kubernetes ValidatingAdmissionPolicy está habilitado no cluster. O Kubernetes 1.30 e versões posteriores habilitam essa funcionalidade por padrão.

  • Você tem as permissões necessárias:

    • Para habilitar e gerenciar políticas de imposição de tempo de implantação, você precisa de permissões de Proprietário da Assinatura ou Administrador de Segurança .
    • Para exibir políticas e informações de monitoramento, você precisa de leitor de segurança ou permissões equivalentes.

Habilite manualmente a aplicação de configurações incorretas com o Helm.

Antes de começar, certifique-se de que cumpriu os pré-requisitos, incluindo ativar o Defender para Containers e verificar suas permissões.

Para habilitar manualmente a aplicação de configurações incorretas com o Helm:

  1. Siga o guia de instalação Helm para o sensor do Defender para contêineres para seu ambiente.

  2. Durante a instalação do mapa de Helm, use a última etiqueta de carta suportada. Use a seguinte referência de artefato OCI para selecionar o pacote de políticas Microsoft Defender for Containers durante a configuração de implantação com bloqueio:

    oci://mcr.microsoft.com/azuredefender-preview/microsoft-defender-for-containers
    
  3. Defina o seguinte valor de Helm para habilitar políticas de configuração incorreta no controlador de admissão do Defender, de modo que a aplicação da política seja aplicada ao seu cluster:

    defender-admission-controller.enableMisconfigurationPolicies=true
    

Depois que a imposição de configuração incorreta estiver habilitada, a regra de auditoria padrão será criada automaticamente no portal.

Crie uma política de aplicação de configurações incorretas.

Por padrão, o Defender para Contêineres cria a Regra padrão de configuração incorreta do K8s no modo Auditoria, com escopo em todos os recursos. Enquanto está no modo Auditoria , o controlador de admissão (o componente Kubernetes que avalia recursos contra suas políticas antes de serem admitidos no cluster) registra as violações, mas permite que as implantações continuem. Você pode criar políticas personalizadas com escopo para assinaturas, clusters ou namespaces específicos.

  1. Entre no portal do Azure.

  2. Vá para Microsoft Defender para Nuvem>Environment settings.

  3. Selecione regras de segurança.

    Captura de tela do bloco Regras de Segurança nas Configurações de Ambiente.

  4. Selecione Implantação controlada>Configurações incorretas para exibir as políticas disponíveis.

    Captura de tela da guia Configuração incorreta em Regras de Segurança mostrando a política padrão.

  5. Selecione Criar nova política.

  6. Insira um nome de política.

    Captura de tela do painel Criar nova política mostrando o nome da política e os campos Ação.

  7. Selecione uma ação:

    • Auditoria: registra violações sem bloquear implantações.
    • Bloqueio: impede implantações fora de conformidade.

    Note

    Selecionar o modo Block pode causar um pequeno atraso durante as implantações devido à aplicação de políticas em tempo real.

  8. Se necessário, insira uma descrição da regra.

  9. Insira um nome de escopo.

  10. Selecione o escopo da nuvem.

  11. No escopo do recurso, mantenha o escopo padrão ou selecione Adicionar condição para restringir o escopo da regra.

  12. Selecione Próximo.

  13. Marque a caixa de seleção ao lado de cada regra que você deseja habilitar.

    Captura de tela da guia Regras mostrando regras individuais que podem ser habilitadas ou desabilitadas.

  14. Para configurar parâmetros para uma regra, selecione o nome da regra.

    Algumas regras incluem parâmetros configuráveis. Se os parâmetros estiverem disponíveis, atualize-os conforme necessário e selecione Salvar.

    Captura de tela do painel de configuração de regra mostrando parâmetros personalizáveis e seus valores padrão.

  15. Selecione Próximo.

  16. Examine a configuração da política.

  17. Selecione Adicionar política.

Edite uma política de aplicação de configurações incorretas.

Você pode editar uma política de imposição de configuração incorreta existente para atualizar sua ação, regras habilitadas e parâmetros de regra configuráveis.

  1. Entre no portal do Azure.

  2. Vá para Microsoft Defender para Nuvem>Environment settings.

  3. Selecione regras de segurança.

  4. Selecione Implantação controlada>Configurações incorretas.

  5. Marque a caixa de seleção ao lado da política que você deseja editar.

  6. Selecione Editar.

  7. Atualize as configurações de política conforme necessário.

  8. Selecione Salvar política.

Limitações de política padrão

A regra padrão de configuração incorreta do K8s integrada tem as seguintes limitações:

  • Você pode alterar a ação entre Auditoria e Bloqueio.
  • Você pode habilitar ou desabilitar regras individuais.
  • Você pode configurar parâmetros para regras que dão suporte à personalização.
  • Não é possível editar o nome da política, a descrição ou o escopo.

As políticas personalizadas criadas não têm essas restrições.

Regras integradas para configurações incorretas

A aplicação de políticas contra configurações incorretas do Kubernetes inclui regras integradas baseadas nas práticas recomendadas de segurança da Microsoft.

As regras internas ajudam a impor controles para:

  • Limites de recursos de contêiner (CPU e memória): garante que os contêineres não excedam os limites especificados para evitar o esgotamento de recursos.
  • Gerenciamento de privilégios e funcionalidades: impede a execução de contêineres com privilégios elevados, funcionalidades desnecessárias do Linux ou caminhos de escalonamento de privilégios.
  • Execução não raiz: impõe IDs de usuário e grupo não raiz para que os contêineres não possam ser executados com privilégios excessivos do sistema operacional.
  • Montagem de credenciais de API: impede que os contêineres montem automaticamente as credenciais da API do Kubernetes.
  • Namespace padrão: impede a execução de cargas de trabalho no namespace do Kubernetes padrão.
  • Isolamento do namespace do host: impede que os contêineres compartilhem o PID do host, o IPC ou o namespace de rede.
  • Fontes de imagem confiáveis: restringe imagens de contêiner a registros confiáveis ou padrões aprovados.
  • Segurança de rede: impõe HTTPS para recursos de entrada do Kubernetes.
  • Segurança em tempo de execução: requer que os contêineres usem um sistema de arquivos raiz somente de leitura e bloqueia contêineres totalmente privilegiados.

Você pode habilitar ou desabilitar regras individuais em uma política e configurar parâmetros para regras que dão suporte à personalização.