Mailcow - Zertifikate - blocked IMAP/POP-Ports?

  • Hallo zusammen,


    --- Ich sehe grade, dass ich meinen Beitrag eigentlich im IMAP/POP Bereich einordnen hätte sollen. Kann ein Mod vielleicht dahin verschieben? ---


    ich bewege mich zurzeit auf einem Root Server (RS Ostern 22 S) mit Debian 11.

    Darauf habe ich vor ein paar Tagen Docker und Docker Compose zusammen mit Traefik und der Mailkuh eingerichtet.


    Die Geschichte mit der Mailkuh ist nur ein Spielball, da läuft nichts produktiv. Mein Hauptmail-Anbieter ist Mailbox.org.

    Die Einrichtung des Servers hab ich jetzt nach mehreren Versuchen hinbekommen, auch mit Traefik.


    Versenden und Empfangen über die Weboberfläche und über iPhone, iPad, Macbook funktionieren auch. Laut den Clients wird eine SSL-Verbindung erfordert. Da ich hier keine Fehlermeldungen bekomme, scheint das wohl auch verschlüsselt zu funktionieren. (?) Vergleiche ich den Mailheader von anderen Mails, sehe ich hier keinen Unterschied. Für die Verschlüsselung wird wohl TLS v1.3 verwendet...


    Mich irritiert aber folgendes:

    Schicke ich von Mailbox.org eine E-Mail an irgendeinen E-Mail-Provider, dann erscheint rechts neben der Mailadresse ein grünes "SSL ok" oder "DANE".

    Testweise habe ich zuhause auf der Synology noch den MailPlus-Server am laufen. Selbst wenn ich dorthin eine Mail sende, erscheint bei der Empfängeradresse ein grünes "SSL ok".

    Gebe ich allerdings eine Adresse meiner Mailkuh an, wird lediglich graues "? SSL" angezeigt.

    Versuche ich das Mailkonto bei der Kuh z. B. in Spark Mail einzurichten, bekomme ich auch eine Meldung, dass eine SSL-Verbindung nicht hergesetllt werden kann. Ohne SSL kann das Konto dann auch in Spark normal nutzen.


    Daraufhin hab ich versucht, die Zertifkate zu prüfen.

    Bei diversen Portalen wird für meinen Host mail.meinedomain.de alles grün, 10/10 Punkte, A+ oder sonstiges positives angezeigt.


    Ich habe dann mal mit openssl die Ports 25, 143, 465, 587, 993, 995 und 4190 getestet.

    Während ausschließlich beim Port 465 ein für mich vernünftig aussehendes Ergebnis rauskommt, scheint die Verbindung über die Ports 25 und 587 zwar zu funktionieren, aber da wird wohl das Zertifikat nicht erkannt? Für die Ports 993 und 995 scheint nicht mal die Verbindung zu funktionieren...


    Ports 143, 993, 995, 4190:

    Code
    myServer# openssl s_client -showcerts -connect mail.meinedomain.de:993 -servername mail.meinedomain.de
    140297023448384:error:0200206F:system library:connect:Connection refused:../crypto/bio/b_sock2.c:110:
    140297023448384:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
    140297023448384:error:0200206F:system library:connect:Connection refused:../crypto/bio/b_sock2.c:110:
    140297023448384:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
    connect:errno=111


    Ports 25 und 587:


    Port 465




    Die Meldung system library:connect:Connection refused:, die ich bei der Abfrage der Ports 143, 993, 995 und 4190 erhalte, scheint wohl auf nicht geöffnete Ports zurückzuführen zu sein.


    Also das ganze mit netcat geprüft.

    Code
    myServer# nc -z -v 46.38.255.51 1-65000
    myRootServer [myIP] 46404 (?) open
    myRootServer [myIP] 45610 (?) open
    myRootServer [myIP] 37052 (?) open
    myRootServer [myIP] 20520 (?) open
    myRootServer [myIP] 587 (submission) open
    myRootServer [myIP] 465 (submissions) open
    myRootServer [myIP] 443 (https) open
    myRootServer [myIP] 80 (http) open
    myRootServer [myIP] 25 (smtp) open


    Hier sollen also nur die für den Mailserver relevanten Ports 25, 465 und 587 offen sein?

    Ich habe die "uncomplicated firewall" installiert. Dort sind jedoch alle Ports freigegeben:



    Was ich jetzt nicht verstehe:

    • Wieso sind die Ports 143, 993, 995 und 4190 laut netcat nicht geöffnet, obwohl in der Firewall das ganze mit allow eingerichtet ist? (ufw disable && ufw enable hab ich ausgeführt, damit die Regeln übernommen werden)
    • Wenn die Überprüfung mit openssl für Port 465 ein gültiges Zertifikat ausspuckt, warum dann nicht auch bei der Prüfung der Ports 25 und 587, wo ja wohl einscheinend eine Verbindung mit dem Server zustande kommt?
    • Wie kann ich die restlichen Ports (143, 993, 995, 4190), die angeblich laut netcat geschlossen sind, öffnen, damit die Überprüfung mit openssl auch eine Verbindung zum Server herstellen kann?



    Danke schon mal für eure Mühen und eure Hilfe!

    Michel.

  • Wie sieht denn deine docker-compose.yml und mailcow.conf aus?


    Wenn die Überprüfung mit openssl für Port 465 ein gültiges Zertifikat ausspuckt, warum dann nicht auch bei der Prüfung der Ports 25 und 587, wo ja wohl einscheinend eine Verbindung mit dem Server zustande kommt?

    Port 465 ist ein SSL Port. Ports 25 und 587 sind unverschlüsselte Ports, die mit StartTLS während der Verbindung aufgewertet werden.

    Dafür brauchst du dann den Parameter starttls beim openssl s_client.


    Möchtest du IMAP oder POP3 nutzen - oder beides?

    IdR bietet es sich an, nur mit IMAP zu fahren.