Ich habe einen Apache 2 am laufen, bei dem ich meine Loggindaten (user:passwort) in einem MySQL-Server habe.
Oha. Die Parteien sind gehalten vollständig und wahrheitsgemäß vorzutragen.
failregex = ^%(_apache_error_client)s user .* (authentication failure|not found|password mismatch)\s*$
[error] [client w.x.y.z] MySQL user not found: /, referer: http://x.y
[error] [client w.x.y.z] user mustermann: passwort mismatch: /, referer: http://x.y
Die erste der Fehlermeldungen matcht nicht.
Schreib also in /etc/fail2ban/filter.d/apache-auth.conf einen zweiten "Regex" dazu:
failregex = ^%(_apache_error_client)s user .* (authentication failure|not found|password mismatch)\s*$
^%(_apache_error_client)s MySQL user not found\s*$
Womöglich geht auch mit:
failregex = ^%(_apache_error_client)s (MySQL |)user.*(authentication failure|not found|password mismatch)\s*$
Testen konnte ich das aber nicht.