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