O que Análise de Logs de Auditoria do Kubernetes faz?
Quando Usar
- Ao investigar incidentes de segurança que exigem análise de logs de auditoria do Kubernetes
- Ao construir regras de detecção ou consultas de caça a ameaças para este domínio
- Quando analistas de SOC precisam de procedimentos estruturados para este tipo de análise
- Ao validar a cobertura de monitoramento de segurança para técnicas de ataque relacionadas
Pré-requisitos
- Familiaridade com conceitos e ferramentas de segurança de containers
- Acesso a um ambiente de teste ou laboratório para execução segura
- Python 3.8+ com as dependências necessárias instaladas
- Autorização apropriada para quaisquer atividades de teste
Instruções
Parseie arquivos de log de auditoria do Kubernetes (formato JSON lines) para detectar eventos relevantes de segurança, incluindo acesso não autorizado, escalonamento de privilégios e exfiltração de dados.
import json
with open("/var/log/kubernetes/audit.log") as f:
for line in f:
event = json.loads(line)
verb = event.get("verb")
resource = event.get("objectRef", {}).get("resource")
user = event.get("user", {}).get("username")
if verb == "create" and resource == "pods/exec":
print(f"Pod exec por {user}")
Eventos-chave a detectar:
- pods/exec e pods/attach (shell em containers)
- Acesso a secrets (get/list/watch)
- Criação de clusterrolebindings (escalonamento RBAC)
- Criação de pod privilegiado
- Acesso anônimo ou system:unauthenticated
Exemplos
# Detecta enumeração de secrets
if verb in ("get", "list") and resource == "secrets":
print(f"Acesso a secrets: {user} -> {event['objectRef'].get('name')}")