StartSSL-Zertifikat in Dovecot und Postfix einbinden

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 einbindenAdd yours →

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.