fail2ban dovecot

Diskussionen zur Bedienung von KeyHelp.
Post Reply
otto58
Posts: 145
Joined: Thu 29. Jul 2021, 13:20

fail2ban dovecot

Post by otto58 »

Hallo,
als Laie kann ich nicht erkennen, dass fail2ban hinsichtlich dovecot irgendetwas unternimmt. Ist der Filter nicht aktiv?
Es geht mir um dauerhafte Zugriffe von verschiedenen IPs. Hier der log hinsichtlich einer Beispiel-IP (Ein Postfach git es nur für "sales").

Code: Select all

2026-04-08 09:27:30 	dovecot 	imap-login: Login aborted: Connection closed (auth failed, 1 attempts in 2 secs) (auth_failed): user=<support@mein_server.de>, method=PLAIN, rip=114.115.138.189, lip=11.22.33.44, TLS, session=
2026-04-08 09:06:48 	dovecot 	imap-login: Login aborted: Connection closed (auth failed, 1 attempts in 2 secs) (auth_failed): user=<sales@mein_server.de>, method=PLAIN, rip=114.115.138.189, lip=11.22.33.44, TLS, session=<8kzviu1OBtNyc4q9>
2026-04-08 08:45:51 	dovecot 	imap-login: Login aborted: Connection closed (auth failed, 1 attempts in 2 secs) (auth_failed): user=<contact@mein_server.de>, method=PLAIN, rip=114.115.138.189, lip=11.22.33.44, TLS, session=
2026-04-08 08:25:03 	dovecot 	imap-login: Login aborted: Connection closed (auth failed, 1 attempts in 2 secs) (auth_failed): user=<webmaster@mein_server.de>, method=PLAIN, rip=114.115.138.189, lip=11.22.33.44, TLS, session=
2026-04-08 08:04:28 	dovecot 	imap-login: Login aborted: Connection closed (auth failed, 1 attempts in 2 secs) (auth_failed): user=<postmaster@mein_server.de>, method=PLAIN, rip=114.115.138.189, lip=11.22.33.44, TLS, session=
2026-04-08 07:43:47 	dovecot 	imap-login: Login aborted: Connection closed (auth failed, 1 attempts in 2 secs) (auth_failed): user=<support@mein_server.de>, method=PLAIN, rip=114.115.138.189, lip=11.22.33.44, TLS, session=
2026-04-08 07:23:09 	dovecot 	imap-login: Login aborted: Connection closed (auth failed, 1 attempts in 2 secs) (auth_failed): user=<hr@mein_server.de>, method=PLAIN, rip=114.115.138.189, lip=11.22.33.44, TLS, session=
2026-04-08 07:02:21 	dovecot 	imap-login: Login aborted: Connection closed (auth failed, 1 attempts in 2 secs) (auth_failed): user=<postmaster@mein_server.de>, method=PLAIN, rip=114.115.138.189, lip=11.22.33.44, TLS, session=
Die Zeiten habe ich etwas erhöht aber ich sehe trotzdem keine Aktionen in /var/log/fail2ban.log

Code: Select all

2026-04-08 09:38:23,317 fail2ban.jail           [1624288]: INFO    Creating new jail 'kh-dovecot'
2026-04-08 09:38:23,317 fail2ban.jail           [1624288]: INFO    Jail 'kh-dovecot' uses systemd {}
2026-04-08 09:38:23,317 fail2ban.jail           [1624288]: INFO    Initiated 'systemd' backend
2026-04-08 09:38:23,320 fail2ban.datedetector   [1624288]: INFO      date pattern `''`: `{^LN-BEG}TAI64N`
2026-04-08 09:38:23,320 fail2ban.filtersystemd  [1624288]: INFO    [kh-dovecot] Added journal match for: '_SYSTEMD_UNIT=dovecot.service'
2026-04-08 09:38:23,320 fail2ban.filter         [1624288]: INFO      maxRetry: 4
2026-04-08 09:38:23,321 fail2ban.filter         [1624288]: INFO      findtime: 7200
2026-04-08 09:38:23,321 fail2ban.actions        [1624288]: INFO      banTime: 604800
2026-04-08 09:38:23,321 fail2ban.filter         [1624288]: INFO      encoding: UTF-8
Sonst ist alles default (Debian 13, Keyhelp 26.0).
Wie bekomme ich das aktiviert?

Gruß Otto
otto58
Posts: 145
Joined: Thu 29. Jul 2021, 13:20

Re: fail2ban dovecot

Post by otto58 »

Für einen kurzen Tipp wäre ich dankbar.
User avatar
Alexander
Keyweb AG
Posts: 4827
Joined: Wed 20. Jan 2016, 02:23

Re: fail2ban dovecot

Post by Alexander »

Hallo,

die Logs im ersten Code-Block passen nicht zu den Zeiten im zweiten Code-Block um diese Frage zu beantworten. Laut Code-Block #2 macht es den anschein, das es aktiv ist. Ob er bei dir wirklich bei entsprechenden Zeilen im Mail-Log auch greift, geht aus dem geposteten nicht hervor.

Du müsstest also im Fail2Ban-Log schauen, was zur entsprechenden Zeit (siehe erster Code-Block) dort protokolliert wurde.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
tab-kh
Posts: 682
Joined: Thu 22. Apr 2021, 23:06

Re: fail2ban dovecot

Post by tab-kh »

Falls es - wie ich erwarten würde - nicht greift. Versuche es mal mit mode=aggressive und dieser neueren dovecot.conf
https://github.com/fail2ban/fail2ban/bl ... vecot.conf
otto58
Posts: 145
Joined: Thu 29. Jul 2021, 13:20

Re: fail2ban dovecot

Post by otto58 »

Vielen Dank, ja genau im log ist nichts drin.

Code: Select all

root@key:~# cat /var/log/fail2ban.log  | grep -E 'rollover|dovecot'
2026-04-12 00:57:32,967 fail2ban.server         [1051]: INFO    rollover performed on /var/log/fail2ban.log
root@key:~#
Ich glaube aggressive schon aktiv zu haben: Die /etc/fail2ban/filter.d/dovecot.conf ist wie folgt geändert:

Code: Select all

#ALT
#mode = normal
#MEIN
mode = aggressive
und in der /etc/fail2ban/jail.d/keyhelp.conf ist das "mode=aggressive" beim Filter eingefügt:

Code: Select all

[kh-dovecot]
enabled  = true
port     = pop3,pop3s,imap,imaps,submission,submissions,sieve
#filter   = dovecot
filter = dovecot[mode=aggressive]
backend  = systemd
maxretry = 4
Sind das die richtigen Stellen und ausreichend und sind eigentlich beide Änderungen erforderlich oder reicht eine?

Ich würde ja gern mal ganz primitiv anfangen: https://doc.dovecot.org/2.3/configurati ... /fail2ban/
Eine dovecot-pop3imap.conf erzeugen und das was unter [dovecot-pop3imap] steht, ersetzt das, was in der keyhelp.conf unter [kh-dovecot] steht.
Geht das?

Gruß Otto
tab-kh
Posts: 682
Joined: Thu 22. Apr 2021, 23:06

Re: fail2ban dovecot

Post by tab-kh »

Also in den Filter würde ich das mode=aggressive nicht reinschreiben. Mag funktionieren- nie so probiert - aber ist jedenfalls nicht updatesicher und auch nicht besser als es beim Jail mit anzugeben. Die von mir verlinkte dovecot.conf kommt direkt vom Original und ist einfach eine neue, verbesserte Version des Filters, das mit fail2ban bei einer Neuinstallation von fail2ban auf Debian 13 mitkommt. postfix.conf gibt es auch neuer und definitiv besser. Ich hatte monatelang kaum was gebannt mit den alten Filtern. Ist mir erst aufgefallen, als ich das recidive Jail rausgenommen hatte. Davor hatte ich viele gebannte IPs, aber alles nur vom ssh-Jail. Mit recidive fällt es nicht auf. "Viele gebannte IPs, also funktioniert es wohl." War aber nicht so.

Nach dem Ersetzen durch die neueren Filter ging es dann wesentlich besser. Natürlich ist sshd immer noch der Löwenanteil, aber solche Logzeilen wie bei dir findet der Filter jedenfalls. Kann man ja auch mit fail2ban-regex testen, was gefunden wird. Eventuell auch noch maxretry runtersetzen.

Ob die von dir verlinkte Variante gut funktioniert - oder überhaupt - weiss ich nicht. Scheint sich auf eine etwas ältere Dovecot-Version zu beziehen. Du kannst das Jail ja in die keyhelp.conf mit reinschreiben. Oder, besser, in eine eigene, zusätzliche otto58.conf (oder was auch immer am besten passt). Die keyhelp.conf wird von Keyhelp-Updates eventuell überschrieben.
otto58
Posts: 145
Joined: Thu 29. Jul 2021, 13:20

Re: fail2ban dovecot

Post by otto58 »

Nochmals Danke, KH läuft bei mir auf einem neu installierten Debian 13, so dass meine dovecot.conf wohl schon die "neue" ist.
Diese dovecot.conf enthält als Kommentar den Hinweis auf den Filter "mode=aggressive". Wie die Autoren das meinen, verstehe ich ja nicht.

Code: Select all

# Parameter `mode` - `normal` or `aggressive`.
# Aggressive mode can be used to match log-entries like:
#   'no auth attempts', 'disconnected before auth was ready', 'client didn't finish SASL auth'.
# Note it may produce lots of false positives on misconfigured MTAs.
# Ex.:
# filter = dovecot[mode=aggressive]
mode = normal
Wie kann man erkennen, dass das ein/kein Muss ist?
tab-kh
Posts: 682
Joined: Thu 22. Apr 2021, 23:06

Re: fail2ban dovecot

Post by tab-kh »

otto58 wrote: Tue 14. Apr 2026, 20:18 Nochmals Danke, KH läuft bei mir auf einem neu installierten Debian 13, so dass meine dovecot.conf wohl schon die "neue" ist.
Diese dovecot.conf enthält als Kommentar den Hinweis auf den Filter "mode=aggressive". Wie die Autoren das meinen, verstehe ich ja nicht.

Code: Select all

# Parameter `mode` - `normal` or `aggressive`.
# Aggressive mode can be used to match log-entries like:
#   'no auth attempts', 'disconnected before auth was ready', 'client didn't finish SASL auth'.
# Note it may produce lots of false positives on misconfigured MTAs.
# Ex.:
# filter = dovecot[mode=aggressive]
mode = normal
Wie kann man erkennen, dass das ein/kein Muss ist?
Auch auf einem neu installierten Debian 13 ist nicht zwingend die neueste Version der Filter drauf. Also mein zuletzt aufgesetzter Keyhelp-Server mit Debian 13 hatte sie nicht, sondern eine Version aus 2024. Den Server habe ich im Dezember 2025 aufgesetzt.
Der Hinweis ist ein Beispiel zur Verwendung des Filters und so zu verstehen, dass du durch diese Zeile, eingefügt in einer Jail-Definition (in keyhelp.conf, otto58.conf :D oder wo auch immer) für dieses Jail den dovecot-Filter mit mode aggressive einstellst.
Post Reply