Zertifikate für apache, courier, webmin, postfix, dovecot, nrpe einbinden
Wednesday, February 9. 2011
In einem früheren Eintrag hatte ich startssl als Quelle für kostenlose Zertifikate für Server angesprochen, die kostenlosen Class 1 - Zertifikate gelten immer für eine Subdomain und die Domain selbst. Also zB. www.domain.tld und domain.tld. Hier mein Waschzettel, um das Zertifikat für den Webserver der Domain, Courier (pop3s, imaps) und für die Serververwaltungen Webmin und ISPConfig2 einzubinden.
# Verzeichnis für die eigenen Certs anlegen mkdir -p /etc/ssl/certs/startssl/ chmod 700 /etc/ssl/certs/startssl/ # den eigenen key und das von startssl signierte zertifikat hier speichern # darauf achten bzw. kontrollieren, dass jede dieser Dateien mit einem \n endet domain.tld.key domain.tld.crt chmod 600 domain.tld.key # die certs von startssl herunterladen wget https://www.startssl.com/certs/ca.pem wget https://www.startssl.com/certs/sub.class1.server.ca.pem # umbenennen ordnet mv ca.pem startssl.ca.crt mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt # die ganze Kette zusammenkopieren cat startssl.sub.class1.server.ca.crt startssl.ca.crt >startssl.chain.class1.server.crt cat domain.tld.{key,crt} startssl.chain.class1.server.crt >domain.tld.pem chmod 600 domain.tld.pem # fuer imap-ssl und pop-ssl eintragen # in den beiden .cnf den Pfad zum domain.tld.pem einzutragen funktioniert nicht, # courier erwartet das Zertifikat in oder unter /etc/courier # was dagegen klappt ist ein symlink von dem Zertifikat nach imapd.pem bzw pop3d.pem mv /etc/courier/imapd.pem /etc/courier/imapd.pem.bkp mv /etc/courier/pop3d.pem /etc/courier/pop3d.pem.bkp ln -s /etc/ssl/certs/startssl/domain.tld.pem /etc/courier/imapd.pem ln -s /etc/ssl/certs/startssl/domain.tld.pem /etc/courier/pop3d.pem # neu starten /etc/init.d/courier-imap-ssl stop /etc/init.d/courier-imap-ssl start /etc/init.d/courier-pop-ssl stop /etc/init.d/courier-pop-ssl start # fuer webmin eintragen nano /etc/webmin/miniserv.conf # dort den eintrag keyfile auskommentieren und stattdessen eintragen: keyfile=/etc/ssl/certs/startssl/domain.tld.pem # und neu starten /etc/init.d/webmin restart # für ispConfig auf domain.tld:81 einbinden nano /root/ispconfig/httpd/conf/httpd.conf # dort auskommentieren ##SSLCertificateFile /root/ispconfig/httpd/conf/ssl.crt/server.crt ##SSLCertificateKeyFile /root/ispconfig/httpd/conf/ssl.key/server.key ggf. auch #SSLCertificateChainFile und #SSLCACertificateFile # und stattdessen eintragen: SSLCertificateFile /etc/ssl/certs/startssl/domain.tld.net.crt SSLCertificateKeyFile /etc/ssl/private/domain.tld.net.key SSLCertificateChainFile /etc/ssl/certs/startssl/startssl.chain.class1.server.crt
# neu starten /etc/init.d/ispconfig_server restart # für den Apache des betreffenden vhosts in dessen conf gleichermassen eintragen SSLEngine on SSLCertificateFile /etc/ssl/certs/startssl/domain.tld.net.crt SSLCertificateKeyFile /etc/ssl/private/domain.tld.net.key SSLCertificateChainFile /etc/ssl/certs/startssl/startssl.sub.class1.server.ca.crt # neu starten /etc/init.d/apache2 restart # für postfix mkdir -p /etc/postfix/ssl/startssl_cert ln -s /etc/ssl/certs/startssl/domain.tld.crt /etc/postfix/ssl/startssl_cert/domain.tld.crt ln -s /etc/ssl/certs/startssl/domain.tld.key /etc/postfix/ssl/startssl_cert/domain.tld.key # 1 Zeile! ln -s /etc/ssl/certs/startssl/startssl.chain.class1.server.crt /etc/postfix/ssl/startssl_cert/startssl.chain.class1.server.crt # postfix' main.cf editieren und darin einfügen bzw. anpassen: nano /etc/postfix/main.cf #TLS Support ## smtpd smtpd_tls_auth_only = no smtpd_use_tls = yes # eigener Key smtpd_tls_key_file = /etc/postfix/ssl/startssl_cert/domain.tld.key # eigenes Certificate smtpd_tls_cert_file = /etc/postfix/ssl/startssl_cert/domain.tld.crt # public der Certificate Authority smtpd_tls_CAfile = /etc/postfix/ssl/startssl_cert/startssl.chain.class1.server.crt smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom ##smtp smtp_use_tls = yes smtp_tls_note_starttls_offer = yes update: # fuer dovecot (2.x): nano /etc/dovecot/local.conf ssl_cert = </etc/ssl/certs/startssl/domain.tld.crt ssl_key = </etc/ssl/certs/startssl/domain.tld.key ssl_ca = </etc/ssl/certs/startssl/startssl.chain.class1.server.crt #fuer nrpe, bei mir icinga-nrpe-server nano /etc/icinga-nrpe/nrpe.cfg cert_file=/etc/ssl/certs/startssl/domain.tld.crt cacert_file=/etc/ssl/certs/startssl/startssl.chain.class1.server.crt privatekey_file=/etc/ssl/certs/startssl/domain.tld.key
Alternative Anleitung mit Beispielen für nginx, Lighttpd, Postfix, Dovecot, eJabberd, vsftpd
Trackbacks
Trackback specific URI for this entry
Comments
#1
on
05/01/11 at 01:01 PM
Danke fir den Artikel,
der obere Teile mit Courier hat mir grad dabei geholfen das nun auch Courier-Imap mit SSL läuft (:
der obere Teile mit Courier hat mir grad dabei geholfen das nun auch Courier-Imap mit SSL läuft (:
#2
on
07/17/11 at 10:37 PM
Ein Mega Dank für die ausführliche Lösung des Problems. Sie hat mir total geholfen mein Postfix/Courier Imap mit Start SSL zu verknüpfen
Courier tat seine Arbeit an sich wunderbar, aber in der Integration von desktop- und mobilem Mailabruf stand es mir dann doch im Wege. Ich wollte mail-Sortierung und -filterung auf dem Server dazu gerne das sieve-Addon zu ThunderBird nut
Tracked: Jan 23, 18:39