Wichtige Info

Die Inhalte, die du hier siehst stelle ich dir ohne Werbeanzeigen und ohne Tracking deiner Daten zur Verfügung. Trotzdem muss ich die Server bezahlen sowie Zeit in Recherche, Umsetzung sowie Mail Support stecken.
Um dies leisten zu können, verlinke ich in einigen Artikeln auf die Plattform Amazon. Alle diese Links nennen sich Afiliate Links. Wenn du dir mit diesem Link etwas kaufst, dann erhalte ich eine kleine Provision. Dies ändert jedoch NICHT den Preis, den du bezahlst!
Falls du mich also unterstützen möchtest, kannst du auf den Link zum Produkt klicken und hilfst mir dabei, dieses Hobby weiter zu betreiben.
Da ich Keine Werbung schalte und keine Spenden sammle, ist dies die einzige Möglichkeit, meine Systeme und mich zu finanzieren. Ich hoffe du kannst das verstehen :)



Dovecot Imap Server mit unterschiedlichen TLS/SSL Zertifikaten verwenden


Einführung

Ich betreibe bereits seit mehreren Jahren einen eigenen Mailserver, welche alle meine Domains hostet. Da ich der einzige auf diesem Mailserver bin, habe ich bis vor einiger Zeit immer ein Zertifikat verwendet, welches für alle Domains herhalten konnte. Der Nachteil bei diesem vorgehen war jedoch, dass ich bei den anderen Konten immer eine Warnmeldung erhalten habe.

Es gibt einfache Möglichkeiten, wie z.B. mit Certbot Zerttifikate zu verwalten für einen solchen Server, jedoch ist auf meinem Mailserver nichts installiert, abgesehen der Mail-Software. Dementsprechend ist auch die Firewall eingestellt, nichtmal SSH spricht dieser Server ohne weiteres, sodass ich den Server so sicher wie möglich betreiben kann.

Ich habe vor zwei Monaten nun einen zentralen Zertifikatsserver aufgebaut, welcher alle meine Zertifikate verwaltet und verteilt, weshalb ich nun deutlich einfacher Zertifikate auf meinem Mailserver ausrollen kann, ohne das ich zusätzliche Software installieren muss, aus diesem Grund habe ich mich dazu entschieden für jede Domain nun ein eigenes Zertifikat zu verwenden.

Dieser Beitrag zeigt, wie eine entsprechende Konfiguration in Dovecot angepasst werden muss, sodass es keine Warnung im Mailprogramm der Wahl mehr gibt.

Hauptteil

Um die Konfiguration der SSL Konfiguration anzupassen, kann man entweder die Hauptkonfigurationsdatei verwenden oder die SSL Konfigurationsdatei. Da ich einen sehr einfachen IMAP-Server ohne Schnick Schnack habe, habe ich meine Konfiguration zentral in der Hauptkonfigurationsdatei unter /etc/dovecot/dovecot.conf in dieser muss die TLS Konfiguration angelegt werden. Im Grundsatz sieht diese zum Beispiel wie folgt aus: (die "<" müssen bei den Pfad Angaben zwingend stehen, sodass der Inhalt der Datei eingefügt wird!)

###
### TLS Config
#######################
#Default SSL certificate for pure-smart.de
#Local_name Certs for other domains not covered by default

ssl = required
ssl_cert = </etc/certs/pure-smart.de/cert.pem
ssl_key = </etc/certs/pure-smart.de/key.pem
ssl_cipher_list = ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
ssl_prefer_server_ciphers = yes
ssl_dh = </etc/dovecot/diffieh.pem

Diese Konfiguration reicht aus, wenn du nur nur eine Domain verwalten willst bzw. die Warnung für dich kein Problem ist. Damit wärst du dann fertig.

In meinem Fall soll es aber jetzt für jede Domain ein eigenes Zertifikat geben und dafür gibt es die "local_name" direktive, welche es ermöglicht Domain basiert Zertifikate zu verwenden. Um nun für bestimmte Domains eigene Zertifikate zu verwenden, fügst du darunter folgendes pro Domain an:

local_name imap.second-domain.de {
    ssl_cert = </etc/certs/nodework.de/cert.pem
    ssl_key = </etc/certs/nodework.de/key.pem
}

Für jede Domain, welche nicht mit dem Standardzertifikat verwendet werden soll (das, welches zuerst angegeben ist unter TLS-Config), wird jetzt ein local_name angelegt und ein eigenes Zertifikat übergeben. Auch hier das "<" am Anfang beachten, dieses ist WICHTIG!

Sobald geschehen, kann Dovevot neu gestartet werden und die Zertifikate werden nun verwendet. In den local_names können auch die anderen TLS Einstellungen verwendet werden, da ich jedoch per Default secure Einstellungen habe, ist dies bei mir nicht nötig. Falls du z.B. ältere Mail Clients für eine bestimmte Domain unterstützen willst, könnten im local name z.B. andere Cipher definiert werden.

Schluss

Wie immer sollte beachtet werden, dass sich die Einstellungen ändern können. Ich warte meinen Mailserver bei jedem Update und prüfe, ob es wichtige Anpassungen gibt (unter anderem mit automatisierten tools). Falls du dies nicht machst, solltest du in jedem Fall die Einstellungen prüfen, ob diese noch aktuell sind, wenn du das liest :)

Bei Fragen kannst du mir gerne eine Mail senden.


Back…