Fail2ban

Instale e configure o Fail2ban para bloquear temporariamente falhas repetidas de autenticação SSH em um servidor Ubuntu.

Antes de executar

Estes exemplos têm como alvo um servidor Ubuntu usando systemd e um firewall compatível. Nomes de pacotes, fontes de log e back-ends de firewall diferem de acordo com a distribuição. Fail2ban reduz tentativas repetidas de login; não substitui chaves SSH, atualizações ou controles de acesso. Mantenha uma sessão administrativa existente e uma recuperação de console disponíveis e evite testar a partir do seu único endereço de trabalho. Verifique se a prisão SSH lê os logs de autenticação reais e se sua ação de firewall é eficaz. Não coloque redes amplas na lista de permissões sem compreender o risco.

Após aplicar as alterações, confirme em uma nova sessão SSH que o login e o funcionamento esperado estão corretos. Mantenha a sessão atual aberta até a verificação ser concluída, para poder restaurar a configuração se necessário.

Exemplos

Instale Fail2ban no Ubuntu e inicie seu serviço. A instalação requer privilégios de administrador.

sudo apt update
sudo apt install fail2ban
sudo systemctl enable --now fail2ban

Crie uma substituição de prisão separada em /etc/fail2ban/jail.d/sshd.local; não edite o jail.conf empacotado. O exemplo usa logs do systemd e bloqueia um endereço por uma hora após cinco falhas em dez minutos.

Abra o arquivo com nano:

sudo nano /etc/fail2ban/jail.d/sshd.local
[sshd]
enabled = true
backend = systemd
maxretry = 5
findtime = 10m
bantime = 1h

Valide a configuração, reinicie o serviço e inspecione a prisão SSH. Certifique-se de que a saída identifique a origem de log e a ação de firewall pretendidas.

sudo fail2ban-client -t && sudo systemctl restart fail2ban && sudo fail2ban-client status sshd

Inspecione os logs de serviço recentes se a prisão não for iniciada ou se nenhuma falha for detectada.

sudo journalctl -u fail2ban -n 100 --no-pager

Se um endereço autorizado foi banido, cancele o banimento desse endereço de uma sessão administrativa existente ou do console do servidor. Substitua o endereço de exemplo.

sudo fail2ban-client set sshd unbanip 192.0.2.10

Referências oficiais

Revisado em 27 de outubro de 2026