Lets encrypt! im Shared Hosting (z.B. bei All-Inkl): Gratis-SSL nicht nur für Server-Besitzer
Nachtrag vom 27. Juni 2016: hier ein aktuelles Video-HowTo – die auf das Video folgende Beschreibung dürfte nur noch für Shared-Hosting-Angbote, die weder KASserver-basiert sind noch Let’s Encrypt anbieten, von Nutzen sein. Die Diskussion unten spiegelt die seinerzeit ungewisse Umstellungsphase auf Let’s Encrypt bei All-Inkl in den ersten Monaten des Jahres 2016 wider.
Klick auf Start verbindet dich mit YouTube.
Nachtrag – Ende
Seit Anfang Dez. 2015 läuft die öffentliche BETA: https://letsencrypt.org/
Endlich können wir uns selber ein in allen üblichen Browsern gültiges SSL-Zertifikat erstellen, das wir sonst umständlich kaufen mussten. Aller E-Mail-Verkehr zur Domain-Validierung entfällt dabei! Führe einfach die Schritte unten nacheinander aus.
Folgende Kurzanleitung zur Erstellung eines SSL-Zertifikats setzt lokal ein Linux-(ähnliches) Betriebssystem voraus. Wer das nicht hat, kann bei dieser Gelegenheit leicht einmal eines ausprobieren. Einfach ein Image, z.B. von Ubuntu gratis herunterladen, auf USB bringen bzw. auf DVD brennen und PC/Laptop anschließend mit dem Linux-Live-System booten. Das Live-System fasst übrigens die Festplatte nicht an, solange Du nicht explizit installierst. Desweiteren wird das Versionierungssystem Git vorausgesetzt. Hast Du ein Ubuntu, Linux Mint oder Debian gestartet, installierst Du (auch auf einem Live-System) Git nach Start eines Terminals wie folgt mit einem einzigen Befehl:
sudo apt-get install git
1.) „Lets encrypt!“-Installation also auf unserem lokalen Linux-Client; im Terminal:
cd git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto
2.) Zertifikat für’s Shared Hosting auf eigenem Rechner erstellen
./letsencrypt-auto certonly --manual
Zunächst wird eine Admin-Mailadresse abgefragt, an die dann bei Ablauf der nur 90 Tage gültigen Domain-Zertifikate später auch Update-Notifications gesendet werden. Dann wird nach der Domain gefragt, da geben wir ein, z.B.:
hostz.de www.hostz.de
Für jeweils die Domain mit und ohne Subdomain „www“ wird jetzt eine Verifizierung durchgeführt (haben wir wirklich Zugang zum Server?) – da steht dann z.B.:
Make sure your web server displays the following content at http://www.hostz.de/.well-known/acme-challenge/Srlc90i6NhJYBoMuvpBx8PIw7Fe0D4Pm7dxkxb_ctGU before continuing: Srlc90i6NhJYBoMuvpBx8PIw7Fe0D4Pm7dxkxb_ctGU.xbyJ3Tl7o_V9Xxul2PrwKrbZ6_1FXHW-vSuUwBYkdSA
… und wartet auf ein RETURN von uns, das wir erst ausführen sollten, wenn wir tatsächlich im geforderten Webordner (den wir anlegen müssen!) die Datei namens „Srlc90i6NhJYBoMuvpBx8PIw7Fe0D4Pm7dxkxb_ctGU“ mit dem geforderten Textinhalt: „Srlc90i6NhJYBoMuvpBx8PIw7Fe0D4Pm7dxkxb_ctGU.xbyJ3Tl7o_V9Xxul2PrwKrbZ6_1FXHW-vSuUwBYkdSA“ erstellt haben. Das Prozedere wird dann für die zweite (Sub-)Domain www wiederholt – wir erstellen also zwei Dateien im Ordner DOCUMENT_ROOT/.well-known/acme-challenge/.
Perfekt. Jetzt können wir die PEM-Dateien ernten, sie liegen im Ordner:
/etc/letsencrypt/live/DOMAIN:
machine$: sudo ls -la /etc/letsencrypt/live/hostz.de/ lrwxrwxrwx 1 root root 32 Dez 3 23:49 cert.pem -> ../../archive/hostz.de/cert1.pem lrwxrwxrwx 1 root root 33 Dez 3 23:49 chain.pem -> ../../archive/hostz.de/chain1.pem lrwxrwxrwx 1 root root 37 Dez 3 23:49 fullchain.pem -> ../../archive/hostz.de/fullchain1.pem lrwxrwxrwx 1 root root 35 Dez 3 23:49 privkey.pem -> ../../archive/hostz.de/privkey1.pem
3.) Zertifikate auf den Server kopieren
Der Inhalt der Dateien kann dann wie folgt bei All-Inkl auf dem KASServer in die Domain-Konfiguration hinüberkopiert werden:
Fertig!
4.) Qualitätstest
Unter https://www.ssllabs.com/ssltest/ können wir dann noch testen, ob generell alles OK ist (bzw., wenn gewünscht, auch alles genauer inspizieren):
EDIT (23.12.): Gemäß Hinweis von Fabian (s.u.) ließe sich ein A+ für noch mehr Verschlüsselungssicherheit via SSL bei den ssllabs durch die Aktivierung der HSTS erreichen. Damit würde dann zugleich die Erreichbarkeit via HTTP unterbunden. Insofern kann man so eine Konfiguration serverseitig im Shared Hosting nicht erwarten; das Feature ist aber für alle, die dies wollen, leicht über die Datei .htaccess zu realisieren:
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Ich freue mich über einen Satz von Dir in den Kommentaren!
Schreibe einen Kommentar