Antes de 0,11, havia nenhum recurso padrão ou uma configuração dentro de fail2ban para alcançar isto. Mas, a partir da próxima versão 0.11, o tempo de proibição é calculado automaticamente e aumenta exponencialmente a cada nova ofensa que, no longo prazo, significará um bloqueio mais ou menos permanente.
Até lá, sua melhor abordagem provavelmente está configurando fail2ban para monitorar seu próprio arquivo de log . É um processo de dois passos ...
Etapa 1
Poderíamos precisar criar um filtro para verificar BAN no arquivo de log (arquivo de log do fail2ban)
Etapa 2
Precisamos definir a cadeia , semelhante ao seguinte ...
[fail2ban] enabled = true filter = fail2ban action = iptables-allports[name=fail2ban] logpath = /path/to/fail2ban.log # findtime: 1 day findtime = 86400 # bantime: 1 year bantime = 31536000
Tecnicamente, não é um bloco permanente , mas apenas blocos por um ano (que também podemos aumentar).
De qualquer forma, para sua pergunta (isso pode ser conseguido com o fail2ban sozinho ou eu preciso escrever meu próprio script para fazer isso?) ... escrever o próprio script pode funcionar bem. Configurar o script para extrair os freqüentemente IPs proibidos e colocá-los em /etc/hosts.deny
é o que eu recomendo.