O Fail2Ban é uma ferramenta poderosa e flexível para proteger servidores Linux contra ataques de força bruta, especialmente em tentativas de adivinhação de senha no SSH, FTP, SMTP, aplicações web ou até mesmo no servidor proxy Squid. Configurar o Fail2Ban permite bloquear automaticamente endereços IP que apresentem atividades suspeitas, reduzindo o risco de invasão.
Com ele, é possível implementar proteção contra força bruta de senhas, proteger o SSH e até aplicá-lo a serviços não convencionais — seja no Ubuntu, Debian, CentOS ou outros sistemas. Também há versões do Fail2Ban para Windows, e, se desejado, ele pode ser integrado ao iptables ou outras ferramentas de controle de tráfego.
Exemplo com Ubuntu 22.04 e Debian:
sudo apt update
sudo apt install fail2ban
Um dos casos mais comuns é proteger o SSH contra ataques de força bruta.
Copie o arquivo de configuração:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Abra o arquivo:
sudo nano /etc/fail2ban/jail.local
Encontre e edite a seção [sshd]:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 3600
Por padrão, o Fail2Ban não inclui um filtro para o Squid, mas ele pode ser adicionado manualmente. Isso é útil em sistemas onde o Squid é utilizado como proxy de cache ou para gerenciamento de tráfego (por exemplo, mikrotik + fail2ban via proxy).
Crie o filtro:
sudo nano /etc/fail2ban/filter.d/squid.conf
Adicione ao arquivo:
[Definition]
failregex = ^.*squid.TCP_DENIED.
ignoreregex =
Depois, edite o jail.local novamente:
sudo nano /etc/fail2ban/jail.local
Adicione ao final:
[squid]
enabled = true
filter = squid
logpath = /var/log/squid/access.log
maxretry = 5
bantime = 3600
findtime = 600
Verifique se o caminho do access.log está correto:
sudo find /var/log -name access.log
Reinicie o serviço:
sudo systemctl restart fail2ban
E verifique o status:
sudo fail2ban-client status squid
Se tudo estiver configurado corretamente, o Fail2Ban começará a monitorar as tentativas de conexão via Squid e bloqueará automaticamente os IPs mal-intencionados.
Assim, o Fail2Ban não é apenas uma proteção de SSH contra força bruta, mas sim um mecanismo modular completo. É possível criar seus próprios filtros (fail2ban filter), alterar ações (fail2ban action), integrá-lo ao iptables ou utilizá-lo em sistemas como o fail2ban windows. É uma solução universal para configurações de segurança — do Ubuntu e Debian ao CentOS e outras distribuições Linux.