Table of Contents

SSL Zertifikate für Mail und Web

Hier eine Anleitung, um auf einem Gentoo System selbst signierte Zertifikate für Mail (SMTP) und fürs Web zu erstellen. Die Zertifikate werden auf meiner Maschine von Postfix, BincIMAP und Apache benutzt. Postfix Zertifikate erstellen

Vorbereitung

Zertifikat erstellen

Falls ein neues CA Zertifikat erstellt werden soll, kann das Verzeichnis demoCA gelöscht werden. Danach können die Scripts wie folgt verwendet werden:

$ openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out certs/cacert.pem -config ./openssl.cnf -days 3650 #(nur wenn ein neues CA Zertifikat erstellt werden soll)
$ openssl req -new -nodes -keyout private/postfix.pem -out private/postfix_req.pem -config ./openssl.cnf
$ openssl ca -out certs/postfix.pem -config ./openssl.cnf -infiles private/postfix_req.pem

Postfix

Danach müssen die Files in das Postfix Verzeichnis kopiert werden.

$ cd /etc/ssl/misc/
$ cp -rp newkey.pem /etc/postfix/
$ cp -rp newcert.pem /etc/postfix/
$ cp -rp demoCA/cacert.pem /etc/postfix/

In Postfix müssen diese Parameter eingestellt werden:

# add sasl capabilities
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain =

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks,
reject_unknown_sender_domain, reject_unknown_recipient_domain, permit_mx_backup,
reject_unauth_destination

smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
#smtpd_tls_auth_only = yes
smtpd_enforce_tls = no
smtpd_tls_key_file = /etc/postfix/newkey.pem
smtpd_tls_cert_file = /etc/postfix/newcert.pem
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_req_ccert = no
smtpd_tls_ask_ccert = no
smtpd_tls_loglevel = 0
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 1s
tls_random_source = dev:/dev/urandom

smtp_use_tls = yes
smtp_tls_loglevel = 0
smtp_tls_key_file = /etc/postfix/newkey.pem
smtp_tls_cert_file = /etc/postfix/newcert.pem
smtp_tls_CAfile = /etc/postfix/cacert.pem

Anschliessend muss Postfix neu gestartet werden. Meine Postfix Version ist 2.2.5 Apache Zertifikate erstellen

Apache

Ziemlich ähnlich ist die Erstellung der Zertifikate für den Apache Server:

$ cd /etc/ssl/
$ openssl req -new > server.csr
$ openssl rsa -in privkey.pem -out server.key
$ openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 1095

Dieses Zertifikat ist 3 Jahre gültig und muss danach erneuert werden. ‘privkey.pem’ wird automatisch von openssl erzeugt. Nach dem Erstellen müssen die Zertifikate in das Verzeichnis von Apache kopiert werden:

$ cp -rp server.key /etc/apache2/ssl/
$ cp -rp server.crt /etc/apache2/ssl/

Anschliessend muss Apache neu gestartet werden. Meine Apache Version ist 2.0.55

Dovecot

Für Dovecot können dieselben Zertifikate benutzt werden wie für Postfix.

Referenzen

http://www.debian-administration.org/articles/284