Sep 062012
 

Bei StartSSL kann man kostenlos SSL-Zertifikate signieren lassen. Das Wurzelzertifikat von StartSSL ist in modernen Browsern bereits integriert, so dass diese Zertifikate ohne weiteres auch von verschiedenen Geräten und ohne zusätzliche Installation von Wurzelzertifikaten auf den Clients eingesetzt werden kann. Solch ein Zertifikat kann man natürlich auch für die eigene Email-Infrastruktur mit IMAP, POP3 und SMTP verwenden. Im Folgenden ist das Vorgehen für Dovecot und Postfix zusammengefasst.

Voraussetzung

Wie man sich ein Zertifikat signiert und mit Apache einsetzt ist im Heise-Artikel SSL für lau beschrieben.

Dovecot und Postfix sind installiert und konfiguriert. Das signierte Zertifikat ist unter /etc/ssl/certs/mail.example.com.crt gespeichert, der private Schlüssel dazu unter /etc/ssl/private/mail.example.com.key.

CA-Dateien herunterladen

Zuerst die Dateien sub.class1.server.ca.pem herunterladen. Sofern dies noch nicht geschehen ist. Diese benötigen wir um die von Dovecot und Postfix benötigten .pem-Datei zu erzeugen.

# cd /etc/ssl/private
# wget http://www.startssl.com/certs/ca-bundle.crt
# wget http://www.startssl.com/certs/sub.class1.server.ca.pem

.pem Datei erzeugen

Für Dovecot und Postfix werden um SSL nutzen zu können .pem-Dateien benötigt. Diese enthalten das Serverzertifikat und ein Zertifikat der Signierungsstelle. Diese Datei kann einfach erzeugt werden indem die Inhalte der beiden Dateien aneinandergehängt werden.

# cat mail.example.com.crt sub.class1.server.ca.pem > mail.example.com.pem

Dovecot

Konfiguration in /etc/dovecot/dovecot.conf (Version 1)

ssl = yes
ssl_cert_file = /etc/ssl/private/mail.example.com.pem
ssl_key_file = /etc/ssl/private/mail.example.com.key
ssl_ca_file = /etc/ssl/private/ca-bundle.crt

Konfiguration in /etc/dovecot/dovecot.conf (Version 2)

ssl_ca = </etc/ssl/certs/ca-bundle.crt
ssl_cert = </etc/ssl/private/mail.example.com.crt
ssl_key = </etc/ssl/private/mail.example.com.key

Dovecot neu starten

# /etc/init.d/dovecot restart

Von einem anderen Rechner kann man nun prüfen, ob das Zertfikat funktioniert.

Für IMAP:

# openssl s_client -connect mail.example.com:993

Für POP3:

# openssl s_client -connect mail.example.com:995

Postfix

/etc/postfix/main.cf

smtpd_tls_cert_file = /etc/ssl/private/mail.example.com.pem
smtpd_tls_key_file = /etc/ssl/private/mail.example.com.key
smtpd_tls_CAfile = /etc/ssl/private/ca-bundle.crt

Neu starten

# /etc/init.d/postfix restart

Sichere SMTP-Verbindungen sind über drei Ports möglich (je nach Konfiguration): 25 (TLS), 465 (SSL), und 587 (TLS). Die Verbindung kann nun wie folgt getestet werden:

# openssl s_client -connect mail.example.com:25 -starttls smtp
# openssl s_client -connect mail.example.com:465
# openssl s_client -connect mail.example.com:587 -starttls smtp

  6 Responses to “StartSSL-Zertifikat mit Dovecot und Postfix verwenden …”

  1. doveconf: Warning: Obsolete setting in /etc/dovecot/conf.d/10-ssl.conf:15: ssl_ca_file has been replaced by ssl_ca = <file
    ;)

  2. Hallo wie bekomme ich die .key zum startssl noch mal?

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)