castellum
Castellum es un WAF autoalojado de binario único para proteger aplicaciones web detrás de Nginx. Ofrece autenticación centralizada, detección de amenazas SQLi/XSS y gestión de bots sin dependencias de nube.
Ficha actualizada 28 sept 2026, 1:12 · upstream 28 sept 2026, 1:00 · release v1.0.0
Qué es castellum
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Castellum actúa como una puerta de entrada de seguridad ligera que se integra con Nginx mediante el módulo auth_request. Su arquitectura permite validar solicitudes antes de que lleguen a las aplicaciones internas, proporcionando control de acceso unificado y detección inteligente de amenazas sin requerir agentes ni suscripciones en la nube.
El sistema incluye un firewall de aplicación web (WAF) basado en expresiones regulares para filtrar ataques comunes como inyecciones SQL, XSS y traversal de rutas. Además, cuenta con capacidades avanzadas de gestión de amenazas, incluyendo detección de fuerza bruta, escaneo de directorios y bloqueo automático de IPs maliciosas mediante puntuación de riesgo dinámica.
La plataforma soporta múltiples métodos de autenticación (JWT, cookies, tokens Git) y ofrece un panel de administración para gestionar usuarios, dominios autorizados y reglas WAF. Es ideal para proteger servicios internos como GitLab o Jenkins expuestos a redes públicas.
- Proteger instancias autoalojadas de software (GitLab, Jenkins, Prometheus) frente a ataques externos sin modificar su código.
- Implementar un punto único de autenticación y control de acceso para múltiples aplicaciones web detrás de Nginx.
- Gestionar bots y tráfico malicioso mediante desafíos JavaScript (Proof-of-Work) y bloqueo automático de IPs.
- Centralizar la auditoría de seguridad y eventos de acceso en un dashboard unificado con retención de logs.
- Arquitectura binaria única: despliegue simplificado sin dependencias externas ni suscripciones a la nube.
- Integración nativa con Nginx mediante auth_request para inspección de tráfico antes del proxy.
- Soporte multi-database: SQLite (por defecto), PostgreSQL y MySQL para persistencia de datos.
- WAF con 9 reglas integradas contra SQLi, XSS y traversal de rutas, extensible vía dashboard.
- Gestión de dominios autorizados para implementar control de acceso multi-inquilino en una sola instancia.
- Requiere Nginx con el módulo auth_request habilitado para funcionar como proxy inverso de autenticación.
- El binario principal depende de Go 1.25+ y Node.js 20+ para la compilación del frontend embebido.
- La interfaz de administración utiliza un tema 'hacker' que puede no ser adecuado para entornos corporativos formales sin personalización.
- La gestión de licencias requiere generación manual de tokens SHA-256 en el panel de administración.
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Despliegue recomendado: Construir el binario con ./scripts/build.sh y ejecutar ./app. Configurar Nginx para pasar X-Forwarded-Host al endpoint /auth. Asegurar permisos 0600 en ./data/bootstrap-admin-credentials antes de rotar credenciales. Para producción, considerar migrar a PostgreSQL/MySQL si se requiere persistencia avanzada.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.


