Hier schnell eine Anleitung wie man für Mailcow TLS 1.0 und TLS 1.1 für den SMTP und SMTPD Dienst deaktiviert. Mailcow selber beschreibt hier das Sie für POP, IMAP und SMTPS diese Methoden ausgeschaltet haben. Allerdings möchte ich entgegengesetzt auch für SMTP und SMTP diese beiden deaktivieren und nur noch als sicher eingestufte Methoden verwenden.
Hinweis: Mailcow selber sagt es könnte sein, dass nicht alle Mails angenommen werden können wenn die Gegenseite kein TLS1.2 kann.
Mailcow SMTP TLS 1.0 TLS1.1 deaktivieren
Wer sich schon mal 3 Meter mit Mailcow beschäftigt hat, der weis es gibt diverse Konfigurationen für alle Dienste. Wir müssen hier für den Dienst Postfix zusätzliche Einträge hinzufügen. Wer die Standardinstallation von Mailcow durchgeführt hat, bei dem liegen alle Daten in dem Pfad /opt/mailcow-dockerized. Wir bearbeiten nun die Postfix extra.cf Datei. (Grundlegend steht da nur der FQDN drin)
nano /opt/mailcow-dockerized/data/conf/postfix/extra.cf
Folgendes fügen einfach am Ende der Datei hinzu. Wer sich fragt was da passiert.. Es werden lediglich veraltete Methoden deaktiviert wie SSLv2,SSLv3 TLSv1 und TLSv1.1 für das Protokoll SMTP und dem STMP Deamon. Die Verschlüsselung wird ebenfalls voll hochgezogen.
smtp_tls_protocols = !SSLv2, !SSLv3,!TLSv1,!TLSv1.1 smtp_tls_mandatory_protocols = !SSLv2, !SSLv3,!TLSv1,!TLSv1.1 smtpd_tls_protocols = !SSLv2, !SSLv3,!TLSv1,!TLSv1.1 smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3,!TLSv1,!TLSv1.1 lmtp_tls_protocols = !SSLv2, !SSLv3,!TLSv1,!TLSv1.1 lmtp_tls_mandatory_protocols = !SSLv2, !SSLv3,!TLSv1,!TLSv1.1 # SSL/TLS supported ciphers smtp_tls_ciphers = high smtp_tls_mandatory_ciphers = high smtpd_tls_ciphers = high smtpd_tls_mandatory_ciphers = high tls_high_cipherlist = tls_high_cipherlist = ECDHE-ECDSA-AES256-GCM-SHA384:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES256-GCM-SHA384:TLS_AES_256_GCM_SHA384:ECDHE-RSA-CHACHA20-POLY1305:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:TLS_AES_128_GCM_SHA256 smtpd_tls_eecdh_grade = ultra
Danach müssen wir nur noch den Dienst Postfix neustarten und alles ist prima.
docker-compose restart postfix-mailcow
5. Februar 2022 um 18:23 Uhr
Ist das Abgeschnitten oder gehört das so ? (TLS_A>)
tls_high_cipherlist = tls_high_cipherlist = ECDHE-ECDSA-AES256-GCM-SHA384:TLS_A>
6. Februar 2022 um 09:01 Uhr
Das war mein Fehler. Es war abgeschnitten.
8. Februar 2022 um 15:42 Uhr
Vielen Dank
Liebe Grüße
8. Februar 2022 um 10:43 Uhr
Hallo Dennis,
erstmal vielen Dank für deine Tutorials.
Ich verfolge gerade deinen aktuellen Mailserver Beitrag auf Youtube. Ich habe mir bei Hetzner nun einen vServer angemietet und gem. deines Tutorials einen Mailserver mittels mailcow eingerichtet. Nachdem ich nach deinem 5. Teil alle notwendigen Einträge DKIM usw. angelegt habe, dachte ich mir es wäre mal Zeit eine Testmail zu schicken. Hmm, und was soll ich sagen, sie kam nicht an. Der Empfang von Mails funktionierte hingegen. Zunächst dachte ich, ich hätte es etwas falsch eingerichtet. Dem ist aber nicht so: Nach ein wenig Recherche im Netz stellte sich heraus, dass Hetzner die Ports 25 und 465 sperrt. Erst nach Bezahlen der ersten Rechnung und nach Einzelfallentscheidung werden evtl. die Ports freigeschaltet. Eine Garantie gibt es aber wohl nicht.
Ein weiterer Punkt: Ich habe dann mal den Server mehreren Prüfungen unterzogen, u.a. auch Blacklists. Dabei kam heraus, dass die Hetzner Server zum überwiegenden Teil immer irgendwo geblacklistet sind. Führt das im produktiven Betrieb nicht früher oder später zu Problemen? Wie verlässlich arbeitet so ein Mailserver dann? Dass alles oder vieles im Spam bei Gegenüber landet, wäre ja nicht optimal.
Hast du hier Erfahrungen? Haben andere ähnliche Probleme? Kannst du hier vielleicht nochmal darauf eingehen?
Gruß
Christian
PS: Da ich leider hierzu keinen entsprechenden Blogbeitrag zum Youtube Beitrag gefunden habe, füge ich es mal an diesen Beitrag.
8. Februar 2022 um 10:54 Uhr
Ich habe davon auch gestern gehört das Hetzner bei neuen Benutzern Port 25 sperrt. Ich würde es mal wirklich an der Hotline versuchen und die Ports freischalten lassen. Die sind eigentlich sehr kompetent wenn man nachfragt.
Falls deine IP Blacklisted ist, kannst du das auf vielen Internetseiten prüfen lassen. Erstelle dir einen neuen Server check die IP die dir zugewiesen worden ist. Wenn Blacklisted, neuen Server erstellen.
9. Februar 2022 um 17:30 Uhr
Hetzner sperrt die Ports für einen Monat. Erst danach kann das geändert werden. https://docs.hetzner.com/de/cloud/servers/faq/#warum-kann-ich-keine-mails-von-meinem-server-verschicken
2. April 2022 um 03:41 Uhr
Eine Email an den Support und mir wurden die Ports freigeschaltet – ich musste lediglich angeben wie viele Mails versendet werden sollen – und was für welche…
9. Februar 2022 um 22:34 Uhr
Ja die IPs…
Hetzner und OVH sind oft als mittelmäßig eingestuft, was deren Reputation betrifft.
Ich würde Euch empfehlen, eine Floating IP zu bestellen, diese zu checken und ggf. dann auch beim „Umzug“ zu einem neuen VPS mitzunehmen. Denn eine normale IPv4 und IPv6 wäre mit der Löschung des Servers weg, und damit die aufgebaute Reputation.
Checken: https://www.sendx.io/resources/ip-reputation-checker
Das Alter der Domaine spiele teilweise ebenfalls eine Rolle. Eine 10j saubere Domain wird höher gerankt als eine frisch installierte. Ebenfalls würd ich mich auf .de oder .com Adressen beschränken, weil diese für E-Mail Server doch am empfehlenswertesten sind. Was nicht heißt, dass eine .email oder .it auch gehen würde.
Das Ding sauber konfiguriert, wie Dennis hier schon gut gezeigt hat, einfach im Netz arbeiten lassen. Die Reputation wird sich verbessern, wenn man kein Blödsinn treibt.
Sollten E-Mail wider Erwarten nicht ankommen (T-Online und Outlook365 als Beispiele), checkt ob TLSA und Dane/ DNSSEC sitzen. Die sind da sehr genau. Dazu kommt, dass bei T-Online viele IPs direkt gelistet sind. Diese kann man aber leicht säubern lassen, was i.d.R. in 15 min erledigt ist. In die Logs schauen, oft steht da eine E-Mail des entsprechenden Postmasters drin.
MTA-STS ist hier auch wichtig, und auch schnell eingerichtet. Dann habt Ihr ’nen feinen E-Mail Server.
Danke an Dennis, er hat das locker und präzise rausgehauen!
16. Juni 2022 um 14:22 Uhr
Öhm, ist es nicht sogar ein Sicherheitsrisiko deine vorgeschlagene Konfiguration so einfach zu übernehmen?!
Wenn man ältere TLS versionen auskonfiguriert, jedoch smtpd_security_level weiterhin auf „may“ belässt, führt das dazu, dass bei nicht unterstützter Verschlüsselung auf plain-text gewechselt wird.
Dann doch lieber veraltete Verschlüsselung als gar keine – würde ich sagen.
Oder das smtpd_security_level auf „encrypt“ setzen, nur TLS 1.2/1.3 zulassen, es aber in Kauf nehmen, nicht alle Mails zu bekommen.
6. September 2022 um 17:14 Uhr
Wäre empfehlenswert, ja, aber leider weigert sich SOGo hier mit der Config `smtpd_tls_security_level=encrypt` E-Mails zu versenden:
(„cannot send message: (smtp) authentication failure“).
Also bleibe ich wohl oder übel bei „may“.
21. November 2022 um 17:44 Uhr
Hallo Dennis, habe diesen Schritt wie von dir im Video zu Mailcow #5 erklärt durchgeführt. Vorher natürlich #1-#4 gemacht.
Wenn ich „docker-compose restart postfix-mailcow“ durchführe, erhalte ich folgendes als Fehlermeldung:
ERROR: The Compose file ‚./docker-compose.yml‘ is invalid because:
services.nginx-mailcow.ports is invalid: Invalid port „:443:443“, should be [[remote_ip:]remote_port[-remote_port]:]port[/protocol]
services.nginx-mailcow.ports is invalid: Invalid port „:80:80“, should be [[remote_ip:]remote_port[-remote_port]:]port[/protocol]
in der docker-compose.yml sind unter „nginx-mailcow“ folgende Ports aufgeführt:
ports:
– „${HTTPS_BIND:-}:${HTTPS_PORT:-443}:${HTTPS_PORT:-443}“
– „${HTTP_BIND:-}:${HTTP_PORT:-80}:${HTTP_PORT:-80}“
Habe ich etwas übersehen?
Danke und viele Grüße
21. November 2022 um 20:13 Uhr
Hab es folgendermaßen gelöst bekommen:
curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Danach funktionierte alles.
15. Mai 2023 um 15:58 Uhr
Guten Tag,
Ich habe diese Zeilen hinzugefügt und seitdem ist mein Mailserver nicht mehr von außen erreichbar und Postfix zeigt nur noch Fehlermeldungen an.
Musste den Server neuinstallieren da die alte Datei auch nicht mehr angenommen wurde.
Ich habe noch nicht herausgefunden woran es liegt.
Mfg
Nico
15. Mai 2023 um 16:24 Uhr
Moin,
Jetzt scheint es doch funktioniert zu haben komisch.
Mfg
Nico
27. November 2023 um 22:59 Uhr
Wurde sofort übernommen, danke für den Tipp!
Version: 2023-11