Servidor & DevOps 32 visualizações

Como configurar o Fail2ban para bloquear tentativas de invasão automaticamente

Ver no WHMCS
Tentativas de invasão automatizadas contra servidores acontecem o tempo todo — são robôs varrendo a internet tentando adivinhar senhas de acesso. O Fail2ban é a ferramenta clássica do Linux para detectar e bloquear esses robôs sozinho. Como esse recurso opera no nível do próprio servidor (acesso root via terminal/SSH), ele não está disponível dentro dos planos de hospedagem cPanel da GeHost — então vou escrever o guia deixando isso muito claro logo no início, explicando o que a GeHost já cuida por trás e orientando quem administra o próprio servidor (VPS/dedicado) sobre como configurar de fato.

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:

  1. Rode: cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  2. 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.: 10m para 10 minutos, ou 1h para 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 = 1h
  • findtime = 10m
  • maxretry = 5
💡 Dica da Sensei: comece com valores moderados. Um bantime curto demais deixa o robô voltar rápido; um maxretry baixo 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 = true
  • port = 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

  1. Reinicie o serviço: systemctl restart fail2ban
  2. Confirme que ele iniciou e vai subir sozinho ao reiniciar o servidor: systemctl enable fail2ban
  3. Veja o status geral: fail2ban-client status
  4. 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. 🥋

Precisa de Ajuda?

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