DEV Community

Cover image for Cómo construimos un SOC con honeypot e IA local
Yoandy Ramirez Delgado
Yoandy Ramirez Delgado

Posted on

Cómo construimos un SOC con honeypot e IA local

Cuando empezamos el proyecto final del master, teníamos claro una cosa: no queríamos
montar otro dashboard bonito con datos inventados. Queríamos algo que recibiera ataques
reales y los analizara como lo haría un SOC de verdad.

El resultado se llama Valhalla SOC, y es el trabajo de un equipo de cinco
compañeros del Master en Ciberseguridad de Evolve. En este artículo cuento cómo lo
construimos, qué decisiones tomamos y qué aprendimos por el camino.

El problema

Los SOC comerciales (Splunk, QRadar, Sentinel) son potentes pero caros, dependen de la
nube y mandan tus logs fuera. Para una pyme o un equipo pequeño, eso es un problema:
coste, privacidad y cumplimiento (ISO 27001, GDPR).

La pregunta era: ¿se puede montar un SOC profesional, con análisis IA, sin que un
solo dato salga del equipo
? Spoiler: sí.

La arquitectura

Cuatro piezas, todas open source, orquestadas con Docker Compose:

  • Cowrie — honeypot SSH/Telnet en el puerto 2222. Simula un Ubuntu real.
  • Wazuh — el SIEM. Lee los logs del honeypot, los parsea y aplica reglas.
  • Ollama (qwen2.5-coder:7b) — un LLM corriendo en local que analiza las alertas.
  • Dashboard custom (React + FastAPI) — además del nativo de Wazuh.

El flujo:

Atacante → Cowrie → log JSON → Wazuh aplica reglas → si nivel ≥ 5 → Ollama analiza
→ todo se indexa en OpenSearch → Dashboard

Lo más interesante: las reglas custom

Aquí es donde el proyecto deja de ser un "tutorial seguido" y pasa a ser trabajo de
verdad. Escribimos 12 reglas personalizadas en Wazuh, todas mapeadas a MITRE ATT&CK:

Regla Detecta MITRE
100111 Fuerza bruta (5+ fallos en 120s) T1110
100130 Descarga de malware (wget/curl) T1105
100140 Reverse shell T1059, T1071
100150 Desactivar firewall T1562
100170 Borrado de logs (anti-forense) T1070

El truco no es detectar el comando exacto — es entender la secuencia. La regla
100113, por ejemplo, dispara solo cuando hay un login exitoso después de varios
fallos en menos de 2 minutos. Eso es fuerza bruta exitosa, no un login normal.

Ollama como analista junior

Esta parte fue la que más nos sorprendió. Cuando Wazuh dispara una alerta de nivel ≥ 5,
ejecuta un script en Python que manda la alerta a Ollama corriendo en localhost:11434.

El prompt es simple:

"Eres un analista SOC. Alerta: [JSON]. En 2 oraciones: describe el objetivo del
atacante y el nivel de amenaza."

Y la respuesta vuelve a Wazuh como una alerta nueva (regla 100200, "Ollama AI Insight").
En el dashboard aparece junto a la alerta original.

¿Es perfecto? No. A veces se equivoca. Pero como primera capa de triaje para un
analista humano, ahorra muchísimo tiempo. Y lo más importante: ningún log sale del
equipo
.

El dashboard nativo de Wazuh muestra todo, pero también construimos un frontend propio
con React + Electron que funciona incluso si el backend cae (modo offline con
runbooks locales). Eso fue un extra que añadimos porque nos parecía interesante para
un SOC real, donde la continuidad es crítica.

Lo que aprendimos

Tres cosas que nos llevamos:

  1. Las reglas son donde está el trabajo de verdad. Montar Wazuh es cuestión de horas. Escribir reglas que detecten ataques reales sin falsos positivos es cuestión de semanas.
  2. Los LLM locales ya están listos para casos de uso reales. No vas a sustituir a un analista senior con qwen2.5:7b, pero como capa de triaje funciona muy bien.
  3. El honeypot recibe más ataques de los que pensábamos. En 24 horas teníamos cientos de intentos de login desde IPs de medio mundo. Internet es un sitio ocupado.

El equipo

Valhalla SOC es trabajo conjunto de cinco compañeros del Master en Ciberseguridad
de Evolve:

Si quieres trastear con él

El proyecto es público y reproducible con un docker compose up:

👉 github.com/heindall92/Proyecto-Master-Ciberseguridad-Evolve-Yoandy

El README tiene la guía completa de despliegue, los requisitos de hardware
(con 8 GB de RAM va) y cómo simular ataques de prueba con hydra.


Proyecto académico desarrollado durante el Master en Ciberseguridad de
Evolve.

Top comments (0)