bg-tutorials

So installieren Sie ein SSL-Zertifikat auf einem Courier IMAP Server

In diesem Tutorial erfahren Sie, wie Sie ein SSL-Zertifikat auf einem Courier IMAP-Server installieren. Sie kombinieren Ihr Zertifikat, den privaten Schlüssel und die CA-Kette in einer einzigen PEM-Datei, verweisen mit der Einstellung TLS_CERTFILE von Courier darauf und starten den Dienst neu, damit IMAPS und POP3S das neue Zertifikat ausliefern.

CSR-Code auf dem Courier IMAP-Server erzeugen

Wenn Sie Ihren CSR bereits erzeugt und die SSL-Dateien erhalten haben, überspringen Sie Teil 1 und gehen Sie direkt zu den Installationsschritten.

Der CSR (Certificate Signing Request) ist ein Block codierten Textes, der Ihre Kontaktdaten enthält. Sie erstellen ihn und senden ihn an Ihre Zertifizierungsstelle (CA), um die SSL-Validierung zu bestehen. Bei der Erzeugung des CSR wird auch der passende private Schlüssel erstellt, der auf Ihrem Server verbleibt und für die Installation benötigt wird. Sie haben zwei Möglichkeiten:

Um die CSR-Datei zu öffnen, verwenden Sie einen beliebigen einfachen Texteditor. Beim Bestellen kopieren Sie den gesamten Block einschließlich der Zeilen BEGIN und END. Bewahren Sie die Datei mit dem privaten Schlüssel sicher auf: Sie werden ihn während der Installation in Ihre PEM-Datei einfügen.

SSL-Zertifikat auf dem Courier IMAP-Server installieren

Nach der Validierung sendet Ihnen die CA per E-Mail ein ZIP-Archiv mit Ihren SSL-Dateien: das primäre (Server-)Zertifikat und ein oder mehrere Zwischenzertifikate (CA). Extrahieren Sie das Archiv auf Ihrem Server und folgen Sie dann den nachstehenden Schritten.

Schritt 1: Zertifikat, Kette und Schlüssel in einer PEM-Datei zusammenführen

Courier liest das Zertifikat und den privaten Schlüssel aus einer einzigen PEM-Datei, die in TLS_CERTFILE festgelegt ist. Verketten Sie die Dateien in dieser Reihenfolge: zuerst Ihr Serverzertifikat, dann die CA-Zwischenzertifikatskette, dann Ihr privater Schlüssel. Führen Sie im Verzeichnis mit den extrahierten Dateien folgenden Befehl aus:

cat yourdomain.crt yourdomain.ca-bundle yourdomain.key > imapd.pem
sudo mv imapd.pem /etc/courier/imapd.pem
sudo chmod 600 /etc/courier/imapd.pem

Wenn Ihre CA die Zwischenzertifikate als separate Dateien statt als eine einzige .ca-bundle-Datei geliefert hat, listen Sie jede davon zwischen dem Zertifikat und dem Schlüssel auf. Die fertige PEM-Datei sollte so aussehen:

-----BEGIN CERTIFICATE-----
(the text of your primary SSL certificate)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(the text of the intermediate / CA chain certificate)
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
(the text of your private key)
-----END PRIVATE KEY-----

Ältere Schlüssel können statt mit BEGIN PRIVATE KEY mit BEGIN RSA PRIVATE KEY gekennzeichnet sein; beides ist in Ordnung. Der Schlüssel darf nicht mit einer Passphrase verschlüsselt sein, da Courier ihn ohne Abfrage lädt. Die PEM-Datei darf nur von root lesbar sein (das obige chmod 600), da sie den privaten Schlüssel enthält.

Wenn Sie den privaten Schlüssel lieber in einer eigenen Datei behalten möchten, lassen Sie den Schlüssel aus der PEM-Datei heraus und setzen Sie TLS_PRIVATE_KEYFILE in der Konfiguration (Schritt 2) auf den Pfad des Schlüssels. Wenn der Schlüssel bereits in TLS_CERTFILE eingebettet ist, ist die separate Schlüsseldatei optional.

Schritt 2: Courier auf Ihre PEM-Datei verweisen lassen

Öffnen Sie die Konfigurationsdatei, die Courier für IMAP über SSL verwendet. Der Pfad hängt von Ihrer Distribution ab: Er lautet üblicherweise /etc/courier/imapd-ssl oder auf manchen Systemen /usr/lib/courier-imap/etc/imapd-ssl. Bearbeiten Sie sie mit einem Texteditor, zum Beispiel:

sudo nano /etc/courier/imapd-ssl

Suchen Sie die Zeile TLS_CERTFILE (oder fügen Sie sie hinzu, falls sie fehlt) und setzen Sie sie auf Ihre PEM-Datei:

TLS_CERTFILE=/etc/courier/imapd.pem

Wenn Sie den privaten Schlüssel in Schritt 1 separat aufbewahrt haben, legen Sie auch dessen Pfad fest:

TLS_PRIVATE_KEYFILE=/etc/courier/imapd.key

Solange Sie sich in dieser Datei befinden, verschärfen Sie auch die TLS-Einstellungen. Entfernen Sie jede Zeile, die ein veraltetes Protokoll erzwingt, wie etwa TLS_PROTOCOL=SSL3, oder kommentieren Sie sie aus: SSLv3 sowie die frühen TLS-1.0- und 1.1-Versionen sind unsicher und sollten deaktiviert werden. Konfigurieren Sie Courier so, dass mindestens TLS 1.2 verlangt wird. TLS_PROTOCOL gilt für den dedizierten SSL-Port (IMAPS), und TLS_STARTTLS_PROTOCOL gilt für STARTTLS auf dem Standardport:

TLS_PROTOCOL=TLSv1.2
TLS_STARTTLS_PROTOCOL=TLSv1.2

Der Wert TLSv1.2 bedeutet „TLS 1.2 oder höher“, sodass TLS 1.3 weiterhin ausgehandelt wird, wenn Ihr OpenSSL-Build dies unterstützt. Sie müssen TLS_TRUSTCERTS nicht setzen, um Ihr Zertifikat an E-Mail-Clients auszuliefern; diese Variable dient nur zur Überprüfung von Client-Zertifikaten.

Debian, Ubuntu und Devuan: Auf diesen Distributionen ist Courier gegen GnuTLS statt gegen OpenSSL gebaut, und TLS_PROTOCOL hat keine Wirkung. Legen Sie die Protokolluntergrenze stattdessen mit TLS_PRIORITY fest, zum Beispiel TLS_PRIORITY=NORMAL:-VERS-TLS1.0:-VERS-TLS1.1 (womit nur TLS 1.2 und 1.3 übrig bleiben). TLS_CERTFILE und die oben beschriebene kombinierte PEM-Datei sind bei beiden Builds identisch, sodass sich die Zertifikatsinstallation selbst nicht ändert.

Hinweis zu Diffie-Hellman-Parametern: Aktuelle Courier-Pakete erzeugen automatisch eine DH-Parameterdatei (über das Skript mkdhparams und einen regelmäßigen Cron-Job) und lesen sie aus TLS_DHPARAMS, sodass Sie bei einer Standardinstallation keine mehr von Hand erstellen müssen. Die alte Direktive TLS_DHCERTFILE wurde in Courier 4.15 entfernt. Wenn mkdhparams auf Ihrem Server noch nie ausgeführt wurde, führen Sie es einmal aus, um die Datei zu erstellen.

Wenn Sie auch POP3S (Port 995) bereitstellen, öffnen Sie die POP3-Konfigurationsdatei /etc/courier/pop3d-ssl (oder /usr/lib/courier-imap/etc/pop3d-ssl) und wenden Sie dieselben Einstellungen an. Sie können dieselbe PEM-Datei wiederverwenden oder eine eigene /etc/courier/pop3d.pem mit demselben Inhalt erstellen:

TLS_CERTFILE=/etc/courier/pop3d.pem
TLS_PROTOCOL=TLSv1.2
TLS_STARTTLS_PROTOCOL=TLSv1.2

Schritt 3: Courier neu starten

Starten Sie Courier neu, damit das neue Zertifikat geladen wird. Auf den meisten systemd-basierten Distributionen starten Sie die SSL-Dienste und den Authentifizierungsdienst neu:

sudo systemctl restart courier-imap-ssl
sudo systemctl restart courier-pop3-ssl
sudo systemctl restart courier-authdaemon

Manche Pakete bieten stattdessen eine einzige kombinierte Unit. Wenn die oben genannten Dienste nicht gefunden werden, versuchen Sie:

sudo systemctl restart courier

Auf einem System, das kein systemd verwendet, starten Sie über die eigenen Skripte von Courier neu:

/usr/lib/courier-imap/libexec/imapd-ssl.rc restart
/usr/lib/courier-imap/libexec/pop3d-ssl.rc restart

Sobald der Dienst ohne Fehler neu startet, ist Ihr neues SSL-Zertifikat für IMAPS (Port 993) und POP3S (Port 995) sowie für STARTTLS auf den Ports 143 und 110 aktiv.

Ihre SSL-Installation testen

Nach der Installation bestätigen Sie, dass das Zertifikat korrekt ausgeliefert wird. Öffnen Sie über ein Terminal eine TLS-Verbindung zum IMAPS-Port und lesen Sie das vom Server präsentierte Zertifikat aus:

openssl s_client -connect mail.yourdomain.com:993 -servername mail.yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -subject -dates

Für POP3S verwenden Sie Port 995. Um stattdessen STARTTLS auf dem Standard-IMAP-Port zu testen, führen Sie folgenden Befehl aus:

openssl s_client -connect mail.yourdomain.com:143 -starttls imap

Der erste Befehl leitet die Verbindung an openssl x509 weiter und gibt den Aussteller, den Antragsteller (Common Name) sowie die Gültigkeitsdaten aus, sodass Sie bestätigen können, dass das richtige Zertifikat ausgeliefert wird. Der STARTTLS-Befehl zeigt den vollständigen Handshake: Prüfen Sie, ob Aussteller und Kette korrekt sind und ob gegen Ende Verify return code: 0 (ok) erscheint. Für einen vollständigen Bericht zu Ihrem Zertifikat und dessen Konfiguration nutzen Sie unseren SSL Checker.

Häufig gestellte Fragen

In welcher Reihenfolge kombiniere ich die Dateien in der Courier-PEM-Datei?

Zuerst das Serverzertifikat, dann die Zwischenzertifikatskette (CA), dann der private Schlüssel, alles in einer einzigen PEM-Datei. Courier liest diese Datei aus TLS_CERTFILE und präsentiert die vollständige Kette an die Clients. Der private Schlüssel muss unverschlüsselt sein (keine Passphrase).

Wo befindet sich die SSL-Konfigurationsdatei von Courier?

IMAP über SSL wird in /etc/courier/imapd-ssl konfiguriert und POP3 über SSL in /etc/courier/pop3d-ssl. Auf manchen Distributionen befinden sich diese stattdessen unter /usr/lib/courier-imap/etc/. Die STARTTLS-Einstellungen für die Klartext-Ports befinden sich in den entsprechenden Dateien imapd und pop3d.

Benötige ich für Courier weiterhin Diffie-Hellman-Parameter (DH)?

Nicht von Hand bei einer normalen Installation. Aktuelle Courier-Pakete erzeugen automatisch mit dem Skript mkdhparams eine DH-Parameterdatei und aktualisieren sie regelmäßig, wobei sie aus TLS_DHPARAMS ausgelesen wird. Die ältere Direktive TLS_DHCERTFILE wurde in Courier 4.15 entfernt. Führen Sie mkdhparams nur einmal aus, wenn noch keine DH-Datei vorhanden ist.

Wie deaktiviere ich SSLv3 und alte TLS-Versionen in Courier?

Entfernen Sie jede Zeile mit TLS_PROTOCOL=SSL3 und setzen Sie TLS_PROTOCOL=TLSv1.2 in imapd-ssl und pop3d-ssl. Setzen Sie TLS_STARTTLS_PROTOCOL=TLSv1.2 für die STARTTLS-Ports. Der Wert TLSv1.2 bedeutet „1.2 oder höher“, sodass TLS 1.3 automatisch verwendet wird, wenn Ihr OpenSSL dies unterstützt.

Wie überprüfe ich das Zertifikat nach dem Neustart von Courier?

Verbinden Sie sich mit OpenSSL zum Mail-Port und lesen Sie das ausgelieferte Zertifikat aus: openssl s_client -connect mail.yourdomain.com:993 für IMAPS, oder fügen Sie -starttls imap auf Port 143 hinzu. Bestätigen Sie, dass Aussteller und Kette korrekt sind und dass die Ausgabe Verify return code: 0 (ok) anzeigt.

Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!

Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10

A detailed image of a dragon in flight
Geschrieben von

Erfahrener Content-Autor, spezialisiert auf SSL-Zertifikate. Verwandeln Sie komplexe Cybersicherheitsthemen in klare, ansprechende Inhalte. Tragen Sie durch wirkungsvolle Narrative zur Verbesserung der digitalen Sicherheit bei.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.