Update: Seit geraumer Zeit (ca. Juni/Juli 2017) werden die Zertifikate von StartSSL nicht mehr von gängigen Webbrowsern vertraut. Darum nutze ich nun Zertifikate von Let’s Encrypt, welche mittelts Certbot an Einfachheit fast unschlagbar sind, wenn es um die Erneuerung dieser geht.
Im folgenden wird davon ausgegangen, dass bereits ein gültiges Zertifikat von StartSSL existiert mit einer erfolgreichen Installation von Dovecot und Postfix. Dazu ist es zusätzlich wichtig, den privaten Schlüssel und den öffentlichen Schlüssel verfügbar zu haben. Zu Beginn wird die Konfiguration von Dovecot gezeigt.
Dovecot
Dovecot unterteilt die Einstellungsmöglichkeiten in unterschiedliche Konfigurationsdateien, welche sich in /etc/dovecot/conf.d/ befinden. Dort gibt es die Datei 10-ssl.conf, in welcher die Einstellungen für die Verschlüsselung gesetzt werden. Um eine gewisse Übersichtlichkeit zu gewährleisten, erstelle ich in /etc/dovecot/ den Ordner ssl und bringe dort sämtliche benötigte Zertifikate unter. Im Netz gibt es genügend andere Ansätze, allerdings habe ich gerne die Dateien dort, wo sie auch genutzt werden.
Zuerst erstelle in im Verzeichnis /etc/dovecot/ den Ordner ssl
mkdir /etc/dovecot/ssl/ && cd /etc/dovecot/ssl/
Nachdem man sich nun im Ordner ssl befindet, werden sämtliche benötige Dateien in diesen Ordner kopiert. Zunächst werden dazu die zwei Zertifikate von StartSSL: sub.class1.server.ca.pem und ca.crt heruntergeladen.
wget https://www.startssl.com/certs/sub.class1.server.ca.pem && wget https://www.startssl.com/certs/ca.crt
Jetzt fehlen noch die eigenen Zertifikate und Schlüssel:
ssl-private.key und ssl-oeffentlich.crt
Wie die Namen schon sagen, sind die beiden Dateien jeweils der private und der öffentliche Schlüssel. Das bedeutet, dass nun vier Dateien im Ordner ssl existieren. Für eine spätere Vorbereitung benötigt Postfix zusätzlich eine Schlüsseldatei, welche die Kombination aus dem eigenen Zertifikat (ssl-oeffentlich.crt) und des Fremdzertifikats (sub.class1.server.ca.pem) ist. Mit dem Command
cat ssl-oeffentlich.crt sub.class1.server.ca.pem > ssl-postfix.pem
erstellen wir eine Kombinationsdatei und erhöhen die Anzahl der Dateien im Ordner auf fünf.
Das war es eigentlich schon, nun müssen die Dateien korrekt in die Konfiguration eingebunden werden.
In meiner Konfiguration in /etc/dovecot/conf.d/10-ssl.conf sind nur folgende vier Einträge vorhanden:
ssl = required
ssl_ca = </etc/dovecot/ssl/ca.crt
ssl_cert = </etc/dovecot/ssl/ssl-oeffentlich.crt
ssl_key = </etc/dovecot/ssl/ssl-private.key
Nachdem die Datei gespeichert ist muss Dovecot mittels
/etc/init.d/dovecot restart
neugestartet werden.
Postfix
Da bereits alle benötigten Dateien vorliegen, müssen wir lediglich auf sie in der Konfigurationsdatei unter /etc/postfix/main.cf referenzieren.
smtpd_tls_cert_file=/etc/dovecot/ssl/ssl-postfix.pem
smtpd_tls_key_file=/etc/dovecot/ssl/ssl-private.key
smtpd_tls_CAfile=/etc/dovecot/ssl/ca.crt
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
Ein Neustart von Postfix mit
/etc/init.d/postfix restart
schließt das Einbinden des Zertifikats für den E-Mail-Verkehr ab.
Hinweis: Bei der Fehlermeldung „Der Zielprinzipalname ist falsch, Server weiterhin verwenden?“ in Outlook, liegt es normalerweise an einem ungültigen Zertifikat. Dabei sollte nochmals die URL des Servers mit der angegebenen URL bei der Zertifikatserstellung verglichen werden. In meinem Fall war dies so, da ich zwei Zertifikate verwende. Eines für eventuelle Anfragen über 3rd-level-label (www) und eines über 2nd-level-label. Dort war bei mir zunächst das falsche Zertifikat eingebunden.
0
0 comments on “StartSSL-Zertifikat in Dovecot und Postfix einbinden”Add yours →