![fail2ban PostgreSQL-Filter funktioniert nicht](https://rvso.com/image/756801/fail2ban%20PostgreSQL-Filter%20funktioniert%20nicht.png)
Ich verwende diesen Filter für PostgreSQL:
[Definition]
failregex = ^<HOST>.+FATAL: password authentication failed for user.+$
^<HOST>.+FATAL: no pg_hba.conf entry for host .+$
ignoreregex = duration:#
In meiner Jail-Datei habe ich die Fowlling-Konfiguration:
[postgresql]
enabled = true
port = 5432
protocol = tcp
filter = custom-postgresql
logpath = /var/log/postgresql/postgresql-12-main.log
maxretry = 3
In meiner postgresql.conf ändere ich die Protokollinformationen:
log_line_prefix = '%h %m [%p] %q%u@%d '
Aber wenn ich versuche, es mit Failban zu testen, erhalte ich diese Fehler:
root@server:/etc/fail2ban# fail2ban-regex /etc/fail2ban/filter.d/custom-postgresql.conf /var/log/postgresql/postgresql-12-main.log
Running tests
=============
Use failregex file : /var/log/postgresql/postgresql-12-main.log
Wrong config file: File contains no section headers.
file: '/var/log/postgresql/postgresql-12-main.log', line: 1
'2020-08-30 01:19:48.411 CEST [28837] [unknown]@[unknown] FATAL: unsupported frontend protocol 0.0: server supports 2.0 to 3.0\n'
ERROR: failed to load filter /var/log/postgresql/postgresql-12-main.log
Was ist hier mein Fehler? Was habe ich übersehen?
Könnte es ein Fehler von PostgreSQL sein? In den Protokollen sehe ich Folgendes:
2020-08-30 01:19:48.411 CEST [28837] [unknown]@[unknown] FATAL: unsupported frontend protocol 0.0: server supports 2.0 to 3.0
2020-08-30 01:19:48.619 CEST [28838] [unknown]@[unknown] FATAL: unsupported frontend protocol 255.255: server supports 2.0 to 3.0
2020-08-30 01:19:48.828 CEST [28839] [unknown]@[unknown] FATAL: no PostgreSQL user name specified in startup packet
2020-08-30 02:20:12.462 CEST [29766] [unknown]@[unknown] FATAL: unsupported frontend protocol 65363.19778: server supports 2.0 to 3.0
2020-08-30 03:16:01.172 CEST [31372] [unknown]@[unknown] LOG: invalid length of startup packet
2020-08-30 03:16:01.189 CEST [31373] [unknown]@[unknown] LOG: invalid length of startup packet
2020-08-30 03:16:01.205 CEST [31374] [unknown]@[unknown] FATAL: unsupported frontend protocol 65363.19778: server supports 2.0 to 3.0
Antwort1
Sie geben die Parameter in der falschen Reihenfolge an.
Aus man fail2ban-regex
:
fail2ban-regex [OPTIONS] <LOG> <REGEX> [IGNOREREGEX]
Sie müssen zuerst die Protokolldatei und dann die Konfigurationsdatei bereitstellen, Sie machen es umgekehrt.
Antwort2
[Definition]
failregex = ^<HOST>.*FATAL:\s\spassword authentication failed for user
^<HOST>.*FATAL:\s\sno pg_hba.conf entry for host
ignoreregex =