Hinweis: Mittlerweile unterstützt all-inkl.com im KAS auch Let’s Encrypt, was die Einbindung eines gültigen Zertifikats nochmal vereinfacht. Wenn der richtige Tarif gebucht ist, reichen nun folgende Schritte:

  1. Im KAS den Menüpunkt “Domain” oder “Subdomain” auswählen (je nachdem was abgesichert werden soll)
  2. Abzusichernde (Sub-)Domain auswählen/bearbeiten
  3. Unter SSL-Schutz im ersten Tab SSL grundsätzlich aktivieren
  4. 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:

  1. Schutz der Login-Daten bei der Übertragung.
  2. Schutz der Privatsphäre der Blog Besucher; insbesondere wenn aus öffentlichen Netzwerken auf die Seite zugegriffen wird.
  3. 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.
  4. 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 AdminWP-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 Einstellungen im KAS

  1. SSL/TLS-Schutz über die erste Dropdown-Box “SSL aktivieren” einstellen (siehe Schritt 1)
  2. 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).
  3. 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)

02_ZertifikatswarnungIm 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.

Anmerkung: Ggf. muss noch der SPAM-Filter von KAS kurzfristig deaktiviert werden, damit die Mail von StartSSL korrekt ankommt.
03_CertWizard_0104_CertWizard_02

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).

Certification Wizard 03Certification Wizard 04

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.

Certification Wizard 05Certification Wizard 06

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).

Certification Wizard 07Certification Wizard 08

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.

SSL Einstellungen im KAS 02Gültige TLS-Verbindung

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:

Achtung: Bevor eine permanente Weiterleitung auf SSL/TLS eingerichtet wird, solltet ihr sicherstellen, dass die Web-Seiten auch per SSL/TLS korrekt und vollständig erreichbar sind. Ggf. sind Änderungen an der jeweiligen Konfiguration (z.B. bei WordPress) vorzunehmen.

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.