- Im KAS den Menüpunkt “Domain” oder “Subdomain” auswählen (je nachdem was abgesichert werden soll)
- Abzusichernde (Sub-)Domain auswählen/bearbeiten
- Unter SSL-Schutz im ersten Tab SSL grundsätzlich aktivieren
- Danach unter SSL-Schutz im Reiter Let’s Encrpyt den Haftungsauschluss akzeptieren und ein Zertifikat gnerieren
Nach einigen Minuten sollte die Seite mit SSL/TLS abgesichert verfügbar sein. Eine manuelle Einbindung des Zertifikats wie in diesem Artikel Beschrieben ist somit nicht mehr erforderlich. Das Let’s Encrypt-Zertifikat ist zwar nur 90 Tage gültig, sollte aber automatisch neu aktualisiert werden.
Warum SSL/TLS-Verschlüsselung?
Warum sollte man aufwendig die Verschlüsselung aktivieren, wenn es auch ohne geht? Aus meiner Sicht gibt es viele Gründe seine Inhalte verschlüsselt anzubieten:
- Schutz der Login-Daten bei der Übertragung.
- Schutz der Privatsphäre der Blog Besucher; insbesondere wenn aus öffentlichen Netzwerken auf die Seite zugegriffen wird.
- Im Zuge des um sich greifenden Überwachungswahn, gilt es so viele Daten wie möglich zu verschlüsseln, damit die massenhafte Überwachung möglichst teuer und damit hoffentlich eingeschränkt wird.
- Zu guter letzt: Das Google-Ranking wird angeblich besser, wenn die Seite über SSL/TLS angeboten wird.
Bei All-inkl war der Zugriff auf die eigene Web-Seite per SSL/TLS bisher lediglich per SSL-Proxy (z.B. https://ssl-account.com/klein-gedruckt.de) möglich. Der direkte Zugriff auf die Web-Seite per SSL/TLS (z.B. https://klein-gedruckt.de) war mit (teilweise nicht unerheblichen) Zusatzkosten verbunden. Mit einer neuen Option im KAS kann der direkte SSL-Zugang nun selbst einfach eingerichtet werden. In den Tarifen PrivatPlus, Premium und Business ist dies sogar kostenlos. Dabei können nicht nur die von All-Inkl angebotenen selbst-signierten Zertifikate verwendet werden, sondern es können auch Zertifikate eingebunden werden, die von einer offiziellen CA signiert wurden.
Zeit also das eigene Blog umzustellen und die bisherigen Workarounds mit SSL-Proxy (siehe z.B. WordPress SSL Admin, WP-Plugin: SSL-Proxy URL Fixer oder ownCloud mit SSL-Proxy) abzulösen.
1. SSL im KAS aktivieren
Dazu einfach im KAS-System anmelden und den Menüpunkt “Domain” oder “Subdomain” auswählen und bei der abzusichernden (Sub-)Domain auf bearbeiten klicken. Anschließend kann man in der Übersicht den Punkt “SSL-Schutz” auswählen. Wie im ersten Bild gezeigt werden auf dieser Seite folgende Einstellungen vorgenommen:
- SSL/TLS-Schutz über die erste Dropdown-Box “SSL aktivieren” einstellen (siehe Schritt 1)
- Anschließend im CSR Generator die Angaben für den CSR-Request ausfüllen. Hierbei sollten die Zertifikatsdaten mit den WHOIS-Daten übereinstimmen. Das ist insbesondere dann wichtig, wenn das Zertifikat von einer offiziellen CA unterschrieben werden soll. Je nach Anbieter und Verfahren werden dabei eben die Zertifikatsdaten und die WHOIS-Daten abgeglichen. Stimmen diese nicht überein, wird das Zertifikat evtl. nicht ausgestellt (siehe Schritt 2).
- Durch drücken des Buttons “selbst signiertes SSL Zertifikat erzeugen” (siehe Schritt 3) wird ein Zertifikat generiert und die Felder “CSR”, “KEY” und “CRT” im Abschnitt “Zertifikatsdaten für Apache/mod_ssl” werdne anschließend mit den generierten Daten gefüllt (siehe Schritt 4)
Im Grunde genommen war es das schon. Nach einigen Minuten sollte die Domain dann auch schon per HTTPS erreichbar sein. Allerdings führt das selbstsignierte Zertifikat von All-Inkl leider zu einer Fehlermeldung im Browser, da Seiten mit selbst signierten Zertifikaten als nicht vertrauenswürdig gelten (siehe Bild). Diese Meldung lässt sich nur mit einem Zertifikat beheben, dass von einer vom Browser anerkannten CA signiert wurde. Ein entsprechende Signatur für sein Zertifikat wird beispielsweise kostenlos bei StartCom Ltd. (Start Commercial Limited) ausgestellt werden.
2. Zertifikat von StartSSL signieren lassen
Nachdem die Registrierung bei StartSSL erfolgreich abgeschlossen ist, kann im Control Center der “Validations Wizard” ausgewählt werden. Damit ein Zertifikat ausgestellt werden kann, muss hier zunächst nachgewiesen werden, dass man im Besitz der Domain ist, für die das Zertifikat ausgestellt wird. in der kostenlose Variante erfolgt dies mit einer E-Mail an eine von StartSSL vorgegebene E-Mail-Adresse. Dazu in der Dropdown-Box im ersten Schritt des Validation Wizard den Eintrag “Domain Name Validation” auswählen und im zweiten Schritt die Domäne eingeben, die validiert werden soll (bei mir z.B. klein-gedruckt.de). Im dritten Schritt muss dann nur noch die E-Mail-Adresse ausgewählt werden, an die der Bestätigungscode gesendet wird. Wichtig ist dabei natürlich, dass die Adresse zuvor auch im KAS angelegt wurde, sofern sie nicht schon existiert.
Nachdem die Domain korrekt validiert wurde, kann der “Certificates Wizard” aufgerufen werden (siehe Schritt 5). Auf der ersten Seite wird in der Dropdown-Listbox “Certificate Target” der Eintrag “Web Server SSL/TLS Certificate” (siehe Schritt 6) ausgewählt.
Auf der darauf folgenden Seite ist es wichtig, dass kein neuer privater Schlüssel generiert wird. Da der private Schüssel möglichst wenigen bekannt sein sollte, ist es am sinnvollsten den privaten Schlüssel von All-Inkl zu verwenden. Daher wird dieser Schritt mit “Skip” übersprungen (siehe Schritt 7).
Im nächsten Dialog (Schritt 8) wird dann der Wert im CSR-Feld aus dem KAS in Schritt 4 eingetragen. Danach wird bestätigt, dass StartSSL den Zertifikats-Request erhalten hat (siehe Schritt 9).
In Schritt 10 wird dann in der Dropdown-Listbox die Domäne ausgewählt, für die das Zertifikat erstellt werden soll. Hier tauchen nur Domänen auf, die zuvor bestätigt wurden (siehe oben). Taucht die Domäne hier also nicht auf, so muss die entsprechende Domäne wie oben beschrieben mit dem “Validations Wizard” erneut validiert werden.
Im 11. Schritt muss dann noch eine Sub-Domain angegeben werden, für die das Zertifikat ausgestellt werden soll. Das Zertifikat gilt dann sowohl für die Domäne, die in Schritt 10 angegeben wurden als auch für die hier eingetragene Sub-Domain.
Nach einer Bestätigung in Schritt 12 ist dann auch schon das Zertifikat fertig. Wie beschrieben, sollte man das Zertifikat für die spätere Nutzung in einer Textdatei zwischenspeichern (Schritt 13). Zusätzlich muss auch das Intermediate-Zertifikat (auch Brückenzertifikat genannt) gespeichert werden (Schritt 14).
Nun muss nur noch das Zertifikat aus Schritt 13 im KAS in das Feld CRT eingetragen werden und das Intermediate-Zertifikat aus Schritt 14 in das Feld Brückenzertifikat eingetragen werden. Dazu wird das Intermediate-Zertifikat einfach im Browser geöffnet und per Copy und Paste in das Feld kopiert. Danach nur noch speichern und ein paar Minuten warten.
Wenn alles geklappt hat sollte die Fehlermeldung im Browser alles Grün werden und die Warnung verschwunden sein (siehe letztes Bild).
3. HTTPS erzwingen
Wenn alles funktioniert hat kann mit folgendem Eintrag in der .htaccess dann der Zugriff per HTTPS erzwungen werden, so dass ein unverschlüsselter Zugriff nicht mehr möglich ist:
Zusammen mit Basic Authentisierung empfehle ich eine andere Methode zur Weiterleitung der Requests auf HTTPS.
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
Damit das Google-Ranking mit übernommen wird ist es wichtig hier eine Weiterleitung mit Permanentem-Redirect (HTTP-STatus Code 301) umzusetzen.
Danach ist die Web-Seite nur noch per HTTPS erreichbar. Gleichzeitig sollte man sich eine Erinnerung machen, da das Zertifikat nur 1 Jahr gültig ist. Daher ist die oben genannte Prozedur spätestens nach einem Jahr zu wiederholen.
Hallo Stephan, super erklärt. Allerdings klappt es bei mir noch nicht ganz. Das Schloss hat in Chrome ein gelbes Dreieck “Außerdem enthält diese Seite andere, nicht sichere Ressourcen.” Muss ich die Schritte aus dem Folgebeitrag https://klein-gedruckt.de/2015/01/wordpress-auf-ssl-umstellen/ ebenso ausführen um alle Inhalte auf https: umzustellen? Danke Andreas
Hallo Andreas,
freut mich, dass dir die Anleitung geholfen hat. Um den Fehler mit den nicht sicheren Ressourcen zu beheben musst du, wie du schon vermutet hast alle HTTP-Links durch HTTPS-Links ersetzen. Dazu müssen ggf. neben den Änderungen an den Artikelinhalten in der Datenbank (siehe den von dir angesprochenen Artikel) auch noch fest verdrahtete Links im Theme angepasst werden. Erst wenn auf den Web-Seiten keine Bilder und Javascript mehr per HTTP eingebunden werden kommt das grüne Schloss.
Im schlimmsten Falle verhindert eine Plugin das Schloss indem es z.B. eine Javascript-Bibliothek per HTTP nachlädt.
Viel Erfolg bei der Umstellung.
Gruß
Stephan
Danke als aller erstes für die super Beschreibung!
Ich hätte noch zwei Fragen:
1: Das Intermediate-Zertifikat aus Schritt 14 – welche Beschriftung hat das nach dem herunterladen?
ca.pem oder sub.class1.server.ca.pem? Mea culpa – ich habe beim herunterladen nicht aufgepasst …
2: Nach dem eintragen im KAS, habe ich einen Test unter https://www.ssllabs.com/ssltest/index.html laufen lassen, dabei habe ich folgende Meldung bekommen: This server’s certificate chain is incomplete. Grade capped to B. Ist das normal?
Danke schon mal für die Hilfe
Beste Grüße Johannes
Seit einigen Tagen/Wochen (bin nicht ganz sicher…habs vorgestern erst entdeckt) kann man Let’s Encrypt Zertifikate im KAS erstellen lassen. Altes Zertifikat entfernen (Inhalt der Boxen), auf HTTP zurückstellen…1-2 Minuten warten – dann oben “Let’s Encrypt” auswählen, Haftungsausschluss akzeptieren…kurz warten…und 1-2 Minuten später ist alles paletti.
Daher sollte der Artikel vielleicht ergänzt/geändert werden :)
Vielen Dank für den Tipp! Das werde ich die Tage mal ausprobieren und dann ggf. den Artikel anpassen.
Gruß
Stephan
Ach so…laut Beschreibung erneuert es sich automatisch alle 90 Tage – ohne Zutun des Users. Was der Grund war, warum ich bis auf unser Forum jetzt überall gewechselt habe :)
Keine Gedanken mehr an abgelaufene Zertifikate, kein rumärgern mehr mit CRT/Keys und all dem Gedöhns (habs ja bislang auch bei StartSSL gemacht…echt Terror deren Seite^^ )
Grüße
Btw…vBulletin Usern(Admins) die aufgrund von Bildern in Postings, Signaturen, Blog usw. ständig eine Warnung wegen mixed-content(unsichere Verbindung) bekommen, sei dieser Mini-Mod ans Herz gelegt: http://www.vbulletin.org/forum/showthread.php?t=288060
Funktioniert wunderbar, gerade eingebaut.
so ist es.
Gerade wo ab Oktober google Seiten ohne ssl Verschlüsselung nicht mehr listen will ein aktuelles Thema