🛡️ Escenario práctico de DDoS y balanceo de carga¶
Este repositorio contiene un escenario práctico completo de ciberseguridad, diseñado para ser ejecutado en vivo durante una charla o clase, orientado a SMR, adaptable a otros niveles.
El objetivo es mostrar de forma visual y comprensible cómo: - un ataque sencillo de tipo DDoS puede tumbar un servidor mal dimensionado - el balanceo de carga mejora la disponibilidad y la seguridad - la seguridad ofensiva ayuda a diseñar mejores defensas
Todo el escenario está basado en servidores Debian 12 y ejecutado sobre VirtualBox.
Importar escenario completo: drive.google.com
- usuario: administrador / root
- passwd: renaido
Objetivos didácticos¶
- Entender qué es un DDoS sin usar malware ni herramientas ilegales
- Ver la diferencia entre:
- ❌ un servidor aislado
- ✅ una pequeña infraestructura
- Comprender el papel de un balanceador de carga
- Introducir conceptos reales de:
- alta disponibilidad
- seguridad defensiva
- limitación de recursos
- Aprender que la seguridad no es solo “poner firewalls”, sino arquitectura
Arquitectura del escenario¶
El laboratorio está formado por 3 máquinas virtuales:
Internet / Red del aula
|
(Bridge - DHCP)
|
[ LB ]
Balanceador de carga
Debian 12 + Nginx
IP interna: 192.168.100.10
|
(Red interna VirtualBox)
|
┌─────────────┴───────────────────┐
│ │
[ WEB1 ] [ WEB2 ]
Apache + PHP Apache + PHP
IP: 192.168.100.11 IP: 192.168.100.12
````
---
## Máquinas virtuales
| VM | Rol | RAM | CPU |
|-----|-----------------------------|-------|-----|
| web1 | Servidor web vulnerable | 512MB | 1 |
| web2 | Servidor web vulnerable | 512MB | 1 |
| lb | Balanceador de carga | 1GB | 1 |
- Todas las máquinas usan **Debian 12**
- Los servidores web **no tienen swap**
- La página web está diseñada para ser **muy exigente en CPU**
---
## Redes en VirtualBox
- **enp0s3 (Bridge + DHCP)**
Usada solo para:
- gestión
- acceso desde el PC del profesor
- salida a Internet
- **enp0s8 (Red interna VirtualBox)**
Usada para:
- comunicación entre balanceador y servidores web
- tráfico del servicio HTTP
La red interna utilizada es, por ejemplo: `intnet`.
---
## Ataque DDoS (simulado)
El ataque se realiza **únicamente con `curl`**, desde:
- el host
- o varios PCs del alumnado
Ejemplo de ataque:
```bash
while true; do curl -s http://IP_OBJETIVO > /dev/null; done
````
No se usan:
* botnets
* malware
* herramientas externas
Esto permite explicar que **no hace falta “hackear” nada para causar una denegación de servicio**.
---
## Defensa aplicada
La defensa se construye **por capas**:
1. Balanceo de carga con Nginx
2. Reparto de peticiones entre dos servidores
3. limitación de peticiones por IP
4. Infraestructura en lugar de servidor único
---
## Estructura del repositorio
.
├── README.md # Visión general del escenario
├── 1_servidor-web-ddos.md # Servidor web vulnerable (demo DDoS)
├── 2_servidor-balanceador-carga.md # Balanceador de carga (Nginx)
└── 3_servidores-web-int.md # Configuración de web1 y web2
```
Aviso importante¶
Este escenario está diseñado EXCLUSIVAMENTE para:
- entornos de laboratorio
- redes aisladas
- fines educativos
❌ No debe ejecutarse contra servicios reales ❌ No debe exponerse a Internet
Mensaje clave de la práctica¶
“Un ataque sencillo puede causar un gran impacto. La defensa no está en una sola herramienta, sino en el diseño.”