Este repositorio contiene arquitecturas de referencia para demostrar el contraste entre ambientes seguros e inseguros en Oracle Cloud Infrastructure (OCI), destacando el valor de implementar mejores prácticas de seguridad empresarial.
Proyecto principal que demuestra dos ambientes contrastantes:
- 🔴 Ambiente Vulnerable: Deliberadamente inseguro para mostrar vulnerabilidades
- 🟢 Ambiente Seguro: Seguridad empresarial con Oracle 23ai Database Firewall
Características destacadas:
- ✅ Oracle 23ai con Database Firewall - Protección contra SQL injection
- ✅ Cloud Guard - Detección de amenazas en tiempo real
- ✅ WAF + DDoS Protection - Protección web avanzada
- ✅ Data Safe - Monitoreo de base de datos
- ✅ Vulnerability Scanning - Evaluaciones automatizadas
- ✅ Compliance Multi-Framework - PCI DSS, SOX, GDPR, ISO27001
Implementaciones de seguridad individuales y demos:
- WAF con protección básica
- Cloud Guard standalone
- Network Security Groups (NSGs)
- Scripts de demostración
Arquitectura de seguridad modular y escalable para uso empresarial.
- Oracle Cloud Infrastructure cuenta activa
- Terraform >= 1.0 instalado
- Credenciales OCI configuradas
# Clonar repositorio
git clone https://github.com/tu-usuario/oci-security-showcase-enterprise.git
cd oci-security-showcase-enterprise/dual-security-contrast
# Configurar credenciales
cp terraform.tfvars.example terraform.tfvars
# Editar terraform.tfvars con tus credenciales OCI
# Desplegar ambiente seguro
cd secure-environment
terraform init
terraform plan
terraform apply
# Ver la guía completa
cat ../DEPLOYMENT.md- 99.9% reducción en superficie de ataque
- 100% protección contra SQL injection (Database Firewall)
- 10,000x mejora en tiempo de detección
- $4.45M+ valor de brecha evitada
💰 Inversión Anual: $6,000 - $9,600
🚨 Costo Promedio de Brecha: $4.45M
📈 ROI: 92,500%+ retorno de inversión
⏱️ Payback: 1 día si previene un incidente
- Justificación de inversión en seguridad
- Demostración tangible de ROI
- Benchmark de seguridad vs competencia
- Diferenciación competitiva con Oracle 23ai
- Proof of Concept ejecutable
- Calculadora de ROI personalizable
- Patrones de referencia para implementación
- Mejores prácticas documentadas
- Configuraciones probadas
oci-security-showcase-enterprise/
├── dual-security-contrast/ # 🎯 Proyecto principal
│ ├── README.md # Documentación principal
│ ├── DEPLOYMENT.md # Guía de despliegue
│ ├── terraform.tfvars.example # Configuración template
│ ├── secure-environment/ # Ambiente con Oracle 23ai Firewall
│ ├── vulnerable-environment/ # Ambiente deliberadamente inseguro
│ └── comparison-scripts/ # Scripts de comparación
├── comprehensive-security-architecture/ # Arquitectura modular
├── ambiente-con-waf/ # WAF demos
├── ambiente-sin-waf/ # Comparación sin WAF
├── demo-scripts/ # Scripts de demostración
└── documentacion/ # Documentación adicional
Este repositorio está configurado con:
- .gitignore comprehensivo - Protege credenciales y state files
- Archivos template únicamente - Sin datos sensibles
- Documentación de seguridad - Mejores prácticas incluidas
- NUNCA commitear archivos
.tfstateoterraform.tfvarsreales - SIEMPRE usar
terraform.tfvars.examplecomo template - VERIFICAR el .gitignore antes de hacer push
- Guía de Despliegue - Paso a paso completo
- Arquitectura Principal - Detalles técnicos
- Demo Scripts - Scripts de demostración
- Documentación Técnica - Referencias adicionales
- Out of capacity: Cambiar región o shape
- Service limits: Verificar límites en OCI Console
- Credenciales: Revisar configuración OCI
- Issues: Crear issue en este repositorio
- Documentación: Revisar carpeta
documentacion/ - OCI Support: Para problemas específicos de OCI
Este proyecto está bajo licencia MIT. Ver LICENSE para detalles.
Las contribuciones son bienvenidas. Por favor:
- Fork el repositorio
- Crear feature branch
- Commitear cambios
- Abrir Pull Request
v1.0.0- Release inicial con contraste de seguridadsecurity-showcase- Demos de seguridadoracle-23ai- Características de Oracle 23aidatabase-firewall- Database Firewall demos
⚡ Este repositorio demuestra por qué Oracle 23ai Database Firewall es un diferenciador crítico en la protección de datos empresariales.
┌─────────────────────────────────────────────────────────────┐
│ DEMO COMPARATIVO │
├─────────────────────────────────────────────────────────────┤
│ 🔴 SIN WAF │ 🟢 CON WAF │
│ demowaf01.example.com │ demowaf02.example.com │
│ ❌ Vulnerable │ ✅ Protegido │
├─────────────────────────────────────────────────────────────┤
│ Load Balancer (OCI LB) │
│ ↓ │
│ Aplicación Web Vulnerable │
│ ↓ │
│ Apache + PHP (Vulnerabilidades) │
│ ↓ │
│ Base de Datos Oracle │
└─────────────────────────────────────────────────────────────┘
- 🔍 SQL Injection: Consultas no parametrizadas
- ⚡ Cross-Site Scripting (XSS): Input sin sanitizar
- 📁 Directory Traversal: Acceso a archivos del sistema
- 🌐 Header Injection: Manipulación de headers HTTP
- Oracle Cloud Infrastructure account activa
- Terraform/OpenTofu >= 0.15.0 instalado
- OCI CLI configurado con credenciales válidas
- Suficientes límites de servicio para desplegar recursos
# Copiar template de variables
cp terraform.tfvars.example terraform.tfvars
# Editar con sus credenciales OCI
vim terraform.tfvars# Inicializar Terraform
terraform init
# Planear despliegue SIN WAF
terraform plan -var-file="terraform-SIN-WAF.tfvars"
# Desplegar infraestructura SIN WAF
terraform apply -var-file="terraform-SIN-WAF.tfvars" -auto-approve⏱️ Tiempo estimado: 45-60 minutos (incluye base de datos)
# Obtener IP del Load Balancer SIN WAF
terraform output load_balancer_fqdn
# Anotar URL para demo: http://[IP_SIN_WAF]/# Limpiar estado anterior
terraform destroy -var-file="terraform-SIN-WAF.tfvars" -auto-approve
# Desplegar infraestructura CON WAF
terraform apply -var-file="terraform-CON-WAF.tfvars" -auto-approve# Obtener información del WAF
terraform output waf_domain
terraform output waf_ocid
# Anotar URL protegida para demo-
Introducción (2 min)
- "Vamos a simular un ambiente real sin protección WAF"
- Mostrar arquitectura en pantalla
- Explicar vulnerabilidades que vamos a explotar
-
Demostración de Ataques (6 min)
- SQL Injection:
1' OR '1'='1 - XSS:
<script>alert('Ataque XSS')</script> - Directory Traversal:
../../etc/passwd - Mostrar cómo cada ataque "funciona" (simulado)
- SQL Injection:
-
Impacto Comercial (2 min)
- Datos comprometidos
- Downtime potencial
- Pérdida de confianza del cliente
- Costos de remediación
-
Introducción a la Protección (2 min)
- "Ahora veamos el mismo ambiente, pero protegido por WAF"
- Indicador visual: "🛡️ WAF ACTIVADO"
-
Demostración de Protección (6 min)
- Intentar los mismos ataques
- Mostrar mensajes de bloqueo del WAF
- Explicar detección en tiempo real
- Mostrar logs de seguridad
-
Valor del WAF (2 min)
- 85% de ataques bloqueados
- Protección 24/7 automatizada
- Cumplimiento regulatorio
- ROI en seguridad
- Tabla Comparativa Visual
- Métricas de Seguridad
- Casos de Uso Reales
- Preguntas y Respuestas
Sin WAF:
URL: http://[IP_SIN_WAF]/?demo=sql&user_id=1' OR '1'='1
Resultado: ❌ Vulnerable - Muestra "VULNERABILIDAD DETECTADA"
Con WAF:
URL: http://[DOMINIO_WAF]/?demo=sql&user_id=1' OR '1'='1
Resultado: ✅ Bloqueado - Error 403 del WAF
Sin WAF:
URL: http://[IP_SIN_WAF]/?demo=xss&comment=<script>alert('XSS')</script>
Resultado: ❌ Vulnerable - Script detectado pero no bloqueado
Con WAF:
URL: http://[DOMINIO_WAF]/?demo=xss&comment=<script>alert('XSS')</script>
Resultado: ✅ Bloqueado - WAF bloquea el script
Sin WAF:
URL: http://[IP_SIN_WAF]/?demo=path&file=../../etc/passwd
Resultado: ❌ Vulnerable - Intento de acceso detectado
Con WAF:
URL: http://[DOMINIO_WAF]/?demo=path&file=../../etc/passwd
Resultado: ✅ Bloqueado - WAF previene el traversal
- 43% de las violaciones de datos involucran aplicaciones web
- $4.45M costo promedio de una violación de datos (2023)
- 85% de ataques web pueden ser bloqueados por WAF
- 3.2 segundos tiempo promedio de detección con WAF
- 99.9% disponibilidad de aplicaciones protegidas
- Broken Access Control
- Cryptographic Failures
- Injection ← Demostrado
- Insecure Design
- Security Misconfiguration
- Vulnerable Components
- Authentication Failures
- Data Integrity Failures ← Demostrado
- Security Logging Failures
- Server-Side Request Forgery ← Demostrado
# En terraform.tfvars
cliente = "nombreempresa" # Personalizar con nombre del cliente
octetoB = "50" # Cambiar rango de IPs si necesarioEditar cloud-init/apache-vulnerable.sh:
- Logos de la empresa
- Colores corporativos
- Mensajes específicos
- URLs de contacto
En loadbalancer.tf, agregar más reglas:
access_rules {
name = "block_custom_attack"
action = "BLOCK"
criteria {
condition = "URL_PART_CONTAINS"
value = "malicious_pattern"
}
}-
WAF no bloquea ataques
- Verificar que
enable_waf = true - Confirmar que DNS apunta al WAF, no al LB directamente
- Verificar que
-
Aplicación no carga
- Verificar health check:
http://[IP]/health - Revisar logs:
terraform output connection_info
- Verificar health check:
-
Base de datos toma mucho tiempo
- Normal: 45-60 minutos para DB system
- Usar shapes más pequeños para demo
# Verificar estado de recursos
terraform state list
# Ver outputs importantes
terraform output architecture_summary
# Verificar conectividad
curl -I http://[LOAD_BALANCER_IP]/
# Ver logs de WAF (si está habilitado)
oci waas waas-policy list --compartment-id [COMPARTMENT_ID]- Probar todos los casos de uso 24h antes
- Preparar URLs en favoritos del navegador
- Tener screenshots de respaldo por si falla internet
- Cronometrar cada sección para no extenderse
- Mostrar indicadores visuales claros (🔴 Sin WAF, 🟢 Con WAF)
- Explicar el "por qué" antes del "cómo"
- Usar datos reales de la industria
- Hacer preguntas interactivas a la audiencia
- Compartir URLs para que prueben después
- Enviar documentación de seguimiento
- Programar reunión de deep-dive técnico
- Destruir recursos para no generar costos
"¿Cuántas de estas vulnerabilidades existen actualmente en sus aplicaciones?"
"¿Cuál sería el impacto comercial si estos ataques fueran exitosos en su organización?"
"¿Están dispuestos a asumir este riesgo, o prefieren invertir en protección proactiva?"
- OCI WAF Documentation: docs.oracle.com/iaas/waas
- OWASP Top 10: owasp.org/www-project-top-ten
- Security Best Practices: Contactar al equipo de arquitectura
# Destruir ambiente SIN WAF
terraform destroy -var-file="terraform-SIN-WAF.tfvars" -auto-approve
# Destruir ambiente CON WAF
terraform destroy -var-file="terraform-CON-WAF.tfvars" -auto-approve
# Verificar que no queden recursos
terraform state list- 🌐 Dominio WAF corregido: Cambio de
example.comaoracledemo.com - 🔗 Dependencias optimizadas: WAF espera correctamente al Load Balancer
- 📝 Reglas de protección mejoradas: SQL Injection, XSS, Path Traversal
- 🧪 Script de validación:
./scripts/waf-validation.shcreado - 📖 Documentación completa:
WAF-SETUP-GUIDE.md
# 1. Agregar credenciales OCI a terraform-CON-WAF.tfvars
# 2. Desplegar infraestructura protegida
terraform apply -var-file="terraform-CON-WAF.tfvars" -auto-approve
# 3. Validar protección WAF
./scripts/waf-validation.sh http://WAF_DOMAIN http://LOAD_BALANCER_IP📋 Ver guía completa:
WAF-SETUP-GUIDE.mdpara instrucciones detalladas
"Después de implementar WAF, redujimos los intentos de ataque exitosos en un 92% y mejoramos la confianza del cliente significativamente." - Director de Seguridad, Empresa Financiera
"El ROI del WAF se pagó en 3 meses solo por evitar un incidente de seguridad potencial." - CTO, Empresa de E-commerce
¡La seguridad no es un costo, es una inversión en la continuidad del negocio! 🛡️