Ratgeber: WordPress Webseite mit Let’s Encrypt Zertifikat auf HTTPS umstellen

Juli 2018 – Das ist das Stichdatum, ab dem Google unverschlüsselte Webseiten in seinem Browser Chrome als unsicher markieren wird. Doch das ist nicht der einzige Grund, sich mit dem Thema HTTPS-Verschlüsselung zu beschäftigen. Denn neben Reputationsverlust bei Google & Co, ist eine unsichere Webseite auch potentielles Schlupfloch für Hacker und Datendiebe. So schreibt dann auch die ab 25. Mai 2018 geltende Datenschutzgrundverordnung (DSGVO) eine Verschlüsselung bei der Übertragung vertraulicher Daten vor, z.B. beim Einsatz von Kontaktformularen.

Dank kostenlosen Anbietern wie Let’s Encrypt sind SSL-Zertifikate nicht mehr nur Unternehmen vorbehalten, sondern auch Privatanwender können ihre Webseite absichern. Daher möchte ich euch in diesem Artikel den kompletten Prozess der HTTPS-Umstellung vorstellen: Ich werde euch die Erstellung eines Let’s Encrypt Zertifikates erklären und am Beispiel von Hosteurope zeigen, wie ihr es integriert. Zu guter Letzt erfahrt ihr noch, wie ihr eure WordPress Webseite Schritt für Schritt von HTTP auf HTTPS umstellt. Und jetzt viel Spaß beim Lesen!

Wieso HTTPS?

Gegenüber dem klassischen HTTP-Protokoll erlaubt HTTPS eine Verschlüsselung des Datenverkehrs zwischen dem Webbrowser (auf eurem Rechner) und dem Webserver (die Webseite, die ihr besucht). Dafür kommt der SSL-Standard zum Einsatz. Das ist beispielsweise sinnvoll, um die Eingabe von Daten in Webformularen oder beim Login zum Admin- oder Kundenbereich abzusichern. Andernfalls werden Daten im Klartext unverschlüsselt übertragen und können so von Hackern abgefangen und manipuliert werden.

Damit das Ganze funktioniert, benötigt ihr sogenannte SSL-Zertifikate. Diese SSL-Zertifikate gibt es in unterschiedlichen Ausprägungen und zu unterschiedlichen Preisen.

Welches Zertifikat ist das richtige für mich?

Die Art des Zertifikats richtet sich nach dem Schutzbedarf eures Webprojektes. Es werden 3 Arten nach ihrer Validierung unterschieden:

Domain Validation SSL-Zertifikat

Diese Art des Zertifikats ist die günstigste Version und kommt am häufigsten zum Einsatz. Domain Validation Zertifikate werden nur durch eine E-Mail validiert und sind innerhalb kurzer Zeit einsatzbereit. Im Wesentlichen wird nur die Echtheit der Domain geprüft, nicht jedoch des Inhabers. Für die meisten WordPress Projekte ist diese Form des Zertifikats ausreichend. Die Kosten liegen um die 2 bis 3 EUR im Monat. Auch die kostenlosen Let’s Encrypt Zertifikate gehören zu diesem Typ. Weiter unten erkläre ich euch, wie ihr Let’s Encrypt Zertifikate bei Hosteurope einbindet.

Organization Validation SSL-Zertifikat

Eine Organisations-Validierung bietet sich meist für Shops und Portale an. Ein solches SSL-Zertifikat bietet eine höhere Vertrauenswürdigkeit als das Domain-validierte Zertifikat, da hier auch der Domaininhaber bzw. die Organisation überprüft wird. Die Ausstellung dauert ein paar Tage, da der Prozess aufwändiger ist. Meist wird der Handelsregisterauszug geprüft und es erfolgt eine telefonische Validierung der autorisierten Person. Die Kosten liegen entsprechend höher als beim Domain Validation Zertifikat und beginnen bei 6 bis 7 EUR im Monat.

Extended-Validation SSL-Zertifikat

Hierbei handelt es sich um die sicherste und zugleich teuerste Version der SSL-Zertifikate. Bei Hosteurope kosten diese aktuell 25 EUR im Monat. Gerade bei Webseiten mit sehr sensiblen Daten, z.B. aus der Finanzwelt oder auch großen Shops oder Unternehmensseiten, kann das Zertifikat Sinn machen. Die Vertrauenswürdigkeit wird im Browser in der Adressleiste durch grüne Schrift bzw. ein grünes Schloss gekennzeichnet. Die Ausstellung dauert hier am längsten, da zahlreiche Daten geprüft werden. So werden nicht nur öffentlich zugängliche Daten, wie der Handelsregisterauszug, validiert, sondern auch eure Identität umfassend festgestellt.

Warum Let’s Encrypt Zertifikate?

kostenlose SSL-Zertifikate Bei Let’s Encrypt handelt es sich um eine öffentliche Zertifizierungsstelle, welche 2015 von der Internet Security Research Group (ISRG) ins Leben gerufen wurde.  In der Vereinigung haben sich verschiedene Einrichtungen und Unternehmen, wie z.B. die Electronic Frontier Foundation (EFF), die Mozilla Foundation und Cisco Systems, zusammengeschlossen. Ziel ist es, verschlüsselte Verbindungen im Internet voranzubringen und den Prozess der Erstellung, Validierung, Signierung und Einrichtung zu vereinfachen. Laut einem Artikel von heise nutzen mittlerweile 63 Millionen Domains ein kostenloses Zertifikat von Let’s Encrypt. Wenn das keine Erfolgsgeschichte ist!

Der Vorteil für euch liegt auf der Hand: Ihr erhaltet bei Let’s Encrypt kostenlose Domain Validation SSL-Zertifikate. Damit könnt ihr eure Webseiten absichern und werdet ab Juli 2018 nicht von Google abgestraft. Zusätzlich verbessert sich mit dem Einsatz von SSL-Zertifikaten in der Regel die Ladezeit der Webseite. Und da Google die Verschlüsselung als Ranking-Faktor mit heranzieht, kommt dies auch eurer Position im Google Index zugute.

Wie ich oben bereits erwähnt habe, vereinfacht Let’s Encrypt die Erstellung von SSL-Zertifikaten. Dazu kommt ein sogenanntes Automated Certificate Management Environment (ACME) zum Einsatz. Über eine entsprechende Schnittstelle können sich Unternehmen mit den Zertifizierungsservern von Let’s Encrypt verbinden und dadurch die Erstellung der Zertifikate automatisieren. ZeroSSL ist ein solcher Dienst. Er bietet eine Weboberfläche zur Erstellung und Verlängerung von Let’s Encrypt Zertifikaten. Laut ZeroSSL werden dabei keine Daten von euch gespeichert. Ich habe diesen Dienst zur Erstellung der SSL-Zertifikate für meinen Blog und andere Webseiten genutzt und erkläre euch im Folgenden, wie es funktioniert.

Einen Haken gibt es: Let’s Encrypt Zertifikate haben aktuell eine Gültigkeit von 90 Tagen und müssen danach verlängert werden. Einige Hoster bieten dies für ihre Kunden automatisch an. Bei Hosteurope ist dies nicht der Fall. Hier müsst ihr selber die Verlängerung vornehmen. Das dauert jedoch nur ein paar Minuten. Trotzdem wäre es natürlich wünschenswert, wenn Hosteurope diesen Automatismus anbieten würde. So müsst ihr derzeit sowohl das Zertifikat erstmalig hochladen als auch bei Verlängerung diesen Vorgang im KIS von Hosteurope wiederholen.

Es gibt aber gute Neuigkeiten, um den Aufwand etwas zu reduzieren: Let’s Encrypt unterstützt seit März 2018 auch Wildcard-Zertifikate. Mit einem Wildcard-Zertifikat lassen sich weitere Subdomains bequem abdecken. So kann beispielsweise *.meinedomain.de bei der Zertifikatserstellung angegeben werden. Dadurch werden dann Subdomains wie mail.meinedomain.de oder shop.meinedomain.de mit verschlüsselt.

Wie funktioniert die Erstellung eines Let’s Encrypt Zertifikates?

Zunächst geht ihr auf die Webseite von ZeroSSL. Dort wählt ihr „Online Tools“ und dann den FREE SSL Certificate Wizard. Jetzt sind es nur 3 Schritte bis zum fertigen SSL-Zertifikat:

1Im Beispiel gehen wir davon aus, die Domain http://domaintest123.de/ verschlüsseln zu wollen. Dazu geben wir optional unsere Email-Adresse ein, um später über die Verlängerung informiert zu werden. Auch im Falle einer Wiederherstellung ist die Email-Adresse hilfreich. Im zweiten Feld fügt ihr eure Domain(en) ein. Dafür ergänzt ihr sowohl die Variante mit www als auch ohne www. Ihr könnt hier mehrere Domainen, mit Leerzeichen oder Komma getrennt, eingeben.

Meine Empfehlung lautet, die Domain mit www als erste einzufügen. Andernfalls kann es zu einer Fehlermeldung eures Apache Webservers kommen. Warnungen wie „server certificate does NOT include an ID which matches the server name“ sind zwar nicht kritisch, können aber so vermieden werden.

Bei Beantragung von Wildcard-Zertifikaten müsst ihr die DNS-Methode zur Verifizierung wählen.

Jetzt wählt ihr noch eine Verifikationsmethode: Ich empfehle euch HTTP. Diese Methode ist schneller und einfacher als die DNS Methode. Bei letzterer müsst ihr einen neuen DNS Eintrag einfügen. Bei der HTTP Methode nur ein Verzeichnis via FTP anlegen und Dateien hochladen. Klickt dann auf weiter. Nun wird der CSR (Certificate Signing Request = Zertifikatsignierungsanforderung) in der rechten Box erstellt, den ihr euch abspeichert. Klickt wieder auf weiter und der private Account Key wird in der linken Box erstellt. Diesen ladet ihr ebenfalls herunter.

2Im folgenden Verifizierungsschritt müsst ihr belegen, dass es sich um eure Webseite handelt. Dazu erstellt ihr im Hauptverzeichnis eurer WordPress Webseite ein Verzeichnis namens „.well-known/acme-challenge“. Jetzt ladet ihr die beiden Dateien bei ZeroSSL herunter und übertragt sie in das Verzeichnis auf eurem Server. Klickt dann auf weiter.

3Hat die Verifizierung funktioniert, wird das finale Zertifikat erstellt und ihr könnt es euch zusammen mit dem privaten Domain-Schlüssel herunterladen. Diese Dateien solltet ihr gut aufbewahren. Sie werden benötigt, um bei Hosteurope die Verschlüsselung eurer Webseite zu realisieren.

Wenn ihr alle Schritte richtig vollzogen habt, solltet ihr am Ende 4 Dateien haben:

  • euer privater Account Schlüssel: account-key.txt
  • die Zertifikatsignierungsanforderung: domain-csr.txt
  • das Zertifikat: domain-crt.txt
  • der private Domain-Schlüssel: domain-key.txt

    Wie erfolgt die Integration des SSL-Zertifikates bei Hosteurope?

    Let’s Encrypt Zertifikate lassen sich bei allen WebHosting Paketen von Host Europe einbinden. Ich nutze selber WebServer Basic und habe das Zertifikat dort problemlos eingebunden. Hier sind die Änderungen sofort sichtbar. Bei den günstigen Hosting-Paketen sagt Hosteurope, dass es bis zu 48 Stunden dauern kann.

    Zunächst meldet ihr euch im KIS von Hosteurope an. Wählt dann „Produktverwaltung“ und anschließend „Webhosting“ bzw. „Webserver“. Klickt dann auf die Konfiguration eures Paketes und geht zum Menüpunkt „Sicherheit & SSL“ und dort zu „SSL administrieren“.

    Bei Hosteurope ist das erste Zertifikat immer auch das globale Zertifikat. Es gilt daher für alle Webseiten, die ihr betreibt. Deshalb macht es Sinn, schon bei der Zertifikatserstellung alle Domainen in das Zertifikat einzutragen. Ihr könnt dann mit nur einem Zertifikat alle Domainen mit HTTPS absichern. Klickt deshalb neben „global“ auf „Zuweisen“. Im folgenden Fenster ladet ihr jetzt die zwei Textdateien hoch. Und zwar das Zertifikat mit der domain-crt.txt und den Key mit domain-key.txt. Ein Passwort muss nicht eingetragen werden, da es nicht vergeben wurde. Und auch das Feld „CA“ könnt ihr leer lassen. Normalerweise lässt sich hier das Aussteller-Zertifikat separat hochladen. Da dies aber in eurem Zertifikat enthalten ist, entfällt der Schritt.

    Wenn ihr auf „Absenden“ klickt, wird euer SSL-Zertifikat hochgeladen und aktiviert. Das könnt ihr testen, indem ihr eure Webseite mit HTTPS aufruft. Dies sollte bereits funktionieren. Wie oben erwähnt, kann es bei Webhosting Paketen mitunter etwas länger dauern. Hat alles geklappt, kommen wir zum letzten Schritt: der Umstellung eurer WordPress Webseite auf HTTPS.

    Wie stelle ich meine WordPress Webseite auf HTTPS um?

    Wichtig: Bevor ihr startet, legt ein Backup eurer Datenbank an.

    Die folgende Methodik funktioniert sowohl bei einer normalen WordPress Installation als auch bei einer Multisite Umgebung. Damit eure Webseite zukünftig über HTTPS erreichbar ist, müssen in der WordPress Datenbank alle Einträge von HTTP in HTTPS geändert werden. Versierte Anwender können das über phpMyAdmin erledigen. Alternativ bietet sich ein Plugin dafür an: Better Search Replace.

    Nachdem ihr das Plugin installiert und aktiviert habt, findet ihr es unter dem Menüpunkt „Einstellungen“ in WordPress. Die Bedienung ist denkbar einfach: Ihr sucht nach eurer alten Domain, z.B. http://domain.de, und ersetzt diese durch HTTPS://domain.de. Bei Groß-/Kleinschreibung sowie GUIDs setzt ihr keinen Haken. Wenn ihr wollt, könnt ihr jetzt einen Testlauf machen. Hat alles geklappt, nehmt ihr den Haken bei Testlauf raus und startet die Ersetzung.

    Während des Prozesses werdet ihr höchstwahrscheinlich automatisch vom System abgemeldet. Keine Panik. Ihr meldet euch jetzt einfach in WordPress unter eurer neuen Adresse HTTPS://domain.de/wp-login.php wieder bei WordPress an. Sollte wider Erwarten das Ersetzen nicht vollständig funktioniert haben, könnt ihr den Vorgang wiederholen. Bei großen WordPress Installationen oder Performance Problemen kann das schonmal vorkommen.

    Wenn ihr fertig seid, sollte eure WordPress Webseite vollständig über HTTPS erreichbar sein. Unter „Einstellungen“ und „Allgemein“ könnt ihr noch kurz prüfen, ob die WordPress URL jetzt mit HTTPS eingetragen ist. Auch ein Blick in die Permalink-Struktur lohnt sich. Auch hier sollte jetzt alles auf HTTPS lauten. Bei bestimmten Themes solltet ihr in die Einstellungen schauen, ob Elemente wie das favicon auch auf HTTPS-Verlinkung geändert wurden.

    Benutzt ihr ein Caching-Plugin wie W3 Total Cache oder Autoptimize, dann empfiehlt es sich den Cache komplett zu löschen.

    …und zum Schluss: Mixed Content, Google & HSTS

    Mixed Content beheben

    In vielen WordPress Installationen kommen zahlreiche Plugins und unterschiedliche Themes zum Einsatz. Nicht immer sind diese auf HTTPS optimiert. Das heißt, es kann externe Ressourcen geben, welche via HTTP-Protokoll nachgeladen werden. Das können beispielsweise Schriften sein. Je nach Browser seht ihr dann kein Schloss vor eurer URL im Webbrowser, sondern ein Ausrufezeichen oder Info-Symbol. In diesem Fall müsst ihr nochmal Hand anlegen.

    http und https gemischt Dabei genügt schon eine einzelne Datei, welche via HTTP auf eurer Webseite geladen wird, damit HTTPS nicht korrekt ausgeliefert wird. Das Problem ist auch als Mixed Content bekannt. Daher solltet ihr eure WordPress Webseite dahingehend überprüfen. Ein guter Service dafür ist der kostenlose Dienst Why No Padlock?. Hier könnt ihr einfach eure Webseite auf Mixed Content überprüfen lassen. Sollte dies der Fall sein, gibt es verschiedene Lösungsansätze.

    Einerseits könnt ihr das betroffene Plugin bzw. Theme wechseln. Letzteres ist nicht immer praktikabel. Alternativ lässt sich die entsprechende Datei ändern, indem ihr die Code-Zeile mit HTTP ausfindig macht und in HTTPS ändert. Ist euch das zu kompliziert, können Plugins wie SSL Insecure Content Fixer oder Really Simple SSL helfen. Wenn ihr diese installiert, beheben Sie automatisch Mixed Content Probleme.

    Weiterleitung einrichten

    Ein weiterer Bereich auf den ihr achten solltet, ist das Thema Weiterleitung. Damit das Ranking eurer Seite nicht leidet und Nutzer immer die HTTPS-Version eurer Webseite präsentiert bekommen, empfiehlt es sich, eine 301-Weiterleitung von der alten HTTP- auf die neue HTTPS-Seite einzurichten. Bei Anbietern wie Strato könnt ihr das direkt im Kundenmanagenemtsystem machen. Bei Hosteurope und anderen Hostern nutzt ihr am besten die .htaccess Datei dafür, welche im Hauptverzeichnis eurer WordPress Installation liegt. Dort fügt ihr direkt am Anfang diesen Code ein:

    Ein Tipp an dieser Stelle: Verwendet zum Bearbeiten der .htaccess nicht den Windows Texteditor. Damit wird die Datei für den Webserver unlesbar. Besser ist der kostenlose Editor Notepad++.

    Google Search Console anpassen

    Damit die HTTPS-Version eurer Webseite vernünftig indexiert wird, solltet ihr in der Google Search Console neue Properties anlegen. Und zwar für jede Version eurer Webseite. Das heißt: wenn ihr bisher eure Webseite mit www und ohne www eingetragen habt, wiederholt ihr dies nun für die HTTPS-Version. Am Ende gibt es also 4 Einträge in der Search Console, wie im Bild zu sehen ist.

    Im nächsten Schritt solltet ihr für euer bevorzugtes Property (z.B. die HTTPS-Version ohne www), die Sitemap neu hochladen. Dies könnt ihr in der entsprechenden Property unter dem Menüpunkt „Crawling“ und „Sitemaps“ realisieren. Dort fügt ihr über die Schaltfläche „Sitemap hinzufügen/testen“ die neue Sitemap hinzu. Habt ihr die Sitemap auch in eurer robots.txt hinterlegt, müsst ihr auch hier den Link auf HTTPS aktualisieren.

    Solltet ihr Google MyBusiness nutzen, denkt daran eure URL auch dort zu ändern. Und falls ihr auf Google Analytics setzt, ist jetzt ein guter Zeitpunkt, die Verknüpfung mit der Search Console zu aktualisieren. Mehr dazu erfahrt ihr in diesem lesenswerten Artikel von Cathrin Tusche.

    HTTP Strict Transport Security aktivieren

    HTTP Strict Transport Security, kurz HSTS, ist eine praktische Funktionalität, um den Einsatz einer verschlüsselten Verbindung für Besucher eurer Webseite zu forcieren. Der Browser ruft dadurch ausschließlich die HTTPS-Version auf und speichert diese Einstellung für eine längere Zeit. So wird auch eine potentielle Aushebelung der Verbindungsverschlüsselung durch Angreifer umgangen.

    Aktivieren lässt sich HSTS auf verschiedene Arten: Verwendet ihr das Cache-Plugin W3 Total Cache, könnt ihr unter dem Menüpunkt „Browser Cache“ einen Haken bei „Apply HTTP Strict Transport Security Policy“ setzen. Verwendet ihr das Plugin nicht, lässt sich HSTS über einen direkten Eintrag in der .htaccess erzwingen:

    Max-Age gibt an, wie lange der Browser die Einstellung speichert. Mit includeSubDomains gebt ihr an, dass die Einstellung auch für eure Subdomains gilt, wenn ihr welche habt.

    Wenn ihr HSTS aktiviert habt, könnt ihr mit dem kostenlosen Test von SSL Labs prüfen, ob es funktioniert. Dazu gebt ihr eure Webseite in das Feld „Hostname“ ein und klickt beim Testergebnis auf die IP eures Servers. Im Bereich „Protocol Details“ sollte dann der Eintrag „Strict Transport Security (HSTS)“ grün markiert sein.

    Fazit

    Im Blog von Sebastian Brosch wird die Verlängerung eines Let’s Encrypt Zertifikats beschrieben.

    Die Verschlüsselung von Webseiten via HTTPS ist keine nice-to-have mehr, sondern ein must-have. Dank den kostenlosen Zertifikaten von Let’s Encrypt ist ein solches Vorhaben auch für kleine Webprojekte erschwinglich. Doch sollte die Umstellung gut geplant sein, damit am Ende eure Webseite funktioniert, es keine Probleme mit Mixed Content gibt und das Ranking bei Google nicht leidet.

    Mit der Migration von HTTP auf HTTPS verbessert sich der Datenschutz (Stichwort DSGVO), die Ladegeschwindigkeit und letzlich profitiert eure Webseite auch aus SEO-Sicht von diesem Mehr an Sicherheit. Also: Viel Erfolg beim Umstellen!

     

    • Abonniere den fotobeam Newsletter und erhalte neue Artikel sofort in deine Mailbox!

      Weitere Informationen findest du in der Datenschutzerklärung.
    Wie hat dir der Artikel gefallen?
    [Bewertungen: 0 Durchschnitt: 0]
    Posted in:

    3 Kommentare

    1. Habe versucht mit dieser Anleitung ein Wildcard-Zertifikat zu machen. Das Resultat ist eher kurios. Der Browser meldet nun:
      „Dieser Server konnte nicht beweisen, dass er xyz.com ist. Sein Sicherheitszertifikat stammt von *.xyz.com “
      Irgendwie scheine ich den Sinn von Wildcard-Zertifikaten missverstanden zu haben….
      Weiss jemand mehr?

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.