Fail2Ban: o segurança particular do seu VPS 🛡️
Oi! Aqui quem fala é a Sensei, e hoje vou te ensinar uma das configurações mais importantes pra quem tem um VPS: o Fail2Ban. Pensa nele como um segurança que fica na porta do seu servidor e, quando alguém tenta "chutar" a senha várias vezes seguidas, simplesmente tranca a porta pra aquele visitante. Sem drama, sem complicação — vamos passo a passo.
O que é o Fail2Ban e por que ele importa
Todo VPS com acesso SSH exposto na internet recebe, o tempo todo, tentativas automatizadas de login vindas de robôs espalhados pelo mundo tentando adivinhar usuário e senha. É chato, mas é normal. O Fail2Ban monitora os logs de autenticação do seu servidor e, quando detecta várias tentativas erradas do mesmo endereço em pouco tempo, bloqueia esse endereço automaticamente por um período — sem você precisar fazer nada manualmente.
💡 Dica da Sensei: o Fail2Ban não substitui uma senha forte nem a autenticação por chave SSH — ele é uma camada extra de proteção. O ideal é usar os dois juntos.
Antes de começar
- Você precisa de acesso root (ou sudo) via SSH ao seu VPS.
- Vamos usar o terminal — pode ser o próprio terminal do seu computador (Linux/Mac) ou um programa como PuTTY (Windows).
- Este guia assume um VPS com distribuição baseada em Debian/Ubuntu, a mais comum. Se o seu servidor for outra distribuição, os comandos de instalação podem variar um pouco — na dúvida, chame o suporte.
Passo a passo
1. Conecte no seu VPS
Abra o terminal e conecte via SSH normalmente, como você já faz de costume:
ssh usuario@seu-ip-do-servidor
2. Atualize os pacotes do sistema
Sempre bom começar com tudo atualizadinho:
sudo apt update && sudo apt upgrade -y
3. Instale o Fail2Ban
sudo apt install fail2ban -y
Pronto! Com esse comando, o Fail2Ban já entra no seu servidor. Mas calma, ele ainda precisa de um ajuste fino antes de sair "prendendo geral".
4. Crie o arquivo de configuração local
O Fail2Ban vem com um arquivo padrão chamado jail.conf, mas a boa prática (e o que evita dor de cabeça em atualizações futuras) é nunca editar esse arquivo original. A gente cria uma cópia local chamada jail.local, que é onde ficam as suas personalizações:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
5. Edite as regras do SSH
Abra o arquivo com o editor de texto de sua preferência (aqui vamos usar o nano, que é simples):
sudo nano /etc/fail2ban/jail.local
Procure a seção [sshd] (use Ctrl+W no nano pra buscar) e deixe parecido com isto:
[sshd] enabled = true port = ssh maxretry = 5 findtime = 10m bantime = 1h
Traduzindo cada linha:
- enabled = true → liga a proteção pro serviço SSH.
- maxretry = 5 → depois de 5 tentativas erradas, o visitante é bloqueado.
- findtime = 10m → essas 5 tentativas contam se acontecerem dentro de 10 minutos.
- bantime = 1h → o bloqueio dura 1 hora. Depois disso, a pessoa pode tentar de novo (se errar de novo, é banida outra vez).
💡 Dica da Sensei: se você quiser ser mais rígida(o), pode aumentar obantimepara várias horas ou até dias (ex.:bantime = 1dpra 1 dia). O importante é equilibrar segurança com o risco de você mesmo errar a senha e se autobloquear por um tempinho 😅
Salve o arquivo (no nano: Ctrl+O, Enter, depois Ctrl+X pra sair).
6. Reinicie o serviço
Pra aplicar as mudanças, reinicie o Fail2Ban:
sudo systemctl restart fail2ban
E confirme que ele está rodando certinho:
sudo systemctl status fail2ban
Se aparecer algo como active (running) em verde, deu tudo certo! 🎉
7. Confira quem já foi bloqueado (opcional, mas útil)
Depois de um tempo, você pode ver o status da proteção do SSH com:
sudo fail2ban-client status sshd
Esse comando mostra quantas tentativas foram detectadas e quais endereços estão atualmente banidos.
8. Se você mesmo se bloquear (acontece com todo mundo!)
Errou a senha demais e ficou de fora do próprio servidor? Sem pânico. Se você ainda tiver outra sessão SSH aberta, pode desbloquear seu próprio endereço com:
sudo fail2ban-client set sshd unbanip SEU_ENDERECO_IP
Se você ficou completamente trancado para fora, entre em contato com o nosso suporte que a gente te ajuda a recuperar o acesso.
💡 Dica da Sensei: combine o Fail2Ban com login por chave SSH (em vez de só senha) para um nível de segurança ainda maior. Se quiser, procure nosso guia sobre configuração de chaves SSH aqui na base de conhecimento.
Recapitulando
- Conecte no VPS via SSH.
- Atualize o sistema.
- Instale o Fail2Ban.
- Crie o
jail.locala partir dojail.conf. - Ajuste
maxretry,findtimeebantimena seção[sshd]. - Reinicie o serviço e confira o status.
Prontinho! Com isso, seu VPS já ganha uma camada extra de proteção contra tentativas de invasão por força bruta. Qualquer dúvida durante a configuração, é só chamar o suporte da GeHost pelo painel.gehost.com.br que a gente te ajuda com todo carinho. Até a próxima! 🥋