O que você quer é Fail2ban (supondo que essa seja uma máquina linux, você não disse ...)
O que é o Fail2ban?
O Fail2ban analisará os logs do sistema, procurando expressões regulares específicas para bloquear. Quando encontrar uma correspondência (ou várias correspondências do mesmo IP, dependendo de como você a configura), ela será bloqueada, geralmente por meio de IPTables. Normalmente, isso é usado para bloquear tentativas de autenticação com falha contra SSH ou servidores da web.
Você o configura para bani-los por um determinado período de tempo (pode ser minutos, pode levar dias ... depende de quão persistentes eles são), após o qual a proibição expirará, a menos que eles tentem novamente.
Como isso ajuda a bloquear os robôs de varredura do phpmyadmin?
Ele pode ser usado facilmente para coincidir com sinais comuns de um ataque, como tentar acessar pastas phpmyadmin inexistentes. Você terá que descobrir a expressão regular correta para corresponder a essas tentativas e garantir que você não bloqueie usuários legítimos.
A configuração dada em esta postagem do blog pode funcionar verbatium ou exigir alguns ajustes para sua configuração.
Por que devo bloqueá-los? Os erros 404 não custam muito
Bloqueando-os no iptables Têm algum uso - as probabilidades são se eles estão verificando vulnerabilidades do phpmyadmin, eles podem tentar outros serviços por vulnerabilidades também, até que eles atinjam algo que funcione. Proibi-los fará com que a maioria dos bots / scripts desistam depois de algum tempo, e eles seguirão para metas melhores.
Mesmo durante as varreduras, não custa muito (a menos que elas realmente encontrem uma vulnerabilidade), elas inundam seus registros, dificultando a visualização de ataques e problemas com êxito com seu servidor da Web.
Como o comentário abaixo diz, o Fail2ban requer alguns recursos do sistema. Mas não muito. No mínimo, posso dizer que nunca tive um problema de desempenho que eu pudesse atribuir ao Fail2ban. No entanto, tive problemas de desempenho de scripts muito agressivos que tentavam violar senhas forçadas ou lançar milhares de tentativas de injeção de SQL e outras explorações por segundo em meu servidor. Bloqueá-los no nível do firewall leva menos recursos do que bloqueá-los no nível do servidor / aplicativo. Ele também pode ser estendido para executar scripts personalizados para banir endereços IP - então, em vez de bani-los em IPtables, você poderia proibi-los em um firewall de hardware ou enviar e-mails a alguém se a mesma pessoa tentar atacá-lo para reclamar ao seu ISP ou peça ao seu datacenter para bloqueá-lo em seus firewalls.
Alguma outra dica?
É ALTAMENTE RECOMENDADO que você coloque na lista de permissões alguns endereços IP que você controla para que você não se bloqueie acidentalmente.