Jornada completa de segurança em monitoramento: do básico funcional ao enterprise-grade com Zero-Trust Architecture
Este projeto demonstra a evolução progressiva de segurança em stacks de monitoramento, começando de uma implementação básica funcional até arquiteturas enterprise com Zero-Trust. Cada nível adiciona camadas de segurança, secrets management e melhores práticas de DevSecOps.
Proporcionar um caminho de aprendizado prático para implementar segurança em ambientes de monitoramento, permitindo que você:
- 📚 Aprenda gradualmente conceitos de segurança
- 🔄 Compare diferentes abordagens de secrets management
- 🚀 Migre entre níveis conforme sua maturidade
- 💰 Escolha o nível adequado ao seu orçamento e necessidades
| Level | Segurança | Stack | Secrets | Custo/mês | Status |
|---|---|---|---|---|---|
| 🟢 L1 | Base | Docker Compose | Hardcoded |
$0 | ✅ Completo |
| 🟡 L2 | Env Vars | Docker Compose | .env files | $0 | ✅ Completo |
| 🟠 L3 | Vault | Docker + Vault | HashiCorp Vault | $0 | ✅ Completo |
| 🔴 L4 | AWS Cloud | Terraform + EC2 | AWS Secrets Mgr | ~$35 | ✅ Completo |
| 🟣 L5 | K8s + Vault | Kubernetes + Vault | External Secrets | $0-46 | ✅ Completo |
┌──────────────────────────────────────────────────────────────┐
│ EVOLUÇÃO DE SEGURANÇA │
└──────────────────────────────────────────────────────────────┘
L1 L2 L3 L4 L5
┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
│ Base │ -> │ Env │ -> │ Vault│ -> │ AWS │ -> │ Zero │
│ │ │ Vars │ │ │ │Cloud │ │ Trust│
└──────┘ └──────┘ └──────┘ └──────┘ └──────┘
↓ ↓ ↓ ↓ ↓
Docker .env On-Prem Secrets K8s +
Compose Files Vault Manager Vault
$0/mês $0/mês $0/mês ~$35/mês $0-46/mês
Dev/POC Dev/Stage Small Prod Medium Prod Enterprise
Ideal para: Aprendizado inicial, desenvolvimento local, POCs
git clone https://github.com/jlui70/monitoring-security-level1.git
cd monitoring-security-level1
docker-compose up -dStack incluído:
- 📊 Zabbix Server + Agent
- 📈 Grafana
- 📉 Prometheus
- 🗄️ MySQL
- ⚡ Nginx
Características:
- ✅ Setup rápido (< 5 minutos)
- ✅ Tudo funcional out-of-the-box
⚠️ Secrets em plaintext (apenas para dev)- 💰 Custo: $0 (on-premise)
Ideal para: Separação de ambientes (dev/staging/prod)
git clone https://github.com/jlui70/monitoring-security-level2.git
cd monitoring-security-level2
# Siga instruções no README para configurar .envEvolução do Level 1:
- ✅ Secrets em arquivos .env separados
- ✅ Suporte a múltiplos ambientes
- ✅ Melhor organização de configurações
- ✅ Gitignore para .env files
- 💰 Custo: $0 (on-premise)
Uso típico:
# Desenvolvimento
docker-compose --env-file .env.dev up -d
# Staging
docker-compose --env-file .env.staging up -d
# Produção
docker-compose --env-file .env.prod up -dIdeal para: Produção on-premise, compliance, rotation automática
git clone https://github.com/jlui70/monitoring-security-level3.git
cd monitoring-security-level3
# Siga instruções para setup do VaultEvolução do Level 2:
- ✅ HashiCorp Vault para secrets centralizados
- ✅ Encryption at rest e in transit
- ✅ Rotation automática de secrets
- ✅ Audit logs completos
- ✅ Dynamic secrets com TTL
- ✅ Access policies granulares
- 💰 Custo: $0 (on-premise, self-hosted)
Features principais:
- 🔐 KV Secrets Engine v2 (versionamento)
- 🔄 Database credentials rotation
- 📝 Audit logging
- 🎫 Token-based authentication
- 🛡️ Policy-based access control
Ideal para: Workloads na AWS, compliance cloud, managed services
git clone https://github.com/jlui70/monitoring-security-level4.git
cd monitoring-security-level4
# Requer AWS CLI configuradoEvolução do Level 3:
- ✅ AWS Secrets Manager totalmente gerenciado
- ✅ Infraestrutura com Terraform + EC2
- ✅ Rotation automática via Lambda
- ✅ Encryption com KMS
- ✅ Fine-grained IAM policies
- ✅ VPC Endpoints para segurança adicional
- 💰 Custo: ~$35/mês (EC2 t3.medium + Secrets Manager)
Arquitetura:
┌────────────────────────────────────────┐
│ AWS Cloud (us-east-1) │
│ │
│ ┌────────────────────────────┐ │
│ │ AWS Secrets Manager │ │
│ │ - Secrets versionados │ │
│ │ - Rotation automatica │ │
│ │ - Encryption com KMS │ │
│ └───────────┬────────────────┘ │
│ │ │
│ ┌───────────┴────────────────┐ │
│ │ ECS/Fargate Tasks │ │
│ │ - Zabbix Server │ │
│ │ - Grafana │ │
│ │ - Prometheus │ │
│ └────────────────────────────┘ │
└────────────────────────────────────────┘
Ideal para: Enterprise, Kubernetes, automação completa de secrets
git clone https://github.com/jlui70/monitoring-security-level5.git
cd monitoring-security-level5
# Escolha uma das 3 opções de deploy:
# OPÇÃO 1: Local com Kind (Desenvolvimento) - $0/mês
./scripts/deploy-local-kind.sh
# OPÇÃO 2: AWS EKS (Produção) - ~$35/mês
./scripts/deploy-aws.sh
# OPÇÃO 3: AWS EKS + Ingress + HTTPS (Enterprise) - ~$46/mês
./scripts/deploy-aws-ingress.shStack incluído:
- 📊 Zabbix Server + Agent (auto-configurado)
- 📈 Grafana com datasources e dashboards pré-configurados
- 📉 Prometheus + Node Exporter
- 🗄️ MySQL (stateful)
- 🔐 HashiCorp Vault (KV v2 secrets engine)
- 🔄 External Secrets Operator (sincronização automática)
- 🌐 NGINX Ingress Controller (opção 3)
- 🔒 Cert-Manager + Let's Encrypt (opção 3)
Evolução do Level 3 e 4:
- ✅ ZERO arquivos
.env- Secrets direto do Vault - ✅ Sincronização automática - Refresh a cada 1 hora
- ✅ Kubernetes native - Secrets como K8s resources
- ✅ 3 opções de deploy - Local, AWS, AWS+Ingress
- ✅ Load Balancer + HTTPS automático (opção 3)
- ✅ Auto-configuração - Zabbix e Grafana prontos para usar
- ✅ Multi-cloud ready - Não depende de AWS (Kind funciona anywhere)
- 💰 Flexível: $0 (local) até $46/mês (AWS full)
Arquitetura (AWS + Ingress):
┌─────────────────────────────────────────────────┐
│ AWS EKS Cluster (us-east-1) │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ Network Load Balancer (NLB) │ │
│ │ ↓ HTTPS (Let's Encrypt) │ │
│ │ ┌────────────────────────────────────┐ │ │
│ │ │ NGINX Ingress Controller │ │ │
│ │ │ - grafana.domain.com │ │ │
│ │ │ - zabbix.domain.com │ │ │
│ │ │ - prometheus.domain.com │ │ │
│ │ └────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ External Secrets Operator (ESO) │ │
│ │ ↓ │ │
│ │ ┌──────────────────────┐ │ │
│ │ │ HashiCorp Vault │ │ │
│ │ │ (dev mode) │ │ │
│ │ │ - secret/grafana │ │ │
│ │ │ - secret/zabbix │ │ │
│ │ │ - secret/mysql │ │ │
│ │ └──────────────────────┘ │ │
│ │ ↓ │ │
│ │ Kubernetes Secrets (auto-sync 1h) │ │
│ └──────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ Monitoring Stack │ │
│ │ - Zabbix Server (auto-configured) │ │
│ │ - Grafana (dashboards prontos) │ │
│ │ - Prometheus + Node Exporter │ │
│ │ - MySQL (StatefulSet) │ │
│ └──────────────────────────────────────────┘ │
│ │
│ 📊 3 Nodes (t3.medium) em Multi-AZ │
│ 💾 EBS CSI Driver para volumes persistentes │
│ 🔐 IAM Roles para Service Accounts (IRSA) │
└─────────────────────────────────────────────────┘
Características principais:
- 🔄 Refresh automático: Secrets atualizados a cada 1 hora
- 🚀 Deploy completo: 35-45 minutos (totalmente automatizado)
- 🎯 Zero configuração manual: Zabbix e Grafana prontos
- 📊 Dashboards incluídos: Node Exporter + Zabbix Overview
- 🔒 HTTPS automático: Let's Encrypt via Cert-Manager
- 🌐 DNS público: Acesso via domínio (grafana.seu-dominio.com)
- 💰 3 tiers de custo: $0 (Kind), $35/mês (EKS), $46/mês (EKS+Ingress)
| Feature / Capacidade | L1 | L2 | L3 | L4 | L5 |
|---|---|---|---|---|---|
| 🔒 Segurança de Secrets | |||||
| Secrets em Plain Text | ❌ | ✅ | ✅ | ✅ | ✅ |
| Environment Variables | ✅ | ✅ | ✅ | ✅ | ✅ |
| Centralized Secret Store | ❌ | ❌ | ✅ | ✅ | ✅ |
| Encryption at Rest | ❌ | ❌ | ✅ | ✅ | ✅ |
| Encryption in Transit | ❌ | ❌ | ✅ | ✅ | ✅ |
| 🔄 Automation | |||||
| Automatic Rotation | ❌ | ❌ | ✅ | ✅ | ✅ |
| Dynamic Secrets | ❌ | ❌ | ✅ | ✅ | |
| Secret Versioning | ❌ | ❌ | ✅ | ✅ | ✅ |
| 👥 Access Control | |||||
| Role-Based Access (RBAC) | ❌ | ❌ | ✅ | ✅ | ✅ |
| Fine-Grained Policies | ❌ | ❌ | ✅ | ✅ | ✅ |
| Audit Logging | ❌ | ❌ | ✅ | ✅ | ✅ |
| 🏗️ Infraestrutura | |||||
| Docker Compose | ✅ | ✅ | ✅ | ❌ | ❌ |
| Cloud Native (AWS) | ❌ | ❌ | ❌ | ✅ | ✅ |
| Kubernetes | ❌ | ❌ | ❌ | ❌ | ✅ |
| Load Balancer + HTTPS | ❌ | ❌ | ❌ | ❌ | ✅ |
| 💰 Custos | |||||
| Setup Inicial | Grátis | Grátis | Grátis | ~$50 | Grátis-$100 |
| Custo Mensal (on-prem) | $0 | $0 | $0 | - | $0 (Kind) |
| Custo Mensal (AWS) | - | - | - | ~$35 | $35-46 |
| 📈 Escalabilidade | |||||
| Para quantos secrets? | ~10 | ~50 | ~500+ | ~1000+ | ~10000+ |
| Equipes simultâneas | 1-2 | 2-5 | 5-20 | 20-50 | 50+ |
- Está aprendendo monitoramento
- Precisa de um POC rápido
- Trabalha apenas em ambiente local/dev
- Quer entender as ferramentas antes de adicionar complexidade
- Precisa separar dev/staging/prod
- Trabalha em equipe pequena (2-5 pessoas)
- Quer melhorar segurança sem adicionar ferramentas extras
- Tem requisitos básicos de compliance
- Está em produção on-premise
- Precisa de compliance (SOC2, ISO 27001)
- Requer rotation automática de secrets
- Tem equipe para gerenciar Vault
- Quer total controle sobre seus dados
- Já está na AWS
- Quer managed service (menos overhead)
- Precisa integrar com ECS, Lambda, RDS, etc
- Prefere pagar para não gerenciar infraestrutura
- Tem workloads cloud-native
- Está em ambiente Kubernetes (ou quer aprender K8s)
- Precisa de sincronização automática de secrets
- Quer ZERO arquivos
.env(secrets direto do Vault) - Trabalha com microservices e precisa de escalabilidade
- Quer 3 opções: Local ($0), AWS EKS ($35/mês), ou EKS+Ingress+HTTPS ($46/mês)
- Precisa de Load Balancer + HTTPS automático (Let's Encrypt)
- Requer auto-configuração (Zabbix e Grafana prontos)
- Tem budget flexível (de gratuito até enterprise)
- 📊 Zabbix 6.x - Monitoramento de infraestrutura
- 📈 Grafana - Visualização de métricas
- 📉 Prometheus - Coleta de métricas
- 🗄️ MySQL/PostgreSQL - Banco de dados
- Level 1-2: Environment variables
- Level 3: HashiCorp Vault (self-hosted)
- Level 4: AWS Secrets Manager
- Level 5: Vault + External Secrets Operator
- Level 1-3: Docker Compose
- Level 4: AWS ECS/Fargate
- Level 5: Kubernetes
Cada nível possui documentação completa em seu repositório:
- 📘 Level 1 - Documentation
- 📗 Level 2 - Documentation
- 📙 Level 3 - Documentation
- 📕 Level 4 - Documentation
- 📜 Level 5 - Documentation
🎥 Vídeos em produção! Acompanhe no canal:
- 📹 YouTube: DevOps Project
- 💼 Portfólio: devopsproject.com.br
Conteúdo planejado:
- 🎬 Walkthrough completo de cada nível
- 🎬 Migração entre níveis
- 🎬 Troubleshooting comum
- 🎬 Melhores práticas de segurança
- 📝 Comparação: Vault vs AWS Secrets Manager
- 📝 Quando usar cada nível?
- 📝 Migração de secrets sem downtime
- 📝 Cost optimization em secrets management
- Level 1: Base Funcional (Docker Compose)
- Level 2: Environment Variables
- Level 3: HashiCorp Vault On-Premise
- Level 4: AWS Secrets Manager + Cloud Native
- Level 5: Kubernetes + External Secrets Operator ✨ NOVO!
- External Secrets Operator (ESO)
- 3 opções de deploy (Kind, EKS, EKS+Ingress)
- Load Balancer + HTTPS automático
- Auto-configuração Zabbix e Grafana
- Sincronização automática (refresh 1h)
- Level 5 - Expansões:
- Service Mesh (Istio/Linkerd) com mTLS
- Policy Engine (OPA/Kyverno)
- Vault HA mode (produção)
- Multi-cluster setup
- Level 6: Multi-Cloud (AWS + Azure + GCP)
- Policy Engine (OPA)
- Multi-cloud support
- Level 6: Multi-Cloud (AWS + Azure + GCP)
- Comparação com outras soluções (1Password, Doppler)
- Terraform modules para cada nível
- Helm charts para Level 5
- CI/CD pipelines examples
- Disaster recovery procedures
# 1. Pare os containers do Level 1
cd monitoring-security-level1
docker-compose down
# 2. Clone Level 2
cd ..
git clone https://github.com/jlui70/monitoring-security-level2.git
cd monitoring-security-level2
# 3. Copie seus dados (opcional)
cp ../monitoring-security-level1/volumes/* ./volumes/
# 4. Configure .env
cp .env.example .env
# Edite .env com seus valores
# 5. Inicie Level 2
docker-compose up -dVer guia completo em: Level 3 Migration Guide
Ver guia completo em: Level 4 Migration Guide
Q: Posso misturar níveis?
A: Não recomendado. Cada nível é uma implementação completa. Use um de cada vez.
Q: Preciso passar por todos os níveis?
A: Não! Escolha o nível que atende suas necessidades. O Level 1 é bom para aprender, mas você pode pular para Level 3 ou 4 em produção.
Q: Quanto tempo leva para implementar cada nível?
- Level 1: 15-30 minutos
- Level 2: 1-2 horas
- Level 3: 4-8 horas (setup inicial do Vault)
- Level 4: 2-4 horas (se já conhece AWS)
- Level 5: 35-45 minutos (deploy totalmente automatizado!)
Q: Qual o custo real em produção?
- Levels 1-3: Apenas custo de infraestrutura (VMs)
- Level 4: ~$35/mês (EC2 t3.medium + AWS Secrets Manager)
- Level 5:
- Kind (local): $0/mês ✅
- AWS EKS: ~$35/mês (cluster + nodes)
- AWS EKS + Ingress: ~$46/mês (cluster + nodes + Load Balancer)
Encontrou um bug? Abra uma issue no repositório correspondente:
- Levels 1 e 2: MIT License
- Levels 3 e 4: Veja LICENSE em cada repositório
- Level 5: TBD
Este projeto foi criado para ajudar a comunidade brasileira de DevOps e Cloud a implementar segurança de forma progressiva e prática.
- 📹 YouTube: DevOps Project
- 💼 Portfólio: devopsproject.com.br
- 💻 GitHub: @jlui70
Se este projeto foi útil para você:
- ⭐ Dê uma estrela nos repositórios
- 🔄 Compartilhe com a comunidade
- 📹 Inscreva-se no canal do YouTube
- 🤝 Contribua com melhorias
Desenvolvido com ❤️ para a comunidade brasileira de DevOps, SRE e Cloud Engineering
Monitoring Security Evolution • 2024-2025 • Todos os direitos reservados
Última atualização: Novembro 2025
