SSH & Avançado 2 visualizações

Como configurar o fail2ban para bloquear tentativas repetidas de login no servidor

Ver no WHMCS

Fail2ban: o segurança particular do seu servidor 🛡️

Oi, tudo bem? Aqui é a Sensei da GeHost! Hoje eu vou te ensinar a configurar o fail2ban, uma ferramenta que funciona como um seguranças de porta pro seu servidor: ela fica de olho em quem tenta entrar por SSH e, se perceber alguém tentando adivinhar sua senha várias vezes seguidas, bloqueia o IP dessa pessoa automaticamente. Simples, eficaz e que faz uma baita diferença na segurança do seu ambiente.

Antes de começar: este guia é para quem tem acesso SSH/root ao próprio servidor (VPS ou servidor dedicado). Se o seu plano é de hospedagem compartilhada em cPanel, relaxa — a segurança do servidor já é toda gerenciada pela nossa equipe por trás dos panos, e você não precisa (nem consegue) instalar o fail2ban por lá. Na dúvida sobre o tipo do seu plano, dá uma olhada no painel.gehost.com.br ou chama o suporte.

Por que isso importa?

Todo servidor exposto na internet recebe, o tempo todo, tentativas automáticas de robôs testando usuário e senha no SSH (o famoso "brute force"). O fail2ban lê os registros (logs) de tentativas de login e, quando detecta várias falhas seguidas vindas do mesmo IP num curto intervalo, bane aquele IP por um tempo — travando a porta pra ele. É simples assim, mas resolve um problemão.

Passo a passo

1. Instale o fail2ban

Conecte no seu servidor via SSH e rode o comando de instalação de acordo com o sistema:

  • Ubuntu/Debian: sudo apt update && sudo apt install fail2ban -y
  • CentOS/AlmaLinux/Rocky: sudo yum install epel-release -y && sudo yum install fail2ban -y

2. Crie o arquivo de configuração local

O fail2ban vem com um arquivo padrão (jail.conf), mas a boa prática é nunca editar esse arquivo direto — porque ele pode ser sobrescrito em atualizações futuras. Em vez disso, copie as configurações pra um arquivo próprio:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

A partir de agora, todas as suas edições serão feitas em jail.local.

3. Ative a proteção do SSH

Abra o arquivo com o editor de sua preferência:

sudo nano /etc/fail2ban/jail.local

Procure (ou crie) a seção [sshd] e deixe assim:

[sshd]
enabled = true
port = ssh
filter = sshd
maxretry = 5
findtime = 10m
bantime = 1h
  • maxretry = quantas tentativas erradas o fail2ban tolera antes de banir.
  • findtime = a janela de tempo em que essas tentativas são contadas (ex.: 10 minutos).
  • bantime = por quanto tempo o IP fica banido (ex.: 1 hora).

Você pode ajustar esses valores conforme sua necessidade — quanto menor o maxretry e maior o bantime, mais rigorosa fica a proteção.

4. Coloque o seu próprio IP na lista de confiança (whitelist)

Isso é muito importante: se você mesmo errar a senha algumas vezes tentando entrar, o fail2ban pode te bloquear! Pra evitar essa dor de cabeça, adicione seu IP fixo (se tiver um) na whitelist. Ainda no jail.local, procure a linha ignoreip (geralmente no topo, na seção [DEFAULT]) e inclua seu IP:

ignoreip = 127.0.0.1/8 ::1 SEU_IP_AQUI
Dica da Sensei: se você não tem IP fixo, tome cuidado redobrado ao digitar a senha ou, melhor ainda, use autenticação por chave SSH em vez de senha — assim o risco de ser bloqueado sem querer praticamente some.

5. Reinicie o serviço

Depois de salvar o arquivo, reinicie o fail2ban pra aplicar as mudanças:

sudo systemctl restart fail2ban

E deixe ele ativado pra iniciar sozinho sempre que o servidor reiniciar:

sudo systemctl enable fail2ban

6. Confira se está tudo funcionando

Pra ver o status geral:

sudo fail2ban-client status

E pra ver detalhes da proteção do SSH especificamente (quantos IPs já foram banidos, tentativas atuais etc.):

sudo fail2ban-client status sshd

7. Já se bloqueou sem querer? Sabe desbanir também

Se em algum teste você mesmo acabar banido, é só remover o próprio IP da lista de banidos:

sudo fail2ban-client set sshd unbanip SEU_IP_AQUI

Prontinho! 🎉

A partir de agora, seu servidor já está bem mais protegido contra tentativas automáticas de invasão por SSH. Se tiver qualquer dúvida na hora de configurar, chama a gente no suporte que a equipe te ajuda com prazer — e lembra que todo serviço entregue pela GeHost já vem com 30 dias de suporte grátis após a entrega.

Ficou com alguma dúvida técnica ou quer ajuda pra revisar sua configuração? É só abrir um chamado pelo painel.gehost.com.br que a gente dá uma olhada com você. 😊
Precisa de Ajuda?

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