Estudio de caso: Un sistema ligero de detección de intrusos con OpenFaaS y PyTorch
Contexto
Una empresa emergente de comercio electrónico que operaba en un servidor VPS de Hetzner detectó un aumento constante en intentos de fuerza bruta, escaneos automatizados y tráfico sospechoso dirigido a sus puntos finales de acceso y administración.
Con un equipo técnico compuesto por seis desarrolladores y un administrador de sistemas, el equipo necesitaba una solución que pudiera:
- Detectar comportamientos maliciosos en los registros de acceso en tiempo real
- Evitar dependencias con proveedores externos
- Mejorar su capacidad de detección con el tiempo
- Operar sobre la infraestructura existente basada en Docker
Requisitos del Proyecto
Después de descartar soluciones SIEM comerciales y pilas ELK por su complejidad y coste, el equipo definió los siguientes objetivos:
- Utilizar los registros de acceso de NGINX como fuente de datos
- Ejecutar una función ligera periódicamente para escanear registros
- Aplicar un modelo de aprendizaje capaz de adaptarse con el tiempo
- Registrar eventos sospechosos estructurados para futuras fases de entrenamiento
- Minimizar las alertas falsas y la fatiga operativa
Arquitectura de la Solución
La solución fue construida utilizando:
- NGINX para la generación de registros
- OpenFaaS para ejecutar funciones programadas sin servidor
- PyTorch para un modelo LSTM ligero de detección de anomalías
- Archivos JSONL para almacenar incidentes detectados
La función fue programada para ejecutarse cada cinco minutos mediante OpenFaaS Cron Connector.
Implementación Técnica
Modelo
El modelo fue entrenado en PyTorch con un conjunto mixto de registros normales y simulaciones de actividad sospechosa. Su estructura LSTM permitía capturar secuencias temporales en los patrones de tráfico.
class LogAnomalyDetector(nn.Module):
...
Lógica de Detección
Cada cinco minutos, la función lee un segmento del archivo de registro, vectoriza las entradas, y ejecuta una inferencia. Si la puntuación de anomalía supera un umbral, el evento se guarda:
{
"timestamp": "2025-08-04T23:34:59Z",
"score": 0.97,
"raw": "192.168.0.1 - - \"GET /wp-admin HTTP/1.1\" 404 162"
}
Ventajas Obtenidas
Ventaja | Descripción |
---|---|
Bajo coste operativo | Sin herramientas externas ni licencias adicionales |
Adaptación progresiva | Mejora con cada nuevo ciclo de entrenamiento |
Almacenamiento estructurado | Dataset en crecimiento para mejorar precisión |
Fácil despliegue | Función de Docker con recursos mínimos |
Próximos Pasos
- Añadir alertas automáticas vía Telegram solo en casos críticos
- Crear una función adicional para reentrenar el modelo cada mes
- Ampliar la lógica de detección para incluir cabeceras y cuerpos POST
Conclusión
Este estudio demuestra que es posible implementar un sistema de detección de intrusos inteligente y sostenible, incluso en contextos de recursos limitados. Usando herramientas de código abierto y lógica reproducible, el equipo logró una solución que se adapta y mejora de forma continua.
¿Necesita ayuda para replicar esta arquitectura en su infraestructura? Contáctenos en team@quopa.io.
Table of Contents
- Contexto
- Requisitos del Proyecto
- Arquitectura de la Solución
- Implementación Técnica
- Ventajas Obtenidas
- Próximos Pasos
- Conclusión
Trending
Table of Contents
- Contexto
- Requisitos del Proyecto
- Arquitectura de la Solución
- Implementación Técnica
- Ventajas Obtenidas
- Próximos Pasos
- Conclusión