Monitoring Security Evolution: Do Hardcoded ao Zero-Trust

Um guia prático e progressivo sobre segurança em stacks de observabilidade (Zabbix, Grafana, Prometheus). O projeto simula a jornada de maturidade de uma equipe DevOps, demonstrando 5 níveis de implementação: desde ambientes inseguros com senhas “chumbadas” no código (Hardcoded), passando por variáveis de ambiente e cofres digitais (HashiCorp Vault), até atingir o estado da arte com arquiteturas Cloud Native na AWS e Kubernetes Zero-Trust utilizando External Secrets Operators.


L1: Implementação Básica (Insegura)

O ponto de partida comum em muitos ambientes de desenvolvimento. Neste nível, a stack de monitoramento sobe rapidamente via Docker Compose, mas carrega uma vulnerabilidade crítica: credenciais de banco de dados e aplicações estão "chumbadas" (hardcoded) diretamente nos arquivos de manifesto, expondo segredos no repositório.

L2: Segregação de Configuração

O primeiro passo na higiene de segurança. As credenciais são removidas do código-fonte e migradas para arquivos de variáveis de ambiente (.env). Embora melhore a organização e evite commits acidentais de senhas, os segredos ainda residem em texto plano no sistema de arquivos do servidor.

L3: Cofre Digital Centralizado (Vault)

Introdução de uma ferramenta dedicada à gestão de segredos. O projeto integra o HashiCorp Vault ao Docker, garantindo que as aplicações (Grafana/Zabbix) busquem suas credenciais dinamicamente via API ou injeção de agente no momento da inicialização, eliminando arquivos de texto com senhas.

L4: Infraestrutura Cloud & Terraform

Elevação do ambiente para a nuvem pública (AWS). Utilizando Terraform, a infraestrutura é provisionada em instâncias EC2 que consomem segredos gerenciados nativamente pelo AWS Secrets Manager. Isso remove a complexidade de manter um servidor de Vault próprio e adiciona auditoria e rotação automática de chaves pela cloud.

L5: Kubernetes & External Secrets

O estado da arte em segurança (Zero-Trust). A stack é migrada para Kubernetes, utilizando o External Secrets Operator para sincronizar segredos da AWS/Vault diretamente para Kubernetes Secrets em memória. A aplicação não sabe onde o segredo está guardado, ela apenas o consome, garantindo isolamento total e escalabilidade.

Observabilidade Stack

Zabbix 7.0, Grafana, Prometheus

Security & Secrets

HashiCorp Vault, AWS Secrets Manager, External Secrets

Infraestrutura Evolutiva

Docker Compose, Terraform, Kubernetes (K8s)