SSH & Avançado 42 visualizações

Como configurar o Fail2Ban para bloquear tentativas de login malsucedidas no VPS

Ver no WHMCS

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 o bantime para várias horas ou até dias (ex.: bantime = 1d pra 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

  1. Conecte no VPS via SSH.
  2. Atualize o sistema.
  3. Instale o Fail2Ban.
  4. Crie o jail.local a partir do jail.conf.
  5. Ajuste maxretry, findtime e bantime na seção [sshd].
  6. 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! 🥋

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.