Esta página mostra-lhe como auditar automaticamente as configurações da carga de trabalho para problemas de segurança e receber recomendações acionáveis para melhorar a postura de segurança dos seus clusters do Google Kubernetes Engine (GKE) Autopilot e Standard. Este artigo explica como ativar a auditoria da configuração da carga de trabalho, implementar uma carga de trabalho de teste, ver e tomar medidas relativamente aos resultados da auditoria da configuração e desativar a auditoria da configuração da carga de trabalho. Também aborda os preços, os requisitos e as limitações da auditoria da configuração da carga de trabalho.
Esta página destina-se a especialistas de segurança que monitorizam a segurança dos respetivos clusters do GKE e querem saber como auditar automaticamente as configurações das cargas de trabalho nos clusters do GKE Autopilot e Standard. Para saber mais acerca das funções comuns e das tarefas de exemplo que referimos no Trusted Cloud by S3NS conteúdo, consulte o artigo Funções e tarefas comuns de utilizadores do GKE.
Antes de ler esta página, uma vez que a auditoria da configuração da carga de trabalho é uma funcionalidade do painel de controlo da postura de segurança, certifique-se de que conhece os seguintes conceitos:
- Vista geral do painel de controlo da postura de segurança
- Acerca da auditoria da configuração da carga de trabalho
Preços
O painel de controlo da postura de segurança é oferecido sem custo adicional no GKE através da API Container Security.
As entradas adicionadas ao Cloud Logging usam os preços do Cloud Logging.
Antes de começar
Antes de começar, certifique-se de que realizou as seguintes tarefas:
- Ative a API Google Kubernetes Engine. Ative a API Google Kubernetes Engine
- Se quiser usar a CLI gcloud para esta tarefa,
instale-a e, em seguida,
inicialize-a. Se instalou anteriormente a CLI gcloud, execute
gcloud components update
para obter a versão mais recente.
Ative a API Container Security.
Certifique-se de que tem um cluster do Autopilot ou Standard que executa a versão 1.21 ou posterior. Para criar um novo cluster, consulte o artigo Criar um cluster do Autopilot.
Requisitos
-
Para receber as autorizações de que precisa para usar a auditoria da configuração da carga de trabalho, peça ao seu administrador para lhe conceder a função de IAM de Visualizador da postura de segurança (
roles/containersecurity.viewer
) no seu projeto Trusted Cloud . Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Esta função predefinida contém as autorizações necessárias para usar a auditoria da configuração da carga de trabalho. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para usar a auditoria da configuração da carga de trabalho:
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
containersecurity.locations.list
-
containersecurity.locations.get
-
containersecurity.clusterSummaries.list
-
containersecurity.findings.list
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
-
- A auditoria da configuração da carga de trabalho requer a versão 1.21 do GKE e posteriores.
Ative a auditoria da configuração da carga de trabalho
A auditoria da configuração da carga de trabalho está ativada por predefinição em novos clusters do Autopilot e Standard com a versão 1.27 e posteriores. Também pode ativar manualmente esta funcionalidade através da CLI gcloud ou da Trusted Cloud consola.
Ative a auditoria de configuração num cluster existente
gcloud
Atualize o cluster:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --security-posture=standard
Substitua o seguinte:
CLUSTER_NAME
: o nome do cluster.CONTROL_PLANE_LOCATION
: a localização do plano de controlo do seu cluster. Indique uma região para clusters padrão e do Autopilot regionais ou uma zona para clusters padrão zonais.
Consola
Aceda à página Posição de segurança na Trusted Cloud consola.
Aceda à postura de segurança- Clique no separador Definições.
- Na secção Clusters com auditoria de configuração ativada, clique em Selecionar clusters.
- Selecione as caixas de verificação dos clusters que quer adicionar.
- No menu pendente Selecionar ação, selecione Definir como básico.
- Clique em Aplicar.
Também pode configurar definições de auditoria de configuração ao nível da frota que se aplicam a todos os clusters membros. Para obter instruções, consulte o artigo Configure as funcionalidades do painel de controlo de segurança do GKE ao nível da frota.
Implemente uma carga de trabalho de teste
Implemente uma aplicação de exemplo que viole intencionalmente as normas de segurança de pods.
Guarde 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
Implemente a aplicação no cluster:
kubectl apply -f misconfig-sample.yaml
Se quiser experimentar outras violações, modifique misconfig-sample.yaml
com a configuração "incorreta" correspondente.
Veja e tome medidas relativamente aos resultados da auditoria de configuração
A auditoria inicial demora até 15 minutos a devolver resultados. O GKE apresenta os resultados no painel de controlo da postura de segurança e adiciona automaticamente entradas aos registos do cluster.
Ver resultados
Para ver uma vista geral das preocupações descobertas nos clusters e nas cargas de trabalho do seu projeto, faça o seguinte:
Aceda à página Posição de segurança na Trusted Cloud consola.
Clique no separador Preocupações.
No painel Filtrar preocupações, na secção Tipo de preocupação, selecione a caixa de verificação Configuração.
Veja detalhes e recomendações sobre preocupações
Para ver informações detalhadas sobre um problema de configuração específico, clique na linha que contém esse problema.
O painel Problema de configuração mostra as seguintes informações:
- Descrição: uma descrição da preocupação.
- Ação recomendada: uma vista geral das ações que pode realizar para corrigir o problema de configuração. Esta secção inclui os seguintes detalhes:
- Que recursos precisam da correção
- Exemplos de comandos que pode executar para aplicar a correção aos recursos afetados
- As Trusted Cloud instruções da consola, se aplicável, para corrigir o problema
Veja registos de preocupações detetadas
O GKE adiciona entradas ao contentor de registos _Default
no Logging
para cada preocupação descoberta. Estes registos só são retidos durante um período específico. Para ver detalhes, consulte o artigo
Períodos de retenção de registos.
Na Trusted Cloud consola, aceda ao Explorador de registos:
Aceda ao Explorador de registosNo campo Consulta, especifique a seguinte consulta:
resource.type="k8s_cluster" jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding" jsonPayload.type="FINDING_TYPE_MISCONFIG"
Clique em Executar consulta.
Para receber notificações quando o GKE adicionar novas descobertas ao Logging, configure alertas baseados em registos para esta consulta. Para mais informações, consulte o artigo Configure alertas baseados em registos.
Limpar
Elimine a carga de trabalho de exemplo que implementou.
kubectl delete deployment helloweb
Opcionalmente, elimine o cluster que usou.
gcloud container clusters delete CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION
Desative a auditoria da configuração da carga de trabalho
Pode desativar a auditoria da configuração da carga de trabalho através da CLI gcloud ou da Trusted Cloud consola.
gcloud
Execute o seguinte comando:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --security-posture=disabled
Substitua o seguinte:
CLUSTER_NAME
: o nome do cluster.CONTROL_PLANE_LOCATION
: a localização do plano de controlo do seu cluster. Indique uma região para clusters padrão e do Autopilot regionais ou uma zona para clusters padrão zonais.
Consola
Aceda à página Posição de segurança na Trusted Cloud consola.
Aceda à postura de segurança- Clique no separador Definições.
- Na secção Clusters com auditoria de configuração ativada, clique em Selecionar clusters.
- No separador Auditoria ativada, selecione as caixas de verificação dos clusters que quer remover.
- Clique em Desativar auditoria e, de seguida, em Confirmar para desativar a auditoria nesses clusters.
Limitações da auditoria da configuração da carga de trabalho
- Os conjuntos de nós do Windows Server não são suportados.
- A auditoria da configuração da carga de trabalho não analisa cargas de trabalho geridas pelo GKE, como cargas de trabalho no espaço de nomes
kube-system
. - A auditoria da configuração da carga de trabalho só está disponível para clusters com menos de 1000 nós.
O painel de controlo da postura de segurança suporta até 150 000 resultados de auditoria de configuração de carga de trabalho ativos para cada cluster. Quando o número de resultados de um cluster excede este máximo, o painel de controlo de postura de segurança deixa de apresentar resultados de configuração para esse cluster.
Para resolver este problema, use os registos no Logging para identificar problemas de configuração e implementar manifestos atualizados. Quando o número de resultados da configuração é inferior a 150 000, o painel de controlo da postura de segurança começa a apresentar resultados para o cluster.