Como configurar o Fail2ban para bloquear tentativas de invasão automaticamente
Oi! Aqui é a Sensei da GeHost 🥋 Hoje eu quero te explicar sobre um "guarda-costas" digital chamado Fail2ban — uma ferramenta que fica de olho no seu servidor e bane sozinha quem fica tentando adivinhar senha à força. Vamos com calma, passo a passo, do jeitinho que você merece entender.
Antes de tudo: isso é da minha hospedagem?
Aqui vai um ponto importante pra você não se perder: o Fail2ban é configurado dentro do sistema operacional do servidor, com acesso root via terminal (SSH). Os planos de hospedagem da GeHost (Econômico, Básico, Médio e Plus) são hospedagem em cPanel, um ambiente compartilhado e gerenciado pela nossa equipe — ou seja, você não mexe direto no sistema operacional do servidor, e é exatamente por isso que você não precisa se preocupar com esse tipo de configuração: a proteção contra tentativas de invasão nessa camada já é cuidada pela nossa equipe de infraestrutura.
💡 Se você é cliente cPanel da GeHost e desconfia de algum acesso estranho na sua conta, não tente mexer em nada por conta própria — é só abrir um chamado no painel.gehost.com.br que a gente investiga pra você.
Agora, se você tem seu próprio servidor Linux (uma VPS ou um dedicado que você mesmo administra, fora do ambiente de hospedagem gerenciada), esse guia é pra você. Vamos lá!
O que o Fail2ban faz, na prática
Imagina que alguém fica batendo na porta de casa, testando várias chaves seguidas, tentando entrar. O Fail2ban é o vizinho atento que percebe esse comportamento suspeito e tranca o portão pra aquela pessoa específica, por um tempo, automaticamente. Ele faz isso lendo os logs do servidor (os registros de tentativas de acesso) e, quando detecta muitas tentativas erradas seguidas vindas do mesmo lugar, bloqueia aquele endereço usando o firewall do próprio sistema.
Passo 1 — Instalar o Fail2ban
Conectado no seu servidor via SSH como root (ou usuário com sudo), rode o comando de instalação de acordo com a distribuição:
- Ubuntu/Debian:
apt update && apt install fail2ban -y - CentOS/AlmaLinux/Rocky:
dnf install epel-release -y && dnf install fail2ban -y
Passo 2 — Criar seu próprio arquivo de configuração
Aqui vai uma dica de ouro: nunca edite o arquivo original jail.conf diretamente. Toda atualização do Fail2ban pode sobrescrever esse arquivo e apagar suas configurações. O jeito certo é criar uma cópia chamada jail.local, que sempre tem prioridade sobre o original:
- Rode:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local - Abra o arquivo novo com seu editor de preferência:
nano /etc/fail2ban/jail.local
Passo 3 — Ajustar as regras principais
Logo no topo do arquivo, dentro da seção [DEFAULT], você vai encontrar três parâmetros que são o coração da proteção:
bantime— por quanto tempo o IP fica banido depois de ultrapassar o limite (ex.:10mpara 10 minutos, ou1hpara 1 hora).findtime— a "janela de tempo" em que as tentativas são contadas (ex.:10m).maxretry— quantas tentativas erradas são permitidas dentro dessa janela antes do bloqueio (um valor comum é5).
Um exemplo simples e equilibrado pra começar:
bantime = 1hfindtime = 10mmaxretry = 5
💡 Dica da Sensei: comece com valores moderados. Umbantimecurto demais deixa o robô voltar rápido; ummaxretrybaixo demais pode acabar te bloqueando por engano se você mesmo errar a senha algumas vezes seguidas.
Passo 4 — Ativar a proteção do SSH (a porta mais visada)
Ainda no jail.local, procure a seção [sshd] e garanta que ela esteja assim:
[sshd]enabled = trueport = ssh
Essa é a jail mais importante, porque o SSH costuma ser o alvo número um dos ataques automatizados de força bruta.
Passo 5 — Reiniciar e conferir se está tudo rodando
- Reinicie o serviço:
systemctl restart fail2ban - Confirme que ele iniciou e vai subir sozinho ao reiniciar o servidor:
systemctl enable fail2ban - Veja o status geral:
fail2ban-client status - Veja o status específico de uma jail, com os IPs banidos no momento:
fail2ban-client status sshd
Bônus — Como desbanir um IP (útil se você mesmo se trancar de fora)
Aconteceu com quase todo mundo que já mexeu em servidor: errar a própria senha e acabar banido. Sem pânico! Se você tiver outro jeito de acessar o servidor (como console do provedor), rode:
fail2ban-client set sshd unbanip SEU_IP_AQUI
💡 Dica da Sensei: além do SSH, o Fail2ban tem jails prontas pra outros serviços comuns (como painéis de e-mail, FTP e servidores web) — vale revisar o arquivo jail.local com calma e ativar só as jails dos serviços que você realmente usa no seu servidor, sempre testando uma de cada vez.
E é isso! Com essas configurações, seu servidor já ganha uma camada e tanto de proteção automática contra os robôs que ficam varrendo a internet. Qualquer dúvida durante o caminho, nosso suporte está por aqui — é só chamar pelo painel.gehost.com.br. 🥋