Amenazas comunes y mitigaciones prácticas. Imprime y pégalo junto a tu monitor.
| Amenaza | Riesgo | Mitigación |
|---|---|---|
| Tokens en el código | Exposición al exportar/compartir | Variables de entorno + sistema de credenciales n8n |
| Webhook sin autenticación | Cualquiera envía datos falsos | Header x-api-key validado con nodo IF |
| SQL injection | Compromiso de la base de datos | Queries parametrizadas ($1, $2) siempre |
| Secrets en query params | Filtración en logs | Usar headers, nunca ?key= en la URL |
| Panel n8n expuesto | Acceso no autorizado | N8N_BASIC_AUTH_ACTIVE + túnel no abierto a 0.0.0.0 |
| Acción | Cómo |
|---|---|
| Autenticación del panel | N8N_BASIC_AUTH_ACTIVE=true + user/password fuerte |
| Clave de cifrado | N8N_ENCRYPTION_KEY=$(openssl rand -hex 24) resguardada |
| HTTPS | Cloudflare Tunnel (nunca abrir puerto a internet) |
| Webhooks protegidos | Validar header x-api-key como primer nodo |
| SQL seguro | Queries con parámetros, no concatenación |
| Auditoría de código | bandit -r . sobre scripts propios |
pip install bandit
bandit -r . # audit recursivo
bandit -r . -l # solo severidades media/alta
bandit -f json -o rep.json # reporte JSON para CI