Zertifizierte Seiten zeigen ein grünes Schloss in der Adressleiste des Browsers und ihre Adresse beginnt mit https anstelle von http. Das Zertifikat wird von einer Zertifizierungsstelle ausgestellt und muss auf dem Server installiert werden.
Im ersten Schritt wird ein kryptografisch gesicherter CSR (Certificate Signing Request, Zertifikatsregistrierungsanforderung und Vorstufe eines Zertifikats, die die Identität des Servers belegt) für Apache Server generiert. Mit ssh einloggen auf der Console des Servers. Zuerst den Private Key erzeugen:
Dateiname--+ +-- Bit length | | openssl genrsa -des3 -out www.mydomain.com.key 2048 | +-- Key verschlüsseln (optional, kann auch weggelassen werden)
Wird der Key verschlüsselt, muss noch ein Passwort für den Schlüssel eingegeben werden.
Der Dateiname kann auch eine Datei auf dem eigenen Rechner sein, hier ist es eine Datei auf dem Server.
Mit dem Key wird der CSR erzeugt.
openssl req -new -key www.mydomain.com.key -out www.mydomain.com.csr
OpenSSL zeigt jetzt eine Reihe von Fragen: Country Code, zwei Buchstaben, Ort, Firma, Abteilung, Full qualified, Felder Email Adress überspringen, A challenge password, An optional Company Name überspringen.
Das CSR ist die Datei für den Aussteller des Zertifikats.
Wenn man das Zertifikat vom Aussteller bekommen hat, braucht man noch ein Intermediate-Zertifikat – CSA, das ebenfalls vom Zertifikatsgeber geholt wird. Damit hat man also drei Zertifikats-Dateien:
- Den Private Key (KEY) auf dem Server erzeugt
- Das Zertifikat (CRT) von der Zertifizierungsstelle
- Das Intermediate-Zertifikat (CSA) von der Zertifizierungsstelle
Jeder Server ist ein Unikat, selbst Virtuelle Server bei ein und demselben Provider sind unterschiedlich konfiguriert: Verschiedene Unix-Betriebssysteme (oder Windows) wie Centos oder Ubuntu, verschiedene Apache-Versionen (oder IS-Versionen), verschiedene Plesk-Versionen (zurzeit bei 11.x oder 12.x. Die Schritte sind immer wieder Mosaik-Steinchen, die passend zusammengesucht werden müssen.
Zertifikat in Plesk installieren
Diese drei Zertifikatsdateien werden bei Plesk eingegeben. Bei einem virtuellen Server muss das Zertifikat als Zertifikat des Servers angelegt werden und das von Plesk selbst erzeugte Zertifikat ersetzen. Wenn mehrere Domains zertifiziert werden sollen: das geht auf einem virtuellen Server nicht, da virtuelle Server nur mit einer IP arbeiten und Zertifikate nicht verschiedenen Domainen zugeordnet werden können.
Plesk 12: Tools & Einstellungen, SSL-Zertifikate
Alternativ können die drei Zertifikats-Dateien direkt in Apache installiert werden. Wenn Plesk auf dem Server installiert ist, würde die httpd.conf von Plesk überschrieben.
Die Zertifikate können auch für weitere Dienste – typischerweise: Email – verwendet werden, allerdings müssen diese Dienste manuell konfiguriert werden.
Secure IMAP
Damit das Zertifikat auch für Email eingesetzt werden kann, muss das Zertifikat sowohl für den Mailserver (meistens Postfix) als auch für den IMAP-/POP3-Server (meistens Courier-IMAP) installiert werden. Das geht nicht in Plesk, sondern nur in der Konsole.
Das Zertifikat CRT und den Private Key zusammen in eine Datei kopieren.
-----BEGIN CERTIFICATE----- (your_domain_name.crt) -----END CERTIFICATE----- -----BEGIN RSA PRIVATE KEY----- (your_domain_name.key) -----END RSA PRIVATE KEY-----
Die Datei mit .pem-Erweiterung speichern.
Das Intermediate-Zertifikat als txt-Datei speichern.
IMAP suchen und die Datei imapd-ssl öffnen (meist auf /usr/lib/courier-imap/etc/)
Zwei Zeilen hinzufügen und die Zeile TLS_PROTOCOL auf SL3 setzen:
- TLS_CERTFILE=/path/filename.pem - TLS_TRUSTCERTS=/path/filename.txt TLS_PROTOCOL=SSL3
Secure POP3
Die Datei pop3d-ssl suchen und öffnen (meist unter /usr/lib/courier-imap/etc/ oder /etc/courier-imap).
Zwei Zeilen hinzufügen
- TLS_CERTFILE=/path/filename.pem - TLS_TRUSTCERTS=/path/filename.txt
Die .pem-Datei darf nur von ROOT gelesen werden können.
Den Courier-IMAP-Server neu starten
/etc/init.d/courier-imapd restart
SSL-Zertifikat unter Postfix installieren
Die Datei main.cf finden (meist unter /etc/postfix/main.cf) und die folgenden Zeilen hinzufügen
# tls config smtpd_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/ssl.key/example.com.key smtpd_tls_cert_file = /etc/ssl.crt/example.com.crt smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom tls_random_prng_update_period = 3600s myhostname = example.com
Postfix neu starten
/etc/init.d/postfix restart