Dovecot und Postfix mit einem StartSSL Zertifikat verwenden
Bisher habe ich für meinen Postfix und Dovecot Server ein selbst signiertes Zertifikat verwendet. Aus verschiedenen Gründen wollte ich dies ablösen. Startssl.com bietet kostenlose Zertifikate. Der Prozess hat sich für mich in drei Stufen aufgeteilt. Anmeldung, Validierung der Domain, Schlüsselpaar generieren und den Schlüssel zertifizieren. Die Beschreibung basiert auf dem Dokument von Heise.de und einem Blogeintrag auf sandboxblog.de
Zuerst die Validierung der Domain
An eine dieser Addressen wird eine Mail mit einem Konfirmation Code gesendet. Diesen gibt man dann auf der nächsten Seite ein.
Schlüsselpaar generieren
Jetzt muss ein schlüsselpar generiert werden
openssl genrsa -out caserio-de.key 2048 Generating RSA private key, 2048 bit long modulus ..........+++
und dann wird ein Certification Signing Request generiert.
openssl req -new -key caserio-de.key -out caserio-de.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:DE State or Province Name (full name) [Some-State]:NRW Locality Name (eg, city) []:Meckenheim Organization Name (eg, company) [Internet Widgits Pty Ltd]:Caserio.de Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []:Hagen Bauer Email Address []:Hagen.Bauer@caserio.de Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Die CSR Datei brauchen wir gleich wieder bei Startssl.com
Schlüssel Zertifizieren
So jetzt geht es weiter bei StartSSL.com im Ceritification Wizard
Den nächsten Schritt überspringen wir den wir wollen ja das eben generierte Schlüssel verwenden.
Jetzt den Inhalt der CSR Datei reinpasten
Hier habe ich den Namen des Mail Server angegeben. Normalerweise soll man hier www eingeben
(Der Screenshot stimmt nicht ganz. Der zweite Eintrag müsste "mail.caserio.de" heißen.
Dieses Zertifikat kommt dann in die Datei caserio-de.crt und zu den anderen Daten in das Verzeichnis /etc/ssl/caserio.
Dann muss man noch einige startssl.com Zertifikat hohlen und in einer Datei zusammenfassen (keine Ahnung warum)
cd /etc/ssl/caserio/ wget https://www.startssl.com/certs/sub.class1.server.ca.pem wget http://www.startssl.com/certs/ca-bundle.crt cat caserio-de.crt sub.class1.server.ca.pem > caserio-de.pem
Diese Dateien dann dem Postfix und Dovecot Server bekanntmachen
vi /etc/dovecot/dovecot.conf
ssl_cert_file = /etc/ssl/caserio/caserio-de.pem
ssl_key_file = /etc/ssl/caserio/caserio-de.key
ssl_ca_file = /etc/ssl/caserio/ca-bundle.crt
vi /etc/postfix/main.cf
smtpd_tls_cert_file = /etc/ssl/caserio/caserio-de.pem
smtpd_tls_key_file = /etc/ssl/caserio/caserio-de.key
smtpd_tls_CAfile = /etc/ssl/caserio/ca-bundle.crt
Dies sind nicht alle Einträge die in den beiden Dateien notwendig sind sondern nur die für die Zertifikate wichtigen.