A prisão recidiva recomendada na outra resposta aqui não resolveu o problema para mim. Eu finalmente consertei isso, então aqui está meu método, caso isso ajude os outros.
O Fail2ban bloqueia apenas o TCP por padrão. Pelo menos com a minha configuração, notei que a mensagem "já banido" estava aparecendo quando os bots voltaram para tentar a porta bloqueada pelo UDP.
Para corrigir esse problema, diga ao Fail2ban para bloquear a porta em todos os protocolos, em vez de apenas TCP. Você precisará fazer essa alteração em /etc/fail2ban/jail.conf e na seção [Init] de cada ação que estiver usando em / etc / fail2ban / action.d / .
Altere isto:
# Default protocol
protocol = tcp
Para:
# Default protocol
protocol = all
Em seguida, desativei solicitações de eco ICMP para que os IPs bloqueados não tivessem como acessar o servidor:
- nano /etc/sysctl.conf
-
Adicione estas duas linhas:
net.ipv4.icmp_echo_ignore_all = 1 net.ipv4.icmp_echo_ignore_broadcasts = 1
- Saia e salve o arquivo.
- Execute sysctl -p para que a alteração tenha efeito.
Depois disso, execute fail2ban-client reload e você não verá mais essas mensagens "já banidas", a menos que você receba spam de um IP que faça algumas tentativas de acesso antes que o bloqueio seja efetivado .
Além disso, é importante bloquear todas as portas para todos os criminosos em vez da porta que eles estavam tentando acessar usando a ação iptables-allports em cada um dos Jails. Caso contrário, eles podem desencadear outra prisão e acabar como "já banido" nos logs.