15. Juni 2015

Besserer Datenschutz und mehr Sicherheit WordPress HTTPS mit SSL-Zertifikat einrichten

   21 Kommentare

Ein Beitrag von Hans Jung

Share on Facebook0Tweet about this on Twitter17Share on Google+5Share on LinkedIn0Email this to someone

Immer, wenn sensible Daten über das Internet übertragen werden, sollte die Übertragung verschlüsselt sein. Das betrifft den Login-Bereich eurer WordPress-Seite ebenso wie Formulare und Bestellungen in Shops. Wie ihr eure WordPress-Seite mit einem kostenlosen SSL-Zertifikat in 20 Minuten von http auf https umstellt, lest ihr hier.

WordPress login

Das richtige SSL-Zertifikat

Neben der generellen Unterscheidung in Zertifikate für eine Domain und sogenannte Wildcard-Zertifikate, die zudem für alle Subdomains gelten, werden die SSL-Zertifikate in diese drei Arten unterteilt:

  • Domain Validation
  • Organization Validation
  • Extended Validation (nur hiermit ist in allen Browsern die Adress-Leiste grün)

SSL-Zertifikat

Domain Validation

Für die meisten Webseiten sind diese Zertifikate ausreichend, da die Verschlüsselung ebenso sicher ist wie mit teureren Zertifikaten. Der Unterschied betrifft lediglich die Prüfung der Identität des Seitenbetreibers, die sich bei diesem Zertifikat auf den Abgleich mit den Daten der Domainregistrierung beschränkt. Diese Zertifikate sind innerhalb weniger Minuten ausgestellt, und es gibt bereits kostenfreie Quellen wie zum Beispiel startssl.com.

Organization Validation

Bei der Organization Validation wird neben dem Domaininhaber auch geprüft, ob die Organisation berechtigt ist, die Domain zu führen. Die Validierung ist dementsprechend zeitaufwendiger, und es wird in der Regel ein Handelsregisterauszug gefordert. Das Zertifikat eignet sich für Firmen, die keinen Online-Shop betreiben.

Extended Validation

Nur Zertifikate mit der Extended Validation führen zu den grünen Adress-Leisten in den Browsern eurer User. Der erhebliche Mehraufwand bei der Überprüfung eurer Daten rechtfertigt dann auch die fürstlichen Preise für diese Zertifikate, die bei anerkannten Zertifizierungsstellen wie Thawte und GeoTrust jährlich um die 180 Euro kosten, bei Symantec sogar über 600 Euro. Aufgrund der Kosten eigenen sich diese Zertifikate in erster Linie für Online-Shops, die Ihren Kunden sichtbare Sicherheit bieten wollen.

Egal für welche Validierungsart ihr euch entscheidet – achtet auf eine 256-bit Verschlüsselung (meist in Verbindung mit 2048-bit RSA).

WordPress Seite auf HTTPS umstellen

Da bei der Umstellung auch Änderungen an eurer Datenbank notwendig sind, solltet ihr vorher ein Backup eurer Seite und Datenbank erstellen. Unabhängig von der Zertifikatsart, für die Ihr euch entscheidet, ist der Vorgang für die Umstellung eurer Seite immer derselbe.

1. Zertifikat hinterlegen

Bei eurem Hoster hinterlegt ihr in der Domainverwaltung das von der Zertifizierungsstelle herausgegebene Zertifikat. Da die einzelnen Klicks vom jeweiligen Hoster abhängen, folgt ihr am besten der Anleitung eures Hosters oder lasst euch dabei vom Support helfen. Als Beispiel findet ihr hier die Anleitung von All-Inkl. Sobald das Aufrufen eurer Seite über https möglich ist, geht es mit dem zweiten Schritt weiter.

2. Die URL in WordPress ändern

Wie gewohnt meldet ihr euch am Backend eurer WordPress-Seite an und navigiert im Dashboard zum Punkt Einstellungen > Allgemein. Dort ändert ihr jetzt die URLs in den Feldern WordPress-Adresse (URL) und Website-Adresse (URL) von http://deine-url.de in https://deine-url.de. Nach dem Speichern müsst ihr euch erneut im Backend anmelden.

WordPress URL ändern

3. Die URL in der Datenbank ändern

Da die Medien in euren bisherigen Beiträgen noch per http eingebunden sind, müsst ihr jetzt die alten http-Links in https-Links ändern. Das könnt ihr zum einen über euer Datenbankverwaltungs-Tool erledigen, oder auf ein WordPress-Plugin zurückgreifen. Wir nutzen dazu das Plugin Better Search Replace, das diese Aufgabe zuverlässig und schnell erledigt.

Dazu schreibt ihr in das erste Textfeld eure bisherige URL (bei unserer Seite ist das http://pressengers.de) und in das zweite Textfeld die URL mit https (also https://pressengers.de). Per Klick wählt ihr die Tabellenblätter aus, in denen die Werte geändert werden sollen (Alle). Vor dem Ersetzen prüft ihr die neue URL nochmals auf Tippfehler.

better search replace

4. Eine 301-Weiterleitung in der .htaccess einrichten

Mit dem vorherigen Schritt ist eure Seite durchgängig per https zu erreichen. Damit auch externe Links (die noch auf die http-Version verlinken) auf den entsprechenden Seiten ankommen, richtet ihr eine permanente Weiterleitung – einen sogenannten „301-redirect“ – von http auf https ein. Dazu ergänzt ihr diesen Code in eurer .htaccess-Datei nach dem Eintrag # END WordPress:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Grundsätzlich ist damit die Umstellung eurer Seite auf https abgeschlossen. Die nächsten drei Punkte sind Fleißarbeit.

Fleißarbeit

Für die Umstellung auf https nicht notwendig, aber empfehlenswert:

Caching

Ihr verwendet ein Caching-Plugin für eure Seite? Dann ist jetzt der richtige Zeitpunkt, den Cache zu leeren und neu zu erstellen, damit keine http-Seiten ausgeliefert werden.

Performance

Dieses Feature wird leider nicht von allen Shared-Hosting-Anbietern unterstützt, aber mit der Funktion „connection: keep-alive“ holt ihr gerade bei SSL-verschlüsselten Seiten einiges an Ladezeitoptimierung raus. Denn ohne die Funktion baut ein Browser für jedes Element einer Webseite eine eigene Verbindung zum Server auf, bei der sie sich jeweils über die Verschlüsselung einigen müssen, die sogenannte „SSL-Negotiation“.

Mit dem keep-alive braucht der Browser nur eine verschlüsselte Verbindung mit eurem Server aufbauen, über die dann alle Elemente heruntergeladen werden. Mit Tools wie gtmetrix.com prüft ihr, ob das keep-alive durch euren Hoster schon standardmäßig aktiviert ist. Falls nein, könnt ihr versuchen, mit folgendem Code in eurer .htaccess-Datei die Funktion zu aktivieren:

<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>

Im Zweifelsfall haltet ihr Rücksprache mit eurem Hoster, ob die Funktion in eurem Hosting-Paket angeboten wird und wo ihr die Einstellung aktivieren könnt.

Webmaster Tools/Search Console

Nutzt ihr die Search Console (ehemals Webmaster Tools) von Google? Google unterscheidet zwischen den http und https Domains. Um auch weiterhin die Impressionen, Klicks und Benachrichtigungen für eure Seite zu erhalten, müsst ihr eure Seite mit der https-URL anlegen.

Share on Facebook0Tweet about this on Twitter17Share on Google+5Share on LinkedIn0Email this to someone
Hans Jung

Hans Jung

Hans ist Datenschutzbeauftragter und bekennender WordPress-Fan – und versucht beides unter einen Hut zu bekommen.
Hans Jung

Du willst up-to-date bleiben?

Trage dich jetzt in unseren kostenlosen Newsletter ein, um stets die aktuellsten Neuigkeiten rund um Wordpress zu erhalten.

Wir geben deine Daten nicht weiter! Wir hassen Spam genauso wie du!

21 Kommentare

Reaktionen auf diesen Beitrag

  • Hi Hans, cool dass du das Thema weiter in die Welt trägst :-)!

    Einige Tipps noch, für den Selbstversuch und das Leben mit HTTPS:

    – Beim Erstellen der Zertifikatanfragen (CSR – Certificate Signing Request) darauf achten, dass diese mit SHA256 gehast werden und nicht mehr mit SHA1. Auf der Kommandozeile funktioniert das mit „openssl … -sha256 …“. Bei anderen Tools solltet ihr selbst drauf achten.

    – Zertifikate im Idealfall mit einer Laufzeit von 1 Jahr erstellen. Heißt zwar auch jedes Jahr das Zertifikat auszutauschen, bringt dafür aber mehr Sicherheit, da ihr einmal im Jahr die alten Zertifikate aus dem Verkehr zieht und euch die Vorteile der Gegenwart ins Boot holt (SHA1 vs SHA256 z.B. aktuell gegen den LOGJAM Angriff)

    – Nach dem Einrichten kann und sollte man die Konfiguration noch einmal hierüber testen lassen (kostenlos und ungefährlich!): https://www.ssllabs.com/ssltest/
    Das Tool zeigt einem sehr einfach und übersichtlich an, was noch alles am Server konfiguriert werden muss. Auf jeden Fall den Haken unter dem Eingabefeld setzen!

    – Eines der häufigsten Probleme beim Einrichten von Zertifikaten sind die „Bundles“. In der Regel bekommt man nicht nur ein Zertifikat, sondern auch diverse Zwischenzertifikate (intermidiate bundle). Diese müssen in der richtigen Reihenfolge(!) mit eingebunden werden. Beim SSL Test muss bei allen Zertifikaten „sent by server“ stehen. Ansonsten kann es sein, dass, je nach Browser, eure Seite doch nicht als „https gesichert“ akzeptiert wird und eine häßgliche Warnung erscheint, da die Zwischenzertifikate fehlen.

    – Nur weil ein SSL Zertifikat hinterlegt wurde, heißt das nicht, dass die Seite damit sicher ist. Ein schlecht konfigurierter Server macht auch das beste Zertifikat sinnlos. Vergleich: Was bringt die beste Panzertür, wenn man sie in eine Papier-Wand einbaut? Hier hilft auch wieder SSLLabs. Ist man nun auf einem Shared Hoster unterwegs -> verloren. Ansonsten: Hand anlegen und die Server Configs anpassen (lassen)!

    – Aus eigener Erfahrung noch ein Tipp: Um komische wp-admin Redirects auf http zu vermeiden solltet ihr in der wp-config.php noch folgendes hinzufügen, sobald ihr HTTPS erfolgreich eingerichtet habt: define(‚FORCE_SSL_ADMIN‘, true);

    Zu guter letzt: So wie Hans das beschrieben hat, funktioniert das auch in einer Multisite. Die Einstellungen verstecken sich dann aber im „Nertzwerk Admin“ unter „Seiten“ und den Einstellungen der jeweiligen Seite. Für den Betrieb von mehreren Domains in einem Zertifikat gibt es ebenfalls inzwischen spezielle Zertifikate.

    Und wenn ihr keine Lust habt, das alles selbst zu machen, dann kommt bei https://wirliebenwp.de/managed-wordpress-hosting/ vorbei und freut euch drauf, dass wir uns dort in Kürze um all diese Themen kostenlos mit kümmern!

    Freue mich auf viele neue HTTPS WordPress Blogs!

    Jan

    • Hans Jung

      Hallo Jan,

      vielen Dank für deine Ergänzungen und insbesondere deinen Tool-Tipp für den ssltest!

    • Mike

      Hallo Jan,

      … bei dem „define(‚FORCE_SSL_ADMIN‘, true);“ kommen nicht wirklich die Anfuehrungsstriche vor/hinter FORCE_SSL_ADMIN – oder?!?

      Korrekt waere doch: define(FORCE_SSL_ADMIN, true);

      Danke & VG, Mike

  • Hallo Hans!

    Spannender Artikel. Trifft sich zeitlich super, da ich gerade einen Kunden habe, der sein WP auf SSL umstellen möchte, um den kleinen Google-Bonus im Ranking zu nutzen. Eine Frage ist jedoch noch offen: Welches Zertifikat sollte/muss ich nehmen, wenn ich die Seite für Google SSL-verschlüsseln möchte, damit das Ranking positiv beeinflusst wird. Ist dies schon bei der günstigen Variante der Fall oder sollte man – weil es vermutlich keine klaren Aussagen von Google gibt – direkt die extended validation verwenden?
    Viele Grüße!

    Jens

    • Hans Jung

      Hallo Jens,

      mit ist keine Aussage bekannt, dass es als Ranking-Faktor auf die Validierungsart des Zertifikats ankommt. Wenn dein Kunde über die Webseite Vertrauen aufbauen möchte, ist ein Zertifikat mit EV wegen der grünen Adressleiste sicherlich hilfreicher. Aktuell gibt es bei Comodo eine Aktion: SSL-Zertifikat mit EV für 99 Euro netto, da kann man fast nichts falsch machen.

    • Hi Jens,

      Aus meinen Erfahrungen heraus ist es vollkommen egal, solange die Seite ordentlich per https abgesichert ist. Und da ist jedes Zertifikat mit 2048 bit und SHA256 gleich gut. Egal ob kostenlos, 9€, oder 199€.

      Alles weitere inhaltliche hat Hans ja bereits kommentiert :-). Und die 99€ für ein EV sind ein hervorragender Kurs!

      Grüße, Jan

  • Hallo liebe Leute
    Ich habe versucht nach Ihren Anleitungen das SSl einzurichten, leider ist folgende Fronten ist alles normal geblieben. Aber wenn ich mich ins Backend anmelden möchte muss ich immer ein neues Passwort beantragen wenn ich dieses getan habe bin ich wieder im Backend und habe die ssl abgesicherte Seite günes Schloss was kann ich tun kann mir eine Helfen

    lg.
    Pitter

  • Ein DICKES Dankeschön!
    Habe alle Sites erfolgreich auf https umgestellt. Mit StartSSL und Deiner Anleitung ein Kinderspiel.

    Gruß!

  • Wirklich guter Artikel und Zeigt auch Ihre Kompetenz. Weiter so.

  • Vielen Dank für diese sehr gute Anleitung! Auf meiner Seite funktionierte alles bestens, nur bei einer Kundenwebsite, die bei Strato gehostet ist, gab es Probleme durch die Angabe in der .htaccess.
    Erst diese Variante funktionierte:

    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

    (Quelle: https://pabstwp.de/wordpress-website-komplett-per-https-verschluesselt-anzeigen/)

  • Andreas Wieland

    Eine Frage habe ich dazu. Wenn ich meine Seite auf htttps umstelle, sind dann automatisch Daten, die ich über Formulare von Kunden abfrage sicher?

  • Kostenlose SSL Zertifikate gibts es neuerdings von https://letsencrypt.org. Mein Provider bietet diese automatisch an.

  • Jens | Sir Apfelot

    Ja, meiner auch! Ich war so begeistert von der 1-Klick-Verschlüsselung, dass ich gleich eine Lobeshymne darauf geschrieben habe: http://www.sir-apfelot.de/wordpress-ssl-umstellen-test-1-klick-loesung-4407/
    🙂

  • Hallo, ein sehr interessanter Artikel, ich habe meinen Shop gemäß Anleitung umgestellt und es funzt problemlos! Eine Frage noch: sollte man nach der Umstellung auch die Sitemap bei den Google Webmastertools neu einreichen?

    Vielen Dank und viele Grüße

    • Katharina

      Hallo Marcel,

      freut mich, dass die Anleitung dir geholfen hat!

      Ja, du musst in der Google Search Console die HTTPS-Version deines Shops separat anlegen und entsprechend auch eine neue Sitemap einreichen.

      Viele Grüße,
      Katharina

  • Michael

    Interessanter Artikel und gute Anleitung. Bleibt bei mir eine Frage übrig, denn das man in der Webmaster Konsole die Url neu anlegen muss ist klar, aber wie schaut das eigentlich bei Google News aus? Muss man sich da dann auch erneut anmelden?

  • Mike

    Hallo,

    … toller Artikel + Beteiligung! Echt Klasse!
    Passt bei mir zeitlich genau ins Schema 😉

    Aber bitte Leute – es heißt NICHT „Die URL …“ SONDERN „Der URL …“ (Uniform Resource Locator)!
    Oder ist das Euch mittlerweile egal?

    Naja – die Welt davon nicht unter gehen – ODER ?!? 😉

    VG, Mike

Schreibe einen Kommentar

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