Let’s Encrypt Zertifikate mit Host Europe WebPacks verwenden

In nächster Zukunft werden unverschlüsselte Websites (zuerst wohl von Google Chrome) generell als “nicht sicher” markiert und auch in den Google Suchergebnissen abgewertet werden. Man sollte also dringend dafür sorgen, dass die eigene Website verschlüsselt, also per https ausgeliefert wird. Dafür ist ein Zertifikat erforderlich, das man von Certification Authorities (CA) wie Comodo oder Thawte für eine jährliche Gebühr kaufen kann und das man dann auf seinem Webserver installieren muß.

Seit einiger Zeit gibt es auch die Möglichkeit, sich von Let’s Encrypt ein (technisch einfaches aber funktionierendes) kostenfreies Zertifikat ausstellen zu lassen. Ein Problem dieser vollautomatisch erzeugten Zertifikate ist die geringe Gültigkeit von nur 3 Monaten. Dies ist kein Problem wenn die Zertifikate wie von Let’s Encrypt vorgesehen automatisch aktualisiert werden. Wenn man einen eigenen Webserver oder einen mit Plesk verwalteten virtuellen Server betreibt (dafür gibt es die sehr gute Let’s Encrypt Plesk Extension) ist so eine automatische Aktualisierung auch ohne weiteres möglich. Host Europe unterstützt bei den normalen WebPacks immerhin die Installation von eigenen Zertifikaten, aber keine automatische Aktualisierung. Hier muß man also im Moment noch regelmäßig das Zertifikat manuell aktualisieren.

Eine Beschreibung wie man ein Zertifikat bei Let’s Encrypt erzeugt und dann bei Host Europe einbindet, habe ich in einem Blogposting gefunden. Die Website ZeroSSL führt einen in wenigen Schritten durch den Prozess.
Auf der ersten Seite trägt man links seine E-Mailadresse und recht mit Leerzeichen getrennt die Domains und Subdomains ein, für die das Zertifikat gelten soll. Als nächstes werden daraus ein Let’s Encrypt Key (wird zusammen mit der eingegebenen E-Mailadresse für eine spätere Erneuerung des Zertifikats benötigt) und ein CSR erzeugt, die man beide sichern sollte.
Auf der zweiten Seite wird dann (wenn man HTTP Verification gewählt hat) pro angeforderter Domain/Subdomain der Inhalt und der Name einer Textdatei angegeben, die man erzeugen und an die angegebenen Stellen auf der Website kopieren muß um zu beweisen, dass man Zugriff auf den Webserver hat.
Auf der dritten und letzten Seite wird dann bereits das fertig erzeugte Zertifikat und der Key angezeigt, die man beide ebenfalls sichern sollte. Damit ist die Erzeugung des Zertifikats abgeschlossen.

Dieses Zertifikat kann man jetzt auf der Host Europe Website unter Produktverwaltung → Webhosting → Konfigurieren → Sicherheit & SSL → SSL administrieren → Global → Zuweisen/Ersetzen seiner Website zuordnen. Dazu müssen die beiden im letzten Schritt auf der ZeroSSL-Website erzeugten Dateien (Zertifikat und Key) angegeben werden. Die Felder für Passwort und CA können leer bleiben. Das Zertifikat ist entgegen der angezeigten Meldung normalerweise innerhalb kürzester Zeit verfügbar.

Schließlich sollte man noch in der Datei .htaccess mit

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

eine dauerhafte Weiterleitung von http auf https einrichten, damit die Website immer verschlüsselt ausgeliefert wird.

[Update] Die Vorgehensweise bei der manuellen Aktualiserung des Zertifikats entspricht weitestgehend der oben beschriebenen Neuerstellung des Zertifikats.
Im ersten Schritt auf der ZeroSSL Website fügt man links E-Mail Adresse und den bei der Ersterstellung gesicherten Let’s Encrypt Key ein. Auf der rechten Seite dann den ebenfalls bei der Ersterstellung gesicherten CSR. Im zweiten Schritt folgt dann wie bei der Ersterstellung die HTTP Verification aller im CSR enthaltenen (Sub-)Domains und im dritten Schritt erhält man dann das Zertifikat, das man natürlich sichern sollte. Der Domain Key wird nicht erneut angeboten, da sich dieser seit der Ersterstellung nicht geändert hat.
Schließlich ersetzt man das alte Zertifikat an der gleichen Stelle auf der Host Europe Website (“Global”) durch das neue Zertifikat. Dafür ist auch der (unveränderte) Domain Key erforderlich.

[Update] ZeroSSL hat sein Geschäftsmodell geändert: Die oben beschriebene Website steht nicht mehr zur Verfügung! Als Alternative habe ich jetzt die von Host Europe empfohlene SSLforFree.com verwendet (obwohl es Warnungen gibt, die aus Sicherheitsgründen von der Verwendung von webbasierter Zertifikatserzeugung abraten).
Da mich die Bearbeitung der Textdateien zur “HTTP Verification” bei jede Renewal genervt hat, habe ich jetzt die “DNS Verification” gewählt. Die Vorgehensweise dazu ist ziemlich einfach: Direkt auf der Startseite von SSLforFree.com gibt es oben ein großes Eingabefeld in das man mit Leerzeichen getrennt die gewünschten Domains einträgt und anschließend auf “Create Free SSL Certificate” klickt. Auf der folgenden Seite habe ich dann “Manual Verification (DNS)” gewählt. Daraufhin werden für jede Domain die Informationen für einen TXT-Record angezeigt, den man mit der minimal möglichen TTL (bei Host Europe 300 Sekunden) in den DNS eintragen muß. Darunter gibt es Links mit denen man kontrollieren kann ob diese Records korrekt abgerufen werden. Wenn alles paßt kann man ganz unten auf “Download SSL Certificate” klicken. Nach einiger Wartezeit wird dann das Zertifikat angezeigt. Man kann den entsprechenden Text dort entweder kopieren oder alle Informationen in einer ZIP-Datei herunterladen.
Dann geht es wie oben beschrieben auf der Host Europe Website weiter, wobei nur die beiden Dateien “certificate.crt” und “private.key” benötigt werden.