Esta página ajuda você a começar e orienta no uso do painel de postura de segurança para detectar vulnerabilidades. Confira os requisitos, selecione entre os níveis disponíveis e saiba como ativar a verificação de vulnerabilidades, implantar uma carga de trabalho de teste, conferir resultados e recomendações e desativar a verificação.
Esta página é destinada a especialistas em segurança que monitoram clusters em busca de problemas de segurança. Para saber mais sobre papéis comuns e tarefas de exemplo que mencionamos no conteúdo doGoogle Cloud , consulte Tarefas e funções de usuário comuns do GKE.
Antes de ler esta página, familiarize-se com a visão geral do verificação de vulnerabilidades de carga de trabalho.
Preços
Para informações sobre preços, consulte Preços do painel de postura de segurança do GKE
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 CLI do Google Cloud para essa tarefa,
instale e inicialize a
gcloud CLI. Se você instalou a CLI gcloud anteriormente, instale a versão
mais recente executando o comando
gcloud components update
. Talvez as versões anteriores da CLI gcloud não sejam compatíveis com a execução dos comandos neste documento.
Ative a API Container Security.
Para usar o Advanced Vulnerability Insights, ative a API Container Analysis.
Requisitos
-
Para receber as permissões necessárias para usar a verificação de vulnerabilidades 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 seu projeto Google Cloud . Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Esse papel predefinido contém as permissões necessárias para usar a verificação de vulnerabilidades da 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 verificação de vulnerabilidades da 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.
-
- O Advanced Vulnerability Insights requer a versão 1.27 ou posterior do GKE.
Níveis de verificação de vulnerabilidades da carga de trabalho
Ative a verificação de vulnerabilidades em níveis. Cada um deles adiciona recursos de verificação da seguinte maneira. Se você usa o Google Kubernetes Engine (GKE) Enterprise para gerenciar frotas de clusters, você também pode definir configurações de verificação de vulnerabilidades no nível de frota aplicáveis 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.
Nível | Recursos ativados | Requisito da versão do GKE |
---|---|---|
Standardstandard |
Verificação de vulnerabilidades do SO do contêiner |
|
Advanced Vulnerability Insightsenterprise |
|
|
Para mais informações sobre cada recurso, consulte Sobre a verificação de vulnerabilidades de carga de trabalho.
Ativar a verificação de vulnerabilidades do SO do contêiner
A verificação de vulnerabilidades do Container OS é ativada por padrão em novos clusters do Autopilot que executam a versão 1.27 e mais recentes. Nesta seção, mostramos como ativar esse recurso em novos clusters padrão e em clusters do Autopilot que executam versões anteriores à 1.27.
Ativar a verificação do SO do contêiner em um cluster atual
gcloud
Atualize o cluster:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=standard
Substitua:
CLUSTER_NAME
: o nome do cluster.CONTROL_PLANE_LOCATION
: o local do plano de controle do cluster. Forneça uma região para clusters regionais padrão e do Autopilot ou uma zona para clusters zonais padrão.
Console
Acesse a página Postura de segurança no console do Google Cloud .
Acessar postura de segurança- Clique na guia Configurações.
- Na seção Clusters ativados de verificação de vulnerabilidades, clique em Selecionar clusters.
- Marque as caixas de seleção dos clusters que você quer adicionar.
- No menu suspenso Selecionar ação, escolha Definir como básico.
- Clique em Aplicar.
Ativar o Advanced Vulnerability Insights
O Advanced Vulnerability Insights permite a verificação contínua dos aplicativos em execução quanto aos seguintes tipos de vulnerabilidades:
- Vulnerabilidades do SO do contêiner
- Vulnerabilidades no pacote de linguagens
Quando você ativa o Advanced Vulnerability Insights, o recurso de verificação de vulnerabilidades do SO do contêiner é ativado automaticamente e não pode ser desativado separadamente.
Requisitos
Verifique se você ativou a API Container Analysis no seu projeto.
Ativar a API Container Analysis
Ativar o Advanced Vulnerability Insights em um cluster atual
gcloud
Atualize o cluster:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=enterprise
Substitua:
CLUSTER_NAME
: o nome do cluster.CONTROL_PLANE_LOCATION
: o local do plano de controle do cluster. Forneça uma região para clusters regionais padrão e do Autopilot ou uma zona para clusters zonais padrão.
Console
Acesse a página Postura de segurança no console do Google Cloud .
Acessar postura de segurança- Clique na guia Configurações.
- Na seção Clusters ativados de verificação de vulnerabilidades, clique em Selecionar clusters.
- Marque as caixas de seleção dos clusters que você quer adicionar.
- No menu suspenso Selecionar ação, escolha Definir como avançado.
- Clique em Aplicar.
Implantar uma carga de trabalho de teste
Na seção a seguir, você vai usar exemplos de manifestos de implantação. Uma implantação é um objeto da API Kubernetes que permite executar várias réplicas de pods distribuídos entre os nós de um cluster.
Os manifestos a seguir têm vulnerabilidades conhecidas para fins de demonstração. Na prática, se você souber que um aplicativo é vulnerável, provavelmente não precisará executá-lo.
Salve o seguinte manifesto como
os-vuln-sample.yaml
:apiVersion: apps/v1 kind: Deployment metadata: name: frontend spec: replicas: 1 selector: matchLabels: app: guestbook tier: frontend template: metadata: labels: app: guestbook tier: frontend spec: containers: - name: php-redis image: us-docker.pkg.dev/google-samples/containers/gke/gb-frontend:v5 env: - name: GET_HOSTS_FROM value: "dns" resources: requests: cpu: 100m memory: 100Mi ports: - containerPort: 80
Analise o seguinte manifesto, que contém uma vulnerabilidade conhecida do Maven:
Se quiser, consiga as credenciais do cluster:
gcloud container clusters get-credentials CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION
Implante os aplicativos no cluster:
kubectl apply -f os-vuln-sample.yaml kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/kubernetes-engine-samples/main/security/language-vulns/maven/deployment.yaml
Para testar outras vulnerabilidades, implante versões mais recentes de imagens em ambientes de teste, como
nginx
.
Ver e realizar os resultados
A verificação inicial leva pelo menos 15 minutos para retornar os resultados, dependendo do número de cargas de trabalho verificadas. O GKE exibe os resultados no painel de postura de segurança e adiciona automaticamente entradas ao Logging.
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:
Acesse a página Postura de segurança no console do Google Cloud .
Clique na guia Preocupações.
No painel Filtrar preocupações, na seção Tipo de preocupação, marque a caixa de seleção Vulnerabilidade.
Ver detalhes e recomendações de problemas
Para ver informações detalhadas sobre uma vulnerabilidade específica, clique na linha que contém essa preocupação.
O painel Preocupação de vulnerabilidade mostra as seguintes informações:
- Descrição: uma descrição da preocupação, incluindo um número de CVE, se aplicável, e uma descrição detalhada da vulnerabilidade e o possível impacto dela.
- Ação recomendada: ações que você pode realizar para lidar com a vulnerabilidade, como versões fixas do pacote e onde aplicar a correção.
Ver registros de problemas descobertos
O GKE adiciona entradas ao bucket de registros _Default
no Logging
para cada questão descoberta. Esses registros são mantidos apenas por um período específico. Para mais detalhes, consulte Períodos de armazenamento dos registros.
No console do Google Cloud , acesse o Explorador de registros:
Acessar a Análise de registrosNo 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_VULNERABILITY"
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
Exclua a carga de trabalho de amostra que você implantou:
kubectl delete deployment frontend
Como opção, exclua o cluster usado:
gcloud container clusters delete CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION
Desativar a verificação de vulnerabilidades da carga de trabalho
É possível desativar a verificação de vulnerabilidades da carga de trabalho usando a CLI gcloud ou o Google Cloud console.
gcloud
Execute este comando:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=disabled
Substitua:
CLUSTER_NAME
: o nome do cluster.CONTROL_PLANE_LOCATION
: o local do plano de controle do cluster. Forneça uma região para clusters regionais padrão e do Autopilot ou uma zona para clusters zonais padrão.
Console
Acesse a página Postura de segurança no console do Google Cloud .
Acessar postura de segurança- Clique na guia Configurações.
- Na seção Clusters ativados de verificação de vulnerabilidades, clique em Selecionar clusters.
- Marque as caixas de seleção dos clusters que você quer remover.
- No menu suspenso Selecionar ação, escolha Definir como desativado.
- Clique em Aplicar.
A seguir
- Saiba mais sobre o painel de postura de segurança.
- Saiba como verificar as cargas de trabalho em busca de preocupações com a configuração.