Mail: TLS-Handshakefehler

  • Hallo,


    wir haben seit heute das Problem, dass Mails nicht verschickt werden können, wenn sie SSL (Port: 465) verwenden, im Client erscheint dann folgende Meldung:

    Zitat

    TLS-Handshakefehler. Eine vorhandene Verbindung wurde vom Remotehost geschlossen

    nach ein Neustart aller Mail-Dienste, funktioniert es dann wieder eine Weile, bis der Fehler erneut auftritt …

    In der mail.log kann ich dazu nichts finden, wie kann ich dem Problem her werden?


    Mails, die per StartTLS (Port: 25) versendet werden, können ohne Probleme versendet werden.


    mfg

    Twilo

  • Gleiches Problem hier, erst nur auf einem Server, nun auf einem zweiten. Allerdings kann ich in den Logfiles nichts relevantes finden; der Client stellt erst gar keine Verbindung her. Beide Server laufen auf CentOS release 6.9 (Final) mit der aktuellen SE.

  • nach ein Neustart aller Mail-Dienste, funktioniert es dann wieder eine Weile, bis der Fehler erneut auftritt …

    Wenn das Problem Auftritt am besten Mal mit

    Shell-Script
    1. lsof -n -i:465

    die Anzahl der Verbindungen prüfen. Es kann sein, dass durch Brute-Force-Attacken viele Verbindungen offen sind/bleiben und das Verbindungslimit erreicht wird. Dies ist auch oft trotz fail2ban Sperrung noch so.


    Wenn das Problem "irgendwann" von alleine verschwindet, wurden vermutlich die Verbindungen endlich geschlossen.

    Ein Neustart des Dienstes bewirkt auch dass die Verbindungen geschlossen werden.


    Leider bietet CourierTLS keine Möglichkeit den Timeout zu konfigurieren.

  • Ein heißer Kandidat wäre hier vielleicht die Datei /service/qmail-smtpSd/run ?


    Diese liest anscheinend das Limit aus der Datei /var/qmail/control/concurrencyincoming in die Variable MAXSMTPD. Ich würde diese mal testweise durch einen händischen, höheren Wert ersetzen.

  • MAXSMTPD? :/


    ist mein File nicht up2date? :/


    mfg

    Twilo

  • Also bei meinen steht "softlimit" auf "128000000".


    Außerdem steht oben vor Deiner Zeile 5:


    QMAILDUID=`id -u qmaild`

    NOFILESGID=`id -g qmaild`

    MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`

    HOSTNAME=`hostname --fqdn`

    if [ ! -f /usr/local/pd-admin2/share/pop3d.pem -a ! -L /usr/local/pd-admin2/share/pop3d.pem ]; then

    ln -s imapd.pem /usr/local/pd-admin2/share/pop3d.pem

    fi

  • Möglicherweise vermischen sich hier auch zwei Probleme:


    Twilo : Der Handshake Fehler könnte durch ein zu geringes Speicherlimit kommen. Wenn ich das richtig sehe sind nur 99MB konfiguriert. Bei mir sind es wie bei Eisenherz auch 128MB.

    Sieht man ggf. Speicherfehler in /var/log/messages (CentOS, bei Debian war das glaub ich anders)


    Die Meldungen

    Code
    1. Sorry,_message_has_wrong_owner._(#4.3.5)/
    2. Sorry,_I_wasn't_able_to_establish_an_SMTP_connection._(#4.4.1)/

    haben aus meiner Sicht nichts mit qmail-smtpSd zu tun, sondern sind normale Meldungen von qmail-smtpd. Letzte Meldung kann z.b. kommen wenn der empfangene Server selber keine Verbindungen mehr zulässt.


    Der Timeout bei cfraatz kann durch erreichen des Verbindungslimits kommen. CourierTLS bietet kein Timeout für Verbindungen an. Bei Brute-Force-Attacken kommt der Dienst schnell an das Verbindungslimit. Trotz Sperrung per iptables/fail2ban bleiben Verbindungen dann lange Zeit offen. Dies konnte ich zumindest schon auf ein paar Servern beobachten.

  • Inzwischen habe ich das Phänomen auf allen unseren Servern (alle unter CentOS).


    Wenn ich das oben gelistete /service/qmail-smtpd/run Skript einstelle, liegt der Port 25 flach, d.h. es werden keine ankommenden Mails mehr vom Server angenommen...

  • Wir haben das auch auf allen unseren Server.

    Wir gehen jetzt erstmal dazu über mit netstat -n | grep ":465" die IP-Adressen die Massenhaft den Port blockieren per iptables zu sperren. Aktuell sind das immer welche von DigitalOcean in USA

  • Und am besten auch gleich Einträge bei abuseipdb.com und blocklist.de hinzufügen ;)


    cfraatz Wieso musste das run Skript bei /service/qmail-smtpd aktualisiert werden? Gab es vorher damit Probleme?


    Twilo trat das Problem mit dem Handshake Fehler noch einmal auf seit dem Anpassen des softlimits? Wenn nicht würde ich vorschlagen, dass der Thread hier als erledigt markiert wird. Für weitere Probleme sollten neue Threads geöffnet werden.


    Wegen den Digital Ocean IPs kann man ja ein Sammelthread öffnen und sich so zwecks Blockierung austauschen.