Tema 6: Asegura tu Journal API - Capstone
⏱️ Tiempo estimado: 1 semana
Ahora sí toca implementar todo lo que aprendiste. Este capstone va a transformar tu Journal API de una app básica a un sistema seguro, listo para producción y con controles de nivel enterprise. Vas a aplicar los conceptos de los Temas 1-5 en una implementación real.
📚 Ruta de aprendizaje
Resumen del proyecto
Vas a implementar seguridad integral para tu Journal API construyendo cinco capas de protección:
- Seguridad IAM: identidad y controles de acceso (Tema 1)
- Protección de datos: cifrado y manejo de secretos (Tema 2)
- Seguridad de red: conectividad segura y aislamiento (Tema 3)
- Monitoreo de seguridad: detección y alertas (Tema 4)
- Incident response: respuesta automatizada (Tema 5)
¿No tienes la Journal API? Puedes usar cualquier app web que tengas (Flask, Node.js, WordPress o incluso un sitio estático). Los principios aplican igual.
Qué vas a construir
Al final, tu aplicación tendrá:
- Cero secretos hardcodeados: credenciales administradas de forma segura
- Cifrado en todo: data protegida en reposo y en tránsito
- Aislamiento de red: componentes segmentados
- Monitoreo en tiempo real: eventos detectados en minutos
- Respuestas automatizadas: amenazas comunes manejadas automáticamente
- Audit trail completo: todo logueado
- Playbooks: procedimientos claros
Esto representa el estándar esperado en entornos de producción.
Setup antes de empezar
Antes de arrancar, asegúrate de tener:
- Tu app corriendo: Journal API desplegada y accesible
- Acceso administrativo: permisos completos en tu cuenta cloud
- Control de costos: billing alerts (objetivo: menos de $50/mes)
- Plantilla de documentación: carpetas para documentar
Parte 1: Seguridad base (IAM y red)
1.1 Implementa IAM
Diseña tu estrategia:
- Crea una service account para tu Journal API
- Crea roles con menor privilegio
- Habilita MFA para tu cuenta admin
- Crea una matriz de acceso (quién accede a qué)
Checklist de implementación:
- Service account de Journal API creada con permisos mínimos
- Role de acceso a DB separado del role de API
- Service account de monitoreo para herramientas de seguridad
- Acceso administrativo requiere MFA
- Accesos documentados en la matriz
Prueba IAM:
- Intenta acceder con la service account incorrecta (debería fallar)
- Verifica que la app funcione con permisos restringidos
- Prueba el requisito de MFA
1.2 Asegura la arquitectura de red
Diseña seguridad de red:
- Crea VPC con subnets públicas y privadas
- Pon API en subnet privada, load balancer en pública
- Configura security groups con acceso mínimo
- Configura endpoints privados para conexión a DB
Checklist de implementación:
- VPC creada con CIDR correcto
- Subnet pública solo para load balancer
- Subnet privada para app y DB
- Security groups con puertos mínimos necesarios
- DB accesible solo desde subnet de la app
- Internet vía NAT Gateway (si aplica)
Prueba la red:
- Verifica que la API no sea accesible directamente desde internet
- Confirma que la DB no sea alcanzable desde subnet pública
- Verifica que la app siga funcionando
Parte 2: Protección de datos y monitoreo
2.1 Implementa protección de datos
Asegura tus datos:
- Cifrado en reposo para DB y storage
- TLS/SSL para comunicación
- Mueve secretos a un servicio de secrets management
- Configura backups cifrados automáticos
Checklist:
- Cifrado de DB habilitado
- Cifrado de storage habilitado
- TLS configurado (certificado)
- API keys movidas a secrets manager
- API key del LLM guardada en secrets manager
- Passwords de DB en secrets manager
- Backups diarios configurados
- Backups cifrados verificados
Prueba protección de datos:
- Verifica HTTPS (certificado en navegador)
- Confirma que no hay secretos en código/config
- Prueba que la app funciona leyendo secretos del manager
- Verifica que backups estén cifrados
2.2 Despliega monitoreo de seguridad
Configura monitoreo:
- Audit logging para servicios
- Dashboard de seguridad
- Alertas para actividades sospechosas
- Agregación/análisis de logs
Checklist:
- CloudTrail/audit logging habilitado
- Dashboard de seguridad desplegado
- Alertas de failed login configuradas
- Alertas por patrones inusuales de API access
- Monitoreo de acceso a DB
- Alertas por cambios de security groups
- Notificaciones por modificaciones de recursos
Prueba monitoreo:
- Genera un failed login (alerta debería disparar)
- Genera patrón inusual de API calls
- Modifica un security group (debería notificar)
- Revisa logs y confirma que se capturan
Parte 3: Seguridad avanzada y respuesta
3.1 Implementa detección de amenazas
Construye detección:
- Habilita servicio de seguridad del proveedor (GuardDuty/Security Center/etc.)
- Configura behavioral analysis
- Configura threat intelligence feeds
- Crea reglas de detección específicas
Checklist:
- Servicio de threat detection habilitado
- Baseline de comportamiento normal definido
- Integración con threat intelligence configurada
- Reglas custom para patrones de tu app
- Integración con dashboard
3.2 Crea sistema de incident response
Construye respuesta automatizada:
- Workflows de respuesta
- Remediación automática para amenazas comunes
- Runbooks para respuesta manual
- Canales de comunicación
Checklist:
- Respuesta automática a credenciales comprometidas
- Aislamiento automático de actividad sospechosa
- Workflows de escalación definidos
- Runbooks por tipo de incidente
- Plan de comunicación
- Calendario de pruebas regulares
Parte 4: Validación y documentación
4.1 Pruebas de seguridad
Auth:
- Intenta acceso sin credenciales
- Intenta funciones admin sin autorización
- Prueba bypass de MFA
Red:
- Intenta conectar a DB desde internet
- Intenta acceder a app servers directamente
- Prueba enforcement de reglas
Datos:
- Verifica cifrado en reposo
- Confirma TLS bien configurado
- Prueba integración de secrets management
Monitoreo:
- Genera eventos y valida alertas
- Prueba automatización de respuesta
- Valida recolección/análisis de logs
4.2 Documentación
Arquitectura:
- Diagrama de seguridad
- Topología de red con zonas
- Data flows con puntos de cifrado
- Estructura IAM y accesos
Operación:
- Runbooks
- Guía del dashboard
- Procedimientos de backup/recovery
- Gestión de configuración
Compliance:
- Matriz de controles
- Evaluación de riesgos y mitigaciones
- Auditoría/logging
- Análisis de costos
Criterios de éxito
Tu capstone está completo cuando puedes demostrar:
- ✅ Cero secretos en código
- ✅ Aislamiento de red (DB no accesible desde internet)
- ✅ Cifrado en todo (reposo y tránsito)
- ✅ Monitoreo funcional (detección < 5 min)
- ✅ Respuestas automatizadas
- ✅ Documentación completa
- ✅ Costos controlados (< $50/mes usando free tiers)
- ✅ Pruebas validadas
Entregables
- Diagrama de arquitectura de seguridad
- Guía de implementación
- Runbooks de incident response
- Resultados de pruebas
- Análisis de costos
- Lecciones aprendidas
Resultados
Después de este capstone, vas a tener:
- Seguridad lista para producción
- Experiencia hands-on real
- Un proyecto fuerte para tu portafolio
- Skills de detección/response
- Documentación profesional
Próximos pasos
Este capstone demuestra que puedes implementar seguridad integral en cloud. Ya tienes skills para:
- Asegurar cualquier app cloud con controles enterprise
- Implementar monitoreo en tiempo real
- Crear procedimientos de respuesta que reduzcan impacto
✅ Checklist del tema
Antes de terminar, asegúrate de tener:
- Diseñado e implementado IAM con menor privilegio
- Asegurado la arquitectura de red
- Habilitado cifrado en reposo y tránsito
- Movido secretos a un servicio de secrets management
- Desplegado dashboard de monitoreo
- Creado alertas de actividades sospechosas
- Habilitado servicio de detección de amenazas
- Creado runbooks
- Probado controles
- Documentado con diagramas
- Completado análisis de costos