Hardening n8n na VPS: firewall, fail2ban, SSH seguro e bloqueio do editor público para reduzir a superfície de ataque e proteger credenciais.

Hardening n8n na VPS é o conjunto de medidas para reduzir a superfície de ataque do servidor e do próprio n8n. Quando você coloca o n8n no ar, está expondo uma ferramenta que conecta serviços, dispara automações e guarda credenciais. Um acesso indevido ao editor pode exfiltrar dados, ler segredos e acionar APIs em seu nome.
Este guia prático para iniciantes cobre quatro frentes que trazem um salto de segurança:
- Firewall (UFW): liberar apenas o necessário (SSH e HTTP/HTTPS por trás de proxy) e bloquear o resto.
- Fail2ban: bloquear IPs que tentam autenticação repetidamente (sobretudo no SSH).
- SSH seguro: usar chaves, desabilitar senha e reduzir brute force.
- Bloquear o editor público do n8n: restringir quem carrega a interface.
Com isso, seu n8n fica mais protegido, sua VPS menos exposta e você ganha confiança para evoluir o projeto.
Por que aplicar hardening ao n8n em uma VPS?
Em servidores públicos, ataques automatizados são rotina: varredura de portas, tentativas de login e exploração de painéis populares. O n8n orquestra integrações e guarda credenciais, tornando-se um alvo valioso.
Riscos de um editor exposto:
- Criação de workflows para enviar dados a webhooks externos.
- Execução de ações em nome da empresa (e-mail, chat, APIs).
- Leitura e reutilização de credenciais salvas.
Pense em camadas:
1) Rede (firewall): quem pode chegar ao serviço.
2) Autenticação (SSH e painel): como entrar.
3) Aplicação (editor n8n): o que fica exposto e para quem.
Com camadas bem aplicadas, a maioria dos bots desiste no primeiro obstáculo e você reduz ruído operacional (logs inflados, alertas e instabilidade).
🤖 Próximo passo: dominar n8n e Agentes de IA com projetos práticos
Se você está cuidando de segurança, provavelmente quer levar o n8n a produção com qualidade. A Formação Agentes de IA (n8n) da Hora de Codar reúne 11+ cursos, 20h+ e 21+ projetos, incluindo instalação em VPS, boas práticas e segurança. Acesso vitalício e comunidade ajudam no dia a dia.
Veja mais: https://app.horadecodar.com.br/lp/formacao-agentes-de-ia-n8n?utm_source=blog
Configurando firewall para proteção do n8n
A regra de ouro: abrir apenas o essencial. Em setups típicos com proxy reverso (Nginx, Traefik ou Caddy), você precisa de:
- 22/tcp (SSH) para administrar o servidor.
- 80/tcp e 443/tcp (HTTP/HTTPS) para acesso via domínio e SSL.
Passo a passo com UFW (Ubuntu/Debian):
- Atualizar e instalar: sudo apt update && sudo apt install ufw -y
- Políticas padrão: sudo ufw default deny incoming; sudo ufw default allow outgoing
- Liberar SSH antes de ativar: sudo ufw allow OpenSSH
- Liberar HTTP e HTTPS: sudo ufw allow 80/tcp; sudo ufw allow 443/tcp
- Ativar e verificar: sudo ufw enable; sudo ufw status verbose
Evite expor a porta 5678 do n8n diretamente. Prefira manter o n8n em 127.0.0.1:5678 (ou rede interna do Docker) e publicar apenas o proxy nas portas 80/443. Se precisar liberar 5678 em testes, faça de forma temporária e feche em produção.
Vídeo recomendado: instale e entenda o n8n na VPS
Para complementar este guia de Hardening n8n na VPS, veja um passo a passo de instalação para entender onde entram proxy, portas e acesso ao editor. Depois, aplique firewall, fail2ban e o bloqueio do editor com segurança.
Assista: https://www.youtube.com/watch?v=VCKzXFk_XjM
Implementando fail2ban para proteger o acesso
O fail2ban observa logs e bane IPs com comportamento suspeito (ex.: múltiplas falhas de login). O alvo mais atacado costuma ser o SSH da VPS.
Instalação (Ubuntu/Debian):
- sudo apt update && sudo apt install fail2ban -y
- Habilitar e iniciar: sudo systemctl enable fail2ban; sudo systemctl start fail2ban
Configuração básica (jail.local para SSH):
- Criar arquivo: sudo nano /etc/fail2ban/jail.local
- Exemplo seguro: seção sshd com enabled=true, maxretry=5, findtime=10m, bantime=1h
- Aplicar: sudo systemctl restart fail2ban
Checagem:
- Status geral: sudo fail2ban-client status
- Status do sshd: sudo fail2ban-client status sshd
- Desbanir IP: sudo fail2ban-client set sshd unbanip SEU_IP
Se o n8n estiver por trás de proxy, é possível adicionar jails baseados nos logs do Nginx ou Traefik (padrões 401/403 repetidos), mas isso é um passo mais avançado.
Práticas recomendadas de segurança no SSH
SSH é a porta principal da VPS. Endureça-o para remover o vetor de ataque mais comum.
Boas práticas:
1) Use chave SSH (não senha):
- Gerar chave local (ex.: ED25519): ssh-keygen -t ed25519
- Copiar chave pública: ssh-copy-id usuario@IPDAVPS
- Testar o login com chave antes de seguir.
2) Desabilite senha e root:
- Editar: sudo nano /etc/ssh/sshd_config
- Ajustar: PasswordAuthentication no; PermitRootLogin no
- Recarregar: sudo systemctl reload ssh
3) Porta customizada (opcional):
- Alterar Port no sshd_config (ex.: 2222), liberar no firewall, testar e só então fechar 22.
4) Use usuário comum com sudo, não trabalhe como root.
5) Se tiver IP fixo, restrinja SSH no firewall ao seu IP. Se não, mantenha chave + fail2ban.
Resultado: ataques por senha deixam de funcionar e você depende de chaves fortes.
💻 VPS para n8n com bom custo-benefício
Para aplicar Hardening n8n na VPS com tranquilidade, é importante ter uma VPS estável e simples de gerenciar. A Hostinger oferece VPS com NVMe, planos que escalam e painel amigável para quem está começando. Suba seu n8n, configure proxy/SSL e foque em fechar portas e reforçar SSH.
Link: https://www.hostinger.com.br/horadecodar
Cupom de desconto: HORADECODAR
Como bloquear o editor público do n8n
Bloquear o editor público é crucial. Mesmo com login, a exposição amplia tentativas e enumeração.
Estratégias:
- Restringir por IP no proxy (Nginx/Traefik): permitir seu IP e negar o restante no location/route do editor.
- Autenticação extra (Basic Auth) no proxy: adiciona uma camada antes do login do n8n, útil quando seu IP muda.
- Separar editor e webhooks: editor restrito (ex.: n8n.seudominio.com) e webhooks públicos (ex.: hooks.seudominio.com), garantindo que integrações externas continuem funcionando.
Checklist de validação:
1) Teste o editor via outra rede (ex.: 4G) e confirme o bloqueio.
2) Teste um webhook externo e confirme que segue acessível.
3) Verifique que a porta 5678 não está exposta no firewall.
Com editor restrito + firewall + SSH reforçado, você sobe muito o nível de segurança.
O que é hardening no contexto do n8n em uma VPS?
Hardening refere-se ao conjunto de práticas para reforçar a segurança do n8n instalado em uma VPS. Isso inclui a configuração de firewall, uso do Fail2ban para proteger contra tentativas de acesso indevido, endurecimento do acesso SSH (desabilitando root remoto, usando autenticação por chave, entre outros) e o bloqueio do editor público do n8n para evitar que usuários não autorizados editem ou visualizem seus fluxos de automação.
Como proteger o acesso SSH ao n8n na minha VPS?
Para proteger o acesso SSH, recomenda-se: alterar a porta padrão do SSH, desabilitar o login direto como root, utilizar autenticação por chave ao invés de senha, limitar tentativas de login e usar o Fail2ban para bloquear IPs após múltiplas tentativas falhas. Isso reduz drasticamente as chances de invasão via força bruta.
Por que devo bloquear o editor público do n8n e como isso é feito?
O editor público do n8n permite a edição e visualização dos workflows via navegador. Se deixado aberto, pode ser explorado por pessoas mal-intencionadas. Para bloquear, configure variáveis de ambiente para exigir autenticação e limite o acesso ao painel de edição via firewall (liberando somente IPs autorizados). Dessa forma, apenas pessoas autorizadas terão acesso ao editor do n8n.
Conclusão
Hardening n8n na VPS não precisa ser complicado. Aplique camadas simples: feche o que não usa (firewall), proteja o ponto mais atacado (SSH com chave), automatize bloqueios (fail2ban) e não deixe o editor público. Implemente por etapas, valide cada mudança e mantenha webhooks funcionando. O n8n é uma central de integrações e credenciais; investir em blindagem evita dores de cabeça e eleva o nível profissional do seu ambiente.

