Seguridad en n8n: credenciales, permisos y buenas prácticas

Seguridad en n8n | Keliam

La seguridad como prioridad en automatización

Un servidor n8n mal configurado puede exponer credenciales de APIs, bases de datos, y servicios críticos. Al ser una plataforma que por definición conecta múltiples sistemas, n8n se convierte en un punto central de acceso que requiere atención especial en seguridad. Aquí detallamos las mejores prácticas para proteger tu instancia.

Gestión de credenciales

n8n almacena todas las credenciales (API keys, tokens OAuth, contraseñas de bases de datos) cifradas en su base de datos usando la N8N_ENCRYPTION_KEY. Esta clave es el pilar de toda la seguridad: si alguien la obtiene junto con un backup de la base de datos, puede descifrar todas tus credenciales.

Recomendaciones críticas: genera una clave aleatoria de al menos 32 caracteres, almacénala en un gestor de secretos (AWS Secrets Manager, HashiCorp Vault, o al menos en una variable de entorno protegida), nunca la incluyas en el código fuente o docker-compose.yml versionado, y ten un plan de rotación.

Autenticación y control de acceso

n8n ofrece varios niveles de autenticación: Basic Auth (usuario/contraseña), autenticación por JWT, y en la versión Enterprise, SSO con SAML/LDAP. Para entornos de equipo, la versión cloud incluye roles y permisos granulares que controlan quién puede crear, editar o ejecutar workflows.

En self-hosted, complementa la autenticación de n8n con protección a nivel de infraestructura: reverse proxy con SSL obligatorio, IP whitelisting si el acceso es solo interno, y autenticación adicional con Cloudflare Access o similar. Nunca expongas n8n en el puerto 5678 sin protección.

Seguridad de webhooks

Los webhooks son endpoints públicos por naturaleza — cualquiera que conozca la URL puede enviar datos. Protégelos con: verificación de firma HMAC (la mayoría de servicios como GitHub, Stripe, Shopify firman sus webhooks), validación del IP de origen, y headers de autenticación personalizados.

En n8n, puedes añadir un nodo IF después del webhook que verifica la firma antes de procesar los datos. Si la validación falla, el workflow se detiene y registra el intento en un log de seguridad. Esto es especialmente importante para workflows que procesan datos de e-commerce o pagos.

Aislamiento de entornos

Para agencias que gestionan automatizaciones de múltiples clientes, es fundamental aislar los entornos. Usa instancias de n8n separadas por cliente, cada una con su propia base de datos y ENCRYPTION_KEY. Con Docker y Kubernetes, puedes automatizar el aprovisionamiento de nuevas instancias y gestionarlas centralizadamente.

Si por coste necesitas compartir una instancia, al menos segmenta por proyectos usando tags y convenciones de nombres. Limita el acceso de cada equipo a solo los workflows que le corresponden mediante la configuración de roles.

Auditoría y logging

Activa el logging detallado de n8n con N8N_LOG_LEVEL=info (o debug para troubleshooting). Redirige los logs a un sistema centralizado como ELK Stack o Grafana Loki. Configura alertas para eventos sospechosos: múltiples intentos de login fallidos, webhooks con firmas inválidas, o workflows que acceden a credenciales que normalmente no usan.

Para cumplimiento normativo (GDPR, ISO 27001), documenta qué datos fluyen por cada workflow, quién tiene acceso, y cuánto tiempo se retienen las ejecuciones. n8n permite configurar data pruning automático para eliminar datos de ejecuciones antiguas.

Actualizaciones de seguridad

Mantén n8n actualizado — el equipo de n8n publica parches de seguridad regularmente. Suscríbete al changelog y al feed de GitHub releases. Antes de actualizar en producción, prueba en un entorno de staging para verificar que tus workflows siguen funcionando correctamente.

Scroll al inicio