ADR-0003 — Defesa em Profundidade do Cluster
Status: Aceito · Data: 2026-06-14
Contexto
Seção intitulada “Contexto”O CIS (host) e o Chainguard (imagem) cobrem a base, mas não observam o comportamento em tempo de execução, não cifram o tráfego interno entre serviços, nem protegem a sessão do frontend. Precisávamos de uma estratégia de defesa em profundidade para o RKE/aplicações.
Decisão
Seção intitulada “Decisão”Adotar três camadas adicionais:
- Segurança de runtime via eBPF — Tetragon sobre Cilium (CNI eBPF), monitorando syscalls, processos, rede e DNS.
- mTLS interno — Istio + SPIRE com certificados de curta duração para todo tráfego serviço-a-serviço.
- BFF para o frontend React — cookies
HttpOnly/Secure/SameSite+ CSRF, tirando o token do alcance de XSS.
Justificativa
Seção intitulada “Justificativa”- Aproveitar o pronto — Tetragon/Cilium e Istio/SPIRE resolvem a maior parte do problema sem instrumentar tudo do zero.
- Coerência com zero-trust — mTLS garante que nenhum serviço confie em outro só pela rede; SPIRE dá identidade forte de carga.
- Reduzir XSS/CSRF — o BFF é o padrão recomendado para SPAs, evitando tokens em
localStorage. - Defesa em profundidade — host + contêiner + runtime + tráfego + borda.
Alternativas consideradas
Seção intitulada “Alternativas consideradas”- Falco em vez de Tetragon: equivalente em runtime via eBPF; preferimos Tetragon pela integração nativa com Cilium (mesmo data plane).
- mTLS manual / cert-manager: maior esforço operacional e sem identidade SPIFFE; Istio+SPIRE foi preferido.
Consequências
Seção intitulada “Consequências”- Introduz um service mesh (Istio) e operadores eBPF — custo operacional a gerenciar.
- O enforcement do Tetragon só é ligado após o Shadow Mode.
- Padrões de network policy (Cilium), escopo do mesh e CSP por app ficam a definir.