Como limitar tentativas de login SSH com fail2ban imprimir

  • 0

Como limitar tentativas de login SSH com o Fail2ban

Olá! Aqui é a Sensei da GeHost 🥋 e hoje vamos falar de um assunto que deixa qualquer servidor mais tranquilo: como impedir que robôs e invasores fiquem tentando adivinhar a senha do seu SSH a noite toda. A ferramenta certa pra isso se chama Fail2ban, e vou te mostrar, com calma, como instalar e configurar.

Este guia é voltado para quem tem acesso SSH com privilégios administrativos (root/sudo) ao servidor. Se você não sabe se o seu plano ou serviço contempla esse tipo de acesso, é só chamar o suporte GeHost pelo painel (painel.gehost.com.br) antes de seguir — a gente confirma pra você com prazer.

O que é o Fail2ban e por que ele ajuda?

Pensa no Fail2ban como um segurança na porta do seu servidor. Ele fica de olho nos registros (logs) de acesso e, quando percebe que alguém errou a senha várias vezes seguidas em pouco tempo, bloqueia o IP dessa pessoa por um período. Isso reduz drasticamente as tentativas de "força bruta" contra o seu SSH.

Antes de começar

  • Você vai precisar de acesso SSH ao servidor com permissão de administrador (root ou sudo).
  • Nunca feche a janela do terminal enquanto estiver mexendo em regras de firewall/SSH — se algo travar sua própria conexão, é bom ter uma segunda forma de acessar o servidor (como o console do seu provedor) só por segurança.
  • Anote a porta que seu SSH usa atualmente antes de mudar qualquer configuração.

Passo 1 — Instalando o Fail2ban

Conecte-se ao servidor via SSH e escolha o comando de acordo com o sistema:

Em distribuições baseadas em Debian/Ubuntu:

sudo apt update
sudo apt install fail2ban -y

Em distribuições baseadas em CentOS/AlmaLinux/RHEL:

sudo yum install epel-release -y
sudo yum install fail2ban -y

Passo 2 — Criando o arquivo de configuração local

O Fail2ban vem com um arquivo padrão chamado jail.conf, mas a boa prática é nunca editar esse arquivo direto — ele pode ser sobrescrito em atualizações. Vamos criar uma cópia personalizada:

  1. Copie o arquivo padrão:
    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  2. Abra o novo arquivo com um editor de texto, por exemplo:
    sudo nano /etc/fail2ban/jail.local

Passo 3 — Configurando a proteção do SSH

Dentro do arquivo jail.local, procure a seção [sshd] (ou crie uma, se não existir) e ajuste assim:

[sshd]
enabled = true
port = ssh
filter = sshd
maxretry = 5
findtime = 600
bantime = 3600

Traduzindo cada linha pra você:

  • enabled = true → liga a proteção para o SSH.
  • maxretry = 5 → depois de 5 tentativas erradas, o IP é bloqueado.
  • findtime = 600 → essas tentativas são contadas dentro de uma janela de 600 segundos (10 minutos).
  • bantime = 3600 → o IP fica banido por 3600 segundos (1 hora). Você pode aumentar esse valor se quiser um bloqueio mais longo.
Dica da Sensei: se você tiver um IP fixo que usa sempre (o seu, do escritório, etc.), pode adicioná-lo na lista de exceções com a linha ignoreip = 127.0.0.1/8 SEU_IP_AQUI dentro da mesma seção, assim você nunca corre o risco de se bloquear sozinho por engano.

Passo 4 — Salvando e reiniciando o serviço

  1. Salve o arquivo (no nano: Ctrl+O, Enter, depois Ctrl+X para sair).
  2. Reinicie o Fail2ban para aplicar as mudanças:
    sudo systemctl restart fail2ban
  3. Confirme que ele está rodando:
    sudo systemctl status fail2ban

Passo 5 — Conferindo se está funcionando

Para ver o status da proteção do SSH e quantos IPs já foram bloqueados:

sudo fail2ban-client status sshd

Se em algum momento você (ou um cliente seu) errar a senha sem querer e for bloqueado por engano, dá pra desbloquear o IP manualmente com:

sudo fail2ban-client set sshd unbanip IP_QUE_FOI_BLOQUEADO

Cuidados importantes

  • Teste sempre em um segundo terminal antes de encerrar a sessão atual — assim, se algo der errado, você ainda tem uma conexão ativa para corrigir.
  • Valores muito agressivos de maxretry podem bloquear você mesmo em caso de digitação errada. Comece com valores moderados, como no exemplo acima.
  • O Fail2ban complementa a segurança, mas não substitui boas práticas como senhas fortes ou autenticação por chave SSH.

Ficou com dúvida?

Sem problemas! Configuração de servidor pode assustar no começo, e é totalmente normal ter perguntas. É só abrir um chamado pelo painel do cliente (painel.gehost.com.br) que a equipe GeHost te ajuda com todo carinho. 💙


Esta resposta lhe foi útil?

« Retornar