networkuser
Goto Top

Plesk 12 + Postfix und Dovecot - Mailempfang und Versand funktioniert nur sporadisch

Hallo Community,
ich melde mich bei euch mit einem Problem bzgl. E-Mailempfang und -versand. Ich habe leider keine passenden Lösungen hier im Forum oder via Google finden können.
Ich hoffe hier kann mir geholfen werden. Leider google ich schon seit Stunden ohne der Lösung auch nur näher zu kommen. face-sad
Ich hoffe ich poste es in der richtigen Kategorie. Falls nicht -> Sorry! Bitte verschieben. Danke! face-smile

Folgendes Problem habe ich:
Ich betreibe einen vServer (Ubuntu 14) inkl. Plesk 12. Auf diesem sind Postfix und Dovecot installiert. Ich nutzte insg. die Standardkonfiguration der Dienste mit Anpassungen für SSL und eigenem Zertifikat. (Von einer offiziellen CA.)
Postfix scheint soweit ohne Probleme seinen Dienst zu tuen.
Jedoch bereitet mir Dovecot Magenschmerzen. ... Sporadisch funktioniert alles. Aber in aller Regel sagt mir mein Mailclient (Mail.app Max OSX) das er keine Verbindung zum IMAP Server herstellen konnte. Wenn ich mir die letzten Zeilen des mail.log ansehe, erhalte ich folgendes:

Jul 23 15:37:44 xXXXXXXX dovecot: imap-login: Login: user=<user@domain.de>, method=DIGEST-MD5, rip=91.34.XXX.XXX, lip=85.XXX.XXX.XXX, mpid=28028, TLS, session=<1GgC/oob/gBbIvPj>
Jul 23 15:37:46 xXXXXXXX dovecot: imap-login: Aborted login (auth failed, 1 attempts in 2 secs): user=<>, method=DIGEST-MD5, rip=91.34.XXX.XXX, lip=85.XX.XXX.XXX, TLS, session=<DRwC/oobYgBbIvPj>
Jul 23 15:37:49 xXXXXXXX dovecot: imap-login: Login: user=<user@domain.de>, method=DIGEST-MD5, rip=91.34.XXX.XXX, lip=85.XXX.XXX.XXX, mpid=28031, TLS, session=<rjoJ/oob7wBbIvPj>
Jul 23 15:37:49 xXXXXXXX dovecot: imap-login: Login: user=<user@domain.de>, method=DIGEST-MD5, rip=91.34.XXX.XXX, lip=85.XXX.XXX.XXX, mpid=28033, TLS, session=<LtFO/oobIwBbIvPj>
Jul 23 15:37:50 xXXXXXXX dovecot: imap-login: Login: user=<user@domain2.de>, method=DIGEST-MD5, rip=91.34.XXX.XXX, lip=85.XXX.XXX.XXX, mpid=28034, TLS, session=<jasg/oob/gBbIvPj>
Jul 23 15:37:53 xXXXXXXX dovecot: imap-login: Aborted login (auth failed, 1 attempts in 2 secs): user=<>, method=DIGEST-MD5, rip=91.34.XXX.XXX, lip=85.XXX.XXX.XXX, TLS, session=<CUhl/oobHABbIvPj>
Jul 23 15:37:57 xXXXXXXX dovecot: imap-login: Login: user=<user@domain2.de>, method=DIGEST-MD5, rip=91.34.XXX.XXX, lip=85.XXX.XXX.XXX, mpid=28037, TLS, session=<N9WK/oobYgBbIvPj>
Jul 23 15:37:57 xXXXXXXX dovecot: service=imap, user=user@domain2.de, ip=[91.34.XXX.XXX]. Connection closed rcvd=144, sent=461
Jul 23 15:37:58 xXXXXXXX dovecot: imap-login: Login: user=<user@domain2.de>, method=DIGEST-MD5, rip=91.34.XXX.XXX, lip=85.XXX.XXX.XXX, mpid=28040, TLS, session=<elrT/oob3gBbIvPj>
Jul 23 15:38:00 xXXXXXXX dovecot: imap-login: Aborted login (auth failed, 1 attempts in 2 secs): user=<>, method=DIGEST-MD5, rip=91.34.XXX.XXX, lip=85.XXX.XXX.XXX, TLS, session=<rRnT/oobtwBbIvPj>

Daraus ersehe ich, dass der LogIn ab und an klappt (Was sich auch mit dem Verhalten des Mailclients deckt) jedoch die häufigere Zeit klappt es eben nicht. Hat jemand eine Idee woran es liegen könnte?
Ich habe vermutet, dass die max. Anzahl an gleichzeitigen Verbindungen von einer IP aus das Problem sind und diese auf 100 erhöht. Es bringt jedoch leider keine Besserung.

Ich hoffe jemand hat eine Lösung oder zumindest einen Tipp für mich. Das wäre wirklich klasse! face-smile

Vielen Dank im Voraus!

Mit freundlichen Grüßen
NetworkUser

ERGÄNZUNG:
Gestern funktionierte es noch ohne Probleme. Zumindest ist mir nichts aufgefallen. Das bestätigt auch die Reaktion von fail2ban. (Ich nutze dies um IPs automatisiert zu blocken.) Seit heute wird meine IP durch fail2ban ebenfalls geblockt. Fail2Ban funktioniert auf jeden Fall *lach* Das seltsame... ich habe NICHTS an den Konfigurationen geändert!
Nochmal Danke ;)

Content-ID: 278162

Url: https://administrator.de/forum/plesk-12-postfix-und-dovecot-mailempfang-und-versand-funktioniert-nur-sporadisch-278162.html

Ausgedruckt am: 23.12.2024 um 19:12 Uhr

Gentooist
Gentooist 23.07.2015 um 21:10:31 Uhr
Goto Top
Ist das SSL-Zertifikat abgelaufen?
NetworkUser
NetworkUser 23.07.2015 um 21:16:55 Uhr
Goto Top
Hallo,
nein das SSL Zertifikat ist gerade ein paar Tage alt. Also noch ganz neu. ;)

LG
NetworkUser
Gentooist
Gentooist 23.07.2015 aktualisiert um 21:31:45 Uhr
Goto Top
Welche OS X Version ist das? Die Mail.App von Apple hat seit Jahren einen denkbar schlechten Ruf, mit anderen Worten: sie ist Schrott und voller Fehler und es wird und wird nicht besser. Wenn möglich, sollte man sie zum Schonen der Nerven durch ein anderes Mailprogramm entsorgen.
NetworkUser
NetworkUser 24.07.2015 um 06:36:38 Uhr
Goto Top
Hey,
ich nutze zur Zeit OS X Yosemite Version 10.10.3. Ein Wechsel kommt leider nicht in Betracht, da nicht nur ich den Server nutzen soll.
So... den ganzen Abend hat die Verbindung wunderbar funktioniert und Mailempfang und -versand ebenfalls. (Hatte den Server einmal neu gestartet um sicherzugehen, dass alle Dienste mit den aktuellen Konfigfiles laufen.)
Heute morgen (Jetzt gerade... ca. 7h später ohne Änderungen) funktioniert es wieder nicht.

So langsam bin ich wirklich am verzweifeln. :/
Ich würde ja verstehen wenn es gar nicht gehen würde... aber so? Hmm....

Vielen Dank für Hilfe und Unterstützung!

Liebe Grüße
NetworkUser
NetworkUser
NetworkUser 26.07.2015 um 12:52:20 Uhr
Goto Top
Keiner eine Idee? Ich bin so langsam wirklich am verzweifeln face-sad ... Es lief nun einen Tag ohne Probleme. Ohne das ich etwas geändert habe. ... Und jetzt hab ich wieder Verbindungsprobleme. Abermals ohne Änderungen. :/ Was mache ich jetzt? face-sad
Danke für Antworten!

LG
NetworkUser
Gentooist
Gentooist 26.07.2015 um 13:00:15 Uhr
Goto Top
Keiner eine Idee? Ich bin so langsam wirklich am verzweifeln face-sad ... Es lief nun einen Tag ohne Probleme. Ohne das ich etwas
geändert habe. ... Und jetzt hab ich wieder Verbindungsprobleme. Abermals ohne Änderungen. :/ Was mache ich jetzt? face-sad
Danke für Antworten!

Lass doch mal eine Sitzung unverschlüsselt laufen, schalte einen Wireshark ein und dir danach an, was genau auf Protokollebene gelaufen ist. Das ist dann oft sehr erhellend.
NetworkUser
NetworkUser 26.07.2015 um 16:02:43 Uhr
Goto Top
Hey, danke für den Tipp, es ist aber nicht mehr nötig.
Ich bin der Lösung einen großen Schritt näher gekommen. Fail2Ban ist "schuld"!
Ich hatte ganz zu beginn fail2ban installiert und die Standardkonfiguration belassen. Nach einiger Nutzungszeit blockt fail2ban meine IP für IMAP, da fehlerhafte LogIns und/oder Disconnects in den Logs verzeichnet werden.
So.. nun weiß ich was das Problem ist. Ich habe jedoch noch keine Lösung dafür.

Meine Konfig. Files von fail2ban schauen so aus:

/etc/fail2ban/filter.d/plesk-dovecot.conf
# Fail2Ban filter Dovecot authentication and pop3/imap server
# 
# based on filter dovecot.conf from fail2ban-0.8.13

[INCLUDES]

before = common.conf

[Definition]

_daemon = (auth|dovecot(-auth)?|auth-worker)

failregex = ^%(__prefix_line)s(pam_unix(\(dovecot:auth\))?:)?\s+authentication failure; logname=\S* uid=\S* euid=\S* tty=dovecot ruser=\S* rhost=<HOST>(\s+user=\S*)?\s*$
            ^%(__prefix_line)s(pop3|imap|managesieve)-login: (Info: )?(Aborted login|Disconnected)(: Inactivity|: Too many invalid commands\.)? \(((auth failed, \d+ attempts)( in \d+ secs)?|tried to use (disabled|disallowed) \S+ auth)\):( user=<\S*>,)?( method=\S+,)? rip=<HOST>(, lip=(\d{1,3}\.){3}\d{1,3})?(, TLS( handshaking(: SSL_accept\(\) failed: error:[\dA-F]+:SSL routines:[TLS\d]+_GET_CLIENT_HELLO:unknown protocol)?)?(: Disconnected)?)?(, session=<\S+>)?\s*$
            ^%(__prefix_line)s(Info|dovecot: auth\(default\)): pam\(\S+,<HOST>\): pam_authenticate\(\) failed: (User not known to the underlying authentication module: \d+ Time\(s\)|Authentication failure \(password mismatch\?\))\s*$

ignoreregex = 

# DEV Notes:
# * the first regex is essentially a copy of pam-generic.conf
# * Probably doesn't do dovecot sql/ldap backends properly  
# * Removed the 'no auth attempts' log lines from the matches because produces  
#    lots of false positives on misconfigured MTAs making regexp unuseable
#
# Author: Martin Waschbuesch
#         Daniel Black (rewrote with begin and end anchors)

Jail (aus Plesk kopiert):
[plesk-dovecot]
enabled = true
filter = plesk-dovecot
action = iptables-multiport[name="plesk-dovecot", port="imap,imap3,imaps,pop3,pop3s,4190"]  
logpath = /var/log/maillog
maxretry = 5


Im mail.log File taucht folgendes immer wieder auf (Was ich leider nicht nachvollziehen kann, woher es kommt.):
Jul 26 12:31:13 Xxxxxxx dovecot: imap-login: Aborted login (auth failed, 1 attempts in 2 secs): user=<>, method=DIGEST-MD5, rip=87.xxx.xxx.xxx, lip=85.xxx.xxx.xxx, TLS, session=<YhpZvMQbqABXnQQT>

Jul 26 15:45:49 Xxxxxxx dovecot: service=imap, user=user@domain.tld, ip=[87.xxx.xxx.xxx]. Disconnected for inactivity rcvd=505, sent=1184


Soweit ich das verstehe wird durch fail2ban nach "Aborted login" und auch nach "Disconnected (for inactivity??)" gefiltert. Das Problem liegt für mich jetzt darin, dass ich diese "Fehler" beheben muss. (Ist Disconnected for inactivity eig. wirklich ein "Fehler"?) Ich verstehe auch nicht woher die Anfrage des LogIns ohne user kommt.

Ich hoffe ihr könnt mir nochmal helfen.
Vielen Dank schon jetzt!

Liebe Grüße
NetworkUser
Gentooist
Gentooist 26.07.2015 um 17:16:21 Uhr
Goto Top
Fail2Ban ist nicht das Problem, es reagiert nur auf das Problem, nämlich die "aborted logins." Wenn du das Problem beheben willst, dann musst du herausfinden, woher diese kommen und das abstellen und genau dafür gibt es Wireshark.
NetworkUser
NetworkUser 26.07.2015 um 18:13:09 Uhr
Goto Top
Hallo,
okay. Ja ich muss diese Fehler nun beheben. Ich habe mir den Traffic mittels Wireshark anzeigen lassen und mich dort durch gewühlt.
Leider ist es sehr kompliziert und ich kann dort aus dem Log leider nichts relevantes für mich extrahieren.
Leider habe ich noch nie mit Wireshark gearbeitet.

Kannst du mir sagen nach was du schauen würdest? Bzw. wo ich ansetzten kann o. ä.?

Das wäre super hilfreich! ;)

Vielen Dank!

LG
NetworkUser
NetworkUser
NetworkUser 26.07.2015 um 22:27:18 Uhr
Goto Top
So.. nach stundenlangem Suchen bin ich leider keinen Schritt weiter face-sad
Weder in Wireshark kann ich etwas finden geschweige denn in der Konfig. von dovecot. ... Ich glaube mittlerweile auch, dass dovecot richtig konfiguriert ist, da ja insg. der Zugriff funktioniert.
Was mir noch aufgefallen ist: Wenn ich einen neuen E-Mailacc. in Mail anlege, die IMAP Daten eingetragen habe und auf weiter klicke erscheint ganz, ganz, ganz kurz "Es ist ein Fehler aufgetreten" oder sowas. Aber es ist wirklich nur einen Bruchteil einer Sek. zu sehen. Und die Konfig. ist weiter möglich und das Abrufen klappt danach auch.
Ich verstehe einfach nicht warum/woher diese fehlerhaften LogIns und Disconnects kommen. :/ Im Netz finde ich auch absolut nichts was mir weiter hilft. face-sad

Ich hoffe auf eine hilfreiche Idee. face-sad Bin auf jeden Fall für JEDE Hilfe dankbar!

LG
NetworkUser
Gentooist
Gentooist 26.07.2015 um 22:41:34 Uhr
Goto Top
Was passiert denn, wenn du vom Mac aus den Zugriff anstelle von Mail.app mal mit Thunderbird probierst?
NetworkUser
NetworkUser 26.07.2015 um 23:22:07 Uhr
Goto Top
Also so wie ich das sehe funktioniert die Verbindung mit Thunderbird. Konnte bei meinen Tests auch keine fehlerhaften Logins oder Disconnects feststellen. Werde das nochmal zusätzlich über einen längeren Zeitraum testen.
Spricht also dafür, dass die Konfig auf dem Server korrekt ist.
Hmm... hilft dir die Info weiter?

Danke und Gruß!
NetworkUser
Gentooist
Gentooist 27.07.2015 um 09:09:19 Uhr
Goto Top
Es bestärkt mich nur in meiner Vermutung, dass der Fehler in Apples Mail.App zu suchen ist, entweder in der Konfiguration selber oder sie hat einen Fehler. Und was ich von der Qualität dieses Programms halte, das habe ich schon geschrieben - entsorgen!
NetworkUser
NetworkUser 27.07.2015 um 10:52:07 Uhr
Goto Top
Hey,
ich habe nun mehrere Stunden Thunderbird verwendet um zu sehen wie es sich mit den LogFiles verhält.
Die Zeile
...dovecot: imap-login: Aborted login (no auth attempts in 0 secs): user=<>...
tritt nur 3x auf. Und das genau um die Zeit, wo ich eine neue Adresse in Thunderbird eingerichtet habe und nach der Konfig. gesucht wurde. Ich gehe davon aus, dass die Konfiguration durch testen ohne Benutzer erfolgt und deswegen diese Einträge zustande kommen.
Die ganze restliche Zeit sind weder fehlerhafte LogIns noch "Disconnected for inactivity" Einträge zu verzeichnen.
Das spricht auch für mich nun dafür, dass es ein Problem mit der Mail.app im Zusammenspiel mit dovecot ist.
Das Problem ist, dass ich Mail.app nicht einfach entsorgen kann, da weitere Personen den Server mit Ihrem bevorzugten Mailclient nutzen können sollen/müssen.
Hmm... was mache ich nun? Gibt es vielleicht noch andere Admins, welche Dovecot in Kombination mit Mail.app im Einsatz haben und kann dort das Phänomen beobachtet werden? ... Leider finde ich im Netz nichts dazu.

Ich hoffe auf weitere Unterstützung. Ich muss eine Lösung finden. ;)

Danke und Gruß
NetworkUser
Gentooist
Gentooist 27.07.2015 um 11:06:18 Uhr
Goto Top
NetworkUser
NetworkUser 27.07.2015 um 12:04:25 Uhr
Goto Top
Ja,
Mail zeigt alles "grün" ... nur wenn die Verbindung nicht hergestellt werden kann. (Wenn fail2ban schon reagiert hat) Wird ein Fehler angezeigt. Was ja auch logisch ist. ;) ... Hilft mir nur leider in dem Moment auch nicht weiter, da der Fehler schon verursacht wurde bevor die Blockade greift. :/

LG
NetworkUser
NetworkUser 27.07.2015 um 21:42:47 Uhr
Goto Top
So.. nun ist der Tag fast rum.. und das Ergebnis ist -> Thunderbird produziert keine fehlerhaften LogIns oder Disconnects... liegt also wirklich am Zusammenspiel mit Mail.app und dovecot.. jetzt muss ich nur noch die Lösung des Problems finden ;) Das gestaltet sich leider gerade fast unmöglich face-sad

Danke für Hilfe!

LG
NetworkUser
NetworkUser
NetworkUser 30.07.2015 aktualisiert um 00:39:44 Uhr
Goto Top
Hallo,
ich habe nun beschlossen vorerst Fail2Ban so anzupassen, dass er die betreffenden Zeilen bei der Suche auslässt. Dazu habe ich folgenden Filter erstellt.(Zum testen als failregex. Im Livebetrieb wird im passenden Filter ignoreregex verwendet. :
[INCLUDES]
before = common.conf

[Definition]
_daemon = (auth|dovecot(-auth)?|auth-worker)
failregex =     user=<>, rip=<HOST>, lip=xx.xxx.xxx.xxx, TLS, session=
                @domain.tld ip=\[<HOST>]
ignoreregex =

Ich möchte damit erreichen, dass fail2ban alle Einträge in den fehlerhaften LogIns in denen "user=<>" vorkommt und alle "Disconnect for inativity" Einträge in der die Domain vorkommt nicht mehr beachtet. (Ich werde die Liste entsprechend meiner genutzten Domains erweitern.)

Leider funktioniert dieser jedoch nicht. Es wird immer nur der erste Eintrag verarbeitet. Der zweite wird ignoriert. Wie schaffe ich es, dass beide Einträge im Log gefunden / verarbeitet werden?

Vielen Dank für Antworten!

LG
NetworkUser
NetworkUser
NetworkUser 05.08.2015 aktualisiert um 17:09:30 Uhr
Goto Top
Hallo,
ich habe das Problem nun mit folgendem fail2ban-Filter vorerst gelöst:

[INCLUDES]
before = common.conf

[Definition]
_daemon = (auth|dovecot(-auth)?|auth-worker)
failregex = ^%(__prefix_line)s(pam_unix(\(dovecot:auth\))?:)?\s+authentication failure; logname=\S* uid=\S* euid=\S* tty=dovecot ruser=\S* rhost=<HOST>(\s+user=\S*)?\s*$
	^%(__prefix_line)s(pop3|imap|managesieve)-login: (Info: )?(Aborted login|Disconnected)(: Inactivity|: Too many invalid commands\.)? \(((auth failed, \d+ attempts)( in \d+ secs)?|tried to use (disabled|disallowed) \S+ auth)\):( user=<\S*>,)?( method=\S+,)? rip=<HOST>(, lip=(\d{1,3}\.){3}\d{1,3})?(, TLS( handshaking(: SSL_accept\(\) failed: error:[\dA-F]+:SSL routines:[TLS\d]+_GET_CLIENT_HELLO:unknown protocol)?)?(: Disconnected)?)?(, session=<\S+>)?\s*$
	^%(__prefix_line)s(Info|dovecot: auth\(default\)): pam\(\S+,<HOST>\): pam_authenticate\(\) failed: (User not known to the underlying authentication module: \d+ Time\(s\)|Authentication failure \(password mismatch\?\))\s*$
ignoreregex = service=imap, user=.*@domain1.tld, ip=\[<HOST>]. Disconnected for inactivity
	service=imap, user=.*@domain2.tld, ip=\[<HOST>]. Disconnected for inactivity
	imap-login: Aborted login \(no auth attempts in [0-9]?[0-9]?[0-9] secs\): user=<>, rip=<HOST>, lip=xxx.xxx.xxx.xxx, TLS, session=
	imap-login: Aborted login \(auth failed, [0-9] attempts in [0-9]?[0-9] secs\): user=<>, method=DIGEST-MD5, rip=<HOST>, lip=xxx.xxx.xxx.xxx, TLS, session=

Im Endeffekt ist es der Standard plesk-dovecot Filter welchen ich kopiert und durch zusätzliche ignoreregex Einträge ergänzt habe.
Dieser Filter muss dann in der jail.local anstelle des original Filters verwendet werden.

Ergebnis: Kein Aussperren der eigenen IP mehr. face-smile

WICHTIG: Ich gebe keine Garantie und übernehme auch keine Verantwortung für meine Lösung und dieses Skript! Nutzung auf eigene Gefahr!