Lo que quieres es Fail2ban (suponiendo que se trata de una máquina Linux, no dijiste ...)
¿Qué es Fail2ban?
Fail2ban analizará los registros del sistema, buscando expresiones regulares particulares para bloquear. Cuando encuentra una coincidencia (o varias coincidencias desde la misma IP, dependiendo de cómo la configure), se bloqueará, generalmente a través de IPTables. Normalmente, esto se usa para bloquear intentos de autenticación fallidos contra SSH o servidores web.
Lo configura para prohibirlos durante un período de tiempo determinado (podrían ser minutos, podrían ser días ... depende de cuán persistentes sean), después de lo cual la prohibición caducará, a menos que lo intenten nuevamente.
¿Cómo ayuda esto a bloquear los bots de escaneo phpmyadmin?
Se puede usar con la misma facilidad para hacer coincidir los signos comunes de un ataque, como intentar acceder a carpetas phpmyadmin inexistentes. Tendrá que encontrar la expresión regular correcta para que coincida con dichos intentos y asegurarse de no bloquear usuarios legítimos.
La configuración dada en esta publicación de blog puede funcionar literalmente o requerir algunos ajustes para su configuración.
¿Por qué debería bloquearlos? Los errores 404 no cuestan mucho
Bloquearlos en iptables SÍ tiene algún uso: es probable que si están buscando vulnerabilidades de phpmyadmin, también pueden probar otros servicios para detectar vulnerabilidades, hasta que encuentren algo que funcione. Prohibirlos hará que la mayoría de los bots / scripts se den por vencidos después de un tiempo, y pasarán a mejores objetivos.
Incluso a través de los escaneos no cuestan mucho (a menos que realmente encuentren una vulnerabilidad), inundan sus registros haciendo que sea más difícil ver ataques exitosos y problemas con su servidor web.
Como dice el comentario a continuación, Fail2ban requiere algunos recursos del sistema. Pero no mucho. Por lo menos puedo decir que nunca he tenido un problema de rendimiento que podría atribuir a Fail2ban. Sin embargo, he tenido problemas de rendimiento debido a scripts muy agresivos que intentan forzar contraseñas de fuerza bruta o arrojan miles de intentos de inyección SQL y otras vulnerabilidades por segundo en mi servidor. Bloquearlos en el nivel de firewall requiere MUCHO menos recursos que bloquearlos en el nivel de servidor / aplicación. También se puede extender para ejecutar secuencias de comandos personalizadas para prohibir las direcciones IP, por lo que, en lugar de prohibirlas en tablas IP, es posible que las prohiba en un firewall de hardware o envíe un correo electrónico a alguien si la misma persona intenta atacarlo para que pueda quejarse a su ISP o haga que su centro de datos los bloquee en sus firewalls.
¿Algún otro consejo?
Se RECOMIENDA ALTAMENTE que incluya en la lista blanca algunas direcciones IP que controla para que no se bloquee accidentalmente.