Laboratorio SOC Segmentado con ELK
Estado: Activo · Tipo: Lab / Blue Team / Infraestructura · Licencia: MIT
Laboratorio de ciberseguridad con segmentación por VLANs, control de tráfico mediante ACL en router Cisco y centralización de logs con rsyslog + ELK sobre Kubernetes.
Descripción
Este proyecto consiste en la construcción de un laboratorio de tipo SOC (Security Operations Center) con separación de zonas de red, políticas de filtrado manuales y centralización de eventos.
Se han definido dos zonas principales:
- VLAN20 (10.0.20.0/24) → Infraestructura y plataforma Kubernetes (ELK + rsyslog colector).
- VLAN30 (10.0.30.0/24) → Servidores (origen de logs).
El tráfico entre zonas está controlado mediante ACL extendidas en un router Cisco, permitiendo únicamente servicios explícitamente autorizados (HTTP/HTTPS y syslog).
Características
- Segmentación real por VLAN con filtrado mediante ACL.
- Centralización de logs con rsyslog.
- Apache enviando logs mediante imfile.
- Pipeline ELK desplegado en Kubernetes.
- Separación clara entre zona de aplicación y zona SOC.
- Arquitectura preparada para simulación de incidentes.
Arquitectura
Flujo principal de logging:
Apache (10.0.30.50)
↓ (rsyslog - syslog 514)
Kubernetes + rsyslog collector (10.0.20.10)
↓
Filebeat
↓
Logstash
↓
Elasticsearch
↓
Kibana
El router aplica filtrado explícito mediante ACL extendidas, incluyendo reglas de tráfico TCP established para permitir respuestas sin usar firewall stateful.
Configuración clave
ACL Cisco
ip access-list extended VLAN30-FILTER
permit icmp 10.0.30.0 0.0.0.255 host 10.0.30.1
permit tcp 10.0.30.0 0.0.0.255 10.0.20.0 0.0.0.255 eq www
permit tcp 10.0.30.0 0.0.0.255 10.0.20.0 0.0.0.255 eq 443
permit udp 10.0.30.0 0.0.0.255 host 10.0.20.10 eq 514
permit tcp any any established
deny ip 10.0.30.0 0.0.0.255 10.0.0.0 0.0.255.255 log
Activacion SNMP
snmp-server community public RO
snmp-server community private rw
Rsyslog
input(type="imfile"
File="/var/log/apache2/access.log"
Tag="apache-access"
Severity="info"
Facility="local6")
local6.* @@10.0.20.10:514
Instalación
# En servidor Apache (VLAN30)
sudo apt install apache2 rsyslog
# En colector (VLAN20)
sudo apt install rsyslog filebeat
kubectl apply -f elk/
Uso
# Generar tráfico web
curl http://10.0.30.50
# Ver logs en colector
tail -f /var/log/remote/*/*.log
# Consultar en Kibana
http://10.0.20.10:5601
Roadmap
Cosillas que quier implementar:
- [ ] Integrar logs de router Cisco en ELK.
- [ ] Implementar detecciones básicas (bruteforce / escaneo).
- [ ] Simulación de ataque y análisis en Kibana.
- [ ] Integración con Suricata.
Como desplegar Kubernetes: Ver tutorial
Notas de seguridad
Este laboratorio está diseñado para entorno controlado. Las ACL aplicadas no son stateful y requieren reglas explícitas para tráfico de retorno. Se recomienda utilizar TCP syslog en entornos reales y cifrado TLS (6514).
Volver a proyectos.