Lo primero que necesitamos saber para crear una regla de fail2ban es dónde se registran esos intentos fallidos. En este caso, es el propio apache quien se encarga de registrarlos, así que tenemos la mitad del trabajo hecho.

Primero creamos el jail:

/etc/fail2ban/jail.local

[apache-phpmyadmin]
enabled = true
filter   = apache-phpmyadmin
port = http,https
logpath  = /var/log/apache*/*error.log
action = iptables-multiport[name=apache-phpmyadmin, port="http,https", protocol=tcp]
maxretry = 3
bantime = 84600

Ahora crearemos el filtro en filter.d:

/etc/fail2ban/filter.d/apache-phpmyadmin.conf

# Fail2Ban configuration file
#
# Author: Hackeando el Genoma
#
# $Revision$
#
[INCLUDES]
 
# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf
 
[Definition]
docroot = /var/www # Aquí el docroot de apache
badadmin = PMA|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadmin2
 
failregex = [[]client <HOST>[]] File does not exist: %(docroot)s/(?:%(badadmin)s)
 
ignoreregex =

Tip: Antes de reiniciar y/o activar fail2ban con la nueva regla, podemos comprobar que el filtro funciona con el siguiente comando:

$ fail2ban-regex /var/log/apache2/error.log  /etc/fail2ban/filter.d/phpmyadmin.conf

Una vez reiniciado fail2ban comenzará a bloquear las ips que intenten acceder 3 veces a alguno de los directorios indicados en la variable badadmin (que de hecho no existen en tu instalación)

$ service fail2ban restart