Auditar automaticamente as cargas de trabalho em busca de problemas de configuração.


Nesta página, mostramos como auditar automaticamente suas configurações de carga de trabalho para preocupações com segurança e receber recomendações úteis para melhorar a postura de segurança dos clusters padrão e Autopilot do Google Kubernetes Engine (GKE). A auditoria de configuração da carga de trabalho é um recurso do painel de postura de segurança. Para mais informações, consulte Sobre a auditoria de configuração da carga de trabalho.

Preços

O painel de postura de segurança é oferecido sem custo extra no GKE por meio da API Container Security.

As entradas adicionadas ao Cloud Logging usam preços do Cloud Logging.

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

  • Ativar a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Se você quiser usar a Google Cloud CLI para essa tarefa, instale e, em seguida, inicialize a CLI gcloud. Se você instalou a CLI gcloud anteriormente, instale a versão mais recente executando gcloud components update.

Requisitos

  • Para receber as permissões necessárias para usar a auditoria de configuração da carga de trabalho, peça ao administrador para conceder a você o papel do IAM de Leitor de postura de segurança (roles/containersecurity.viewer) no projeto do Google Cloud. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

    Esse papel predefinido contém as permissões necessárias para usar a auditoria de configuração de carga de trabalho. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

    Permissões necessárias

    As permissões a seguir são necessárias para usar a auditoria de configuração de carga de trabalho:

    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • containersecurity.locations.list
    • containersecurity.locations.get
    • containersecurity.clusterSummaries.list
    • containersecurity.findings.list

    Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

  • A auditoria de configuração da carga de trabalho requer o GKE versão 1.21 ou posterior.

Ativar a auditoria de configuração da carga de trabalho

A auditoria de configuração da carga de trabalho é ativada por padrão nos novos clusters do Autopilot e Standard que executam a versão 1.27 ou mais recente. Também é possível ativar manualmente esse recurso usando a CLI gcloud ou o console do Google Cloud.

Ativar a auditoria de configuração em um novo cluster

gcloud

Crie um novo cluster do GKE usando a gcloud CLI:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --security-posture=standard

Substitua:

Console

  1. Acesse a página Google Kubernetes Engine no console do Google Cloud.

    Acessar o Google Kubernetes Engine
  2. Clique em Criar.
  3. Na seção Autopilot do GKE, clique em Configurar.
  4. No painel de navegação, clique em Configurações avançadas. Se você estiver criando um cluster Standard, clique em Segurança.
  5. Na seção Segurança, marque a caixa de seleção Auditoria de configuração.
  6. Configure outras opções para o cluster e clique em Criar quando estiver tudo pronto.

Ativar a auditoria de configuração em um cluster atual

gcloud

Atualize o cluster:

gcloud container clusters update CLUSTER_NAME \
    --location=LOCATION \
    --security-posture=standard

Substitua:

Console

  1. Acesse a página Postura de segurança no console do Google Cloud.

    Acessar a postura de segurança
  2. Clique na guia Configurações.
  3. Na seção Clusters de auditoria de configuração ativados, clique em Selecionar clusters.
  4. Marque as caixas de seleção dos clusters que você quer adicionar.
  5. No menu suspenso Selecionar ação, escolha Definir como básico.
  6. Clique em Aplicar.

Se você usa o Google Kubernetes Engine (GKE) Enterprise para gerenciar frotas de clusters, você também pode definir configurações de auditoria de configuração de nível de frota que se aplique a todos os clusters membros. Para instruções, consulte Configurar recursos do painel de postura de segurança do GKE no nível da frota.

Implantar uma carga de trabalho de teste

Implantar um aplicativo de amostra que viole intencionalmente os Padrões de segurança do pod.

  1. Salve o seguinte manifesto como misconfig-sample.yaml:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: helloweb
      labels:
        app: hello
    spec:
      selector:
        matchLabels:
          app: hello
          tier: web
      template:
        metadata:
          labels:
            app: hello
            tier: web
        spec:
          containers:
          - name: hello-app
            image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
            ports:
            - containerPort: 8080
            securityContext:
              runAsNonRoot: false
            resources:
              requests:
                cpu: 200m
    
  2. Implante o aplicativo no cluster:

    kubectl apply -f misconfig-sample.yaml
    

Se você quiser testar outras violações, modifique misconfig-sample.yaml com a configuração "bad" correspondente.

Ver e executar os resultados da auditoria de configuração

A auditoria inicial leva até 15 minutos para retornar os resultados. O GKE exibe os resultados no painel de postura de segurança e adiciona automaticamente entradas aos registros do cluster.

Ver resultados

Para uma visão geral das preocupações descobertas nos clusters e nas cargas de trabalho do seu projeto, faça o seguinte:

  1. Acesse a página Postura de segurança no console do Google Cloud.

    Acessar a postura de segurança

  2. Clique na guia Preocupações.

  3. No painel Filtrar preocupações, na seção Tipo de preocupação, marque a caixa de seleção Configuração.

Ver detalhes e recomendações de problemas

Para visualizar informações detalhadas sobre uma preocupação de configuração específica, clique na linha que contém a preocupação.

O painel Problema da configuração mostra as seguintes informações:

  • Descrição: uma descrição da preocupação.
  • Ação recomendada: veja uma visão geral das ações que podem ser realizadas para corrigir o problema de configuração. Esta seção inclui os seguintes detalhes:
    • Quais recursos precisam de correção
    • Comandos de amostra que podem ser executados para aplicar a correção aos recursos afetados
    • As instruções do console do Google Cloud, se aplicável, para corrigir o problema

Ver registros de problemas descobertos

O GKE adiciona entradas ao Logging para cada questão descoberta.

  1. Acesse o Explorador de registros no console do Google Cloud:

    Acessar o Explorador de registros

  2. No campo Consulta, insira a seguinte consulta:

    resource.type="k8s_cluster"
    jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding"
    jsonPayload.type="FINDING_TYPE_MISCONFIG"
    
  3. Clique em Executar consulta.

Para receber notificações quando o GKE adicionar novas descobertas ao Logging, configure alertas com base em registros para essa consulta. Para mais informações, consulte Como gerenciar alertas com base em registros.

Limpar

  1. Exclua a carga de trabalho de amostra que você implantou.

    kubectl delete deployment helloweb
    
  2. Como opção, exclua o cluster usado.

    gcloud container clusters delete CLUSTER_NAME \
        --region=COMPUTE_REGION
    

Desativar a auditoria de configuração da carga de trabalho

É possível desativar a auditoria de configuração da carga de trabalho usando a gcloud CLI ou o console do Google Cloud.

gcloud

Execute este comando:

gcloud container clusters update CLUSTER_NAME \
    --region=LOCATION \
    --security-posture=disabled

Substitua:

Console

  1. Acesse a página Postura de segurança no console do Google Cloud.

    Acessar a postura de segurança
  2. Clique na guia Configurações.
  3. Na seção Clusters de auditoria de configuração ativados, clique em Selecionar clusters.
  4. Na guia Auditoria ativada, marque as caixas de seleção dos clusters que você quer remover.
  5. Clique em Desativar auditoria e em Confirmar, para desativar a auditoria nesses clusters.

Limitações da auditoria de configuração da carga de trabalho

  • Os pools de nós do Windows Server não são compatíveis.
  • A auditoria da configuração de carga de trabalho não verifica cargas de trabalho gerenciadas pelo GKE, como cargas de trabalho no namespace kube-system.
  • A auditoria de configuração da carga de trabalho só fica disponível para clusters com menos de mil nós.
  • O painel de postura de segurança oferece suporte para até 150.000 descobertas de auditoria de configuração de carga de trabalho ativa para cada cluster. Quando o número de descobertas de um cluster excede esse máximo, o painel de postura de segurança para de mostrar descobertas de configuração para esse cluster.

    Para resolver esse problema, use os registros no Logging para identificar problemas de configuração e implantar manifestos atualizados. Quando o número de descobertas de configuração é menor que 150.000, o painel de postura de segurança começa a exibir descobertas do cluster.

A seguir