Pular para o conteúdo principal

Lab 9.4 - Auditoria de Segurança

Objetivos do Lab​

Ao final deste lab, você será capaz de:

  • Compreender a auditoria de segurança no Kubernetes.
  • Verificar as permissões de usuários e Service Accounts.
  • Examinar os recursos de segurança.
  • Identificar possíveis problemas de segurança.

Duração Estimada​

45-60 minutos

Pré-requisitos​

  • kubectl instalado e configurado.
  • Cluster Kubernetes local funcional.
  • Conhecimentos sobre segurança no Kubernetes (Capítulos anteriores).

Parte 1: Verificação de Permissões​

Etapa 1.1: Verificar Permissões com kubectl auth can-i​

Verifique suas próprias permissões:

# Verificar todas as suas permissões
kubectl auth can-i --list

# Verificar permissões específicas
kubectl auth can-i create pods
kubectl auth can-i delete deployments
kubectl auth can-i get secrets

Etapa 1.2: Verificar Permissões de um Service Account​

Crie um Service Account e verifique suas permissões:

kubectl create serviceaccount test-sa
kubectl auth can-i --list --as=system:serviceaccount:default:test-sa

Parte 2: Auditoria de Roles e RoleBindings​

Etapa 2.1: Listar todos os Roles​

Examine todos os Roles no cluster:

# Roles em todos os namespaces
kubectl get roles --all-namespaces

# Detalhes de um Role específico
kubectl describe role <role-name> -n <namespace>

Etapa 2.2: Listar todos os RoleBindings​

Examine todos os RoleBindings:

kubectl get rolebindings --all-namespaces
kubectl describe rolebinding <binding-name> -n <namespace>

Parte 3: Auditoria de Secrets​

Etapa 3.1: Listar os Secrets​

Identifique todos os Secrets:

kubectl get secrets --all-namespaces

Etapa 3.2: Verificar Acesso aos Secrets​

Verifique quem pode acessar os Secrets:

kubectl auth can-i get secrets --all-namespaces

Parte 4: Auditoria de Service Accounts​

Etapa 4.1: Listar todos os Service Accounts​

kubectl get serviceaccounts --all-namespaces

Etapa 4.2: Examinar as Permissões​

Para cada Service Account, verifique suas permissões:

kubectl get rolebindings,clusterrolebindings --all-namespaces -o wide | grep <service-account-name>

Parte 5: Verificação da Configuração de Segurança​

Etapa 5.1: Verificar os Pod Security Standards​

Verifique os namespaces com PSS:

kubectl get namespaces --show-labels | grep pod-security

Etapa 5.2: Verificar as Network Policies​

Examine as Network Policies:

kubectl get networkpolicies --all-namespaces

Parte 6: Relatório de Auditoria​

Crie um script simples para gerar um relatório:

#!/bin/bash
echo "=== Auditoria de Segurança Kubernetes ==="
echo ""
echo "1. Roles e RoleBindings:"
kubectl get roles,rolebindings --all-namespaces
echo ""
echo "2. Service Accounts:"
kubectl get serviceaccounts --all-namespaces
echo ""
echo "3. Secrets:"
kubectl get secrets --all-namespaces | wc -l
echo ""
echo "4. Pod Security Standards:"
kubectl get namespaces --show-labels | grep pod-security

Resumo do Lab​

Neste lab, você realizou uma auditoria de segurança no seu cluster Kubernetes. Você aprendeu a verificar permissões, examinar recursos de segurança e identificar possíveis problemas.


Próximos Passos​

Este módulo sobre Segurança e RBAC está agora completo. Você pode avançar para o Módulo 10 sobre Helm e Gerenciamento de Pacotes.

Módulo 10: Helm e Gerenciamento de Pacotes


Lab criado em: Dezembro de 2024