Os ajustes que transformam um container inseguro em seguro (aplicam ao seu n8n — Ex. 42, DOC §4.4):
| Controle | Por quê | Como |
|---|---|---|
| Não rodar como root | root no container ≈ risco de root no host | USER no Dockerfile / user: no compose |
| Drop capabilities | remover poderes que o app não usa | cap_drop: [ALL] + adicionar só o mínimo |
no-new-privileges |
impedir escalada dentro do container | security_opt: [no-new-privileges:true] |
| Filesystem read-only | malware não escreve no container | read_only: true + tmpfs para o que precisa escrever |
| Limites de recurso | conter DoS/abuso | mem_limit, pids_limit, cpus |
| Secrets fora da imagem | não vazar nas camadas | secrets via runtime/cofre, nunca no Dockerfile/ENV commitado |
| Rede mínima | não expor o que é interno | expose (interno) em vez de ports (externo); rede isolada |