Da ich nun im Zusammenhang mit der DSGVO bereits mehrfach gefragt wurde, wie man eine WordPress Installation auf das SSL verschlüsselte Protokoll HTTPS umstellt, möchte ich das hier noch einmal zusammenfassen, schließlich sind für jede Webseite, die Formulare beinhaltet oder Nutzerdaten verarbeitet, geeignete technische Schutzmaßnahmen gefordert.
Letztlich sind (abgesehen von der Beschaffung und Installation des SSL Zertifikats, was üblicherweise der Webhoster übernimmt) nur zwei Schritte und nicht zwingend ein Plugin erforderlich.
Die beiden Schritte sollten in der hier angegebenen Reihenfolge angewandt werden, andernfalls ist die Webseite unter Umständen vermeintlich nicht mehr erreichbar.
Voraussetzungen
Für die nachfolgenden Schritte wird davon ausgegangen, dass
- ein gültiges SSL Zertifikat auf dem Webserver eingespielt wurde,
- ein Zugang via (S)FTP auf die Dateien des Webservers existiert,
- WordPress installiert und konfiguriert wurde,
- der Zugang zur WordPress Konfiguration (Einstellungen im Backend) gegeben ist und
- die Installation dem Standard entspricht.
1. Anpassung der Webseiten URL
In WordPress selber sollte man zunächst in den Einstellungen (Einstellungen | Allgemein) sowohl die WordPress-Adresse (URL), also auch die Website-Adresse (URL) auf das verschlüsselte Protokoll anpassen, also üblicherweise aus dem http:// ein https:// machen. Das Resultat sollte dann in etwa wie folgt aussehen:
Dieser Schritt sollte unbedingt vor der Änderung an der .htaccess Datei auf dem Server erfolgen, da WordPress sich ansonsten über die vermeintlich falsche URL nicht mehr aufrufen lässt.
2. Anpassung der .htaccess Datei
Auf dem Webserver liegt in dem Verzeichnis, in dem sich auch die WordPress Installation befindet, eine Datei mit dem Namen .htaccess. Diese muss man sich (z.B. per FTP) auf seinen lokalen Rechner ziehen und anpassen. Es macht absolut Sinn, dass man sich eine Sicherheitskopie der Datei .htaccess vor der nachfolgenden Anpassung erstellt, denn die .htaccess Datei ist “empfindlich”. Wurden die Änderungen nicht korrekt eingearbeitet oder gibt es einen Konflikt mit anderen Konfigurationen in der Datei, ist die Webseite üblicherweise nicht mehr erreichbar. Ein Internal Server Error 500 ist dann oftmals das Resultat.
Die folgenden Zeilen fügt man in die Datei ein, z.B. vor dem ersten bereits bestehenden “<IfModule”
# BEGIN HTTPS Redirection <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule> # END HTTPS Redirection
Anschließend kopiert man die überarbeitete .htaccess Datei wieder auf den Server an die alte Stelle.
Das Resultat dieser Zeilen ist, dass alle Seitenaufrufe nun auf die verschlüsselte Version umgebogen werden. Jede Seite wird vom Webserver nun zwingend über die mit SSL gesicherte virtuelle Leitung übertragen und vermeidet Inkonsistenzen mit verschlüsseltem und unverschlüsselten Inhalten und ist aus diesem Grund dringend zu empfehlen.
Abschließende Hinweise
SSL Zertifikate werden nur auf Zeit ausgestellt und müssen vor Ablauf rechtzeitig erneuert werden. An dieser Konfiguration muss dazu nichts mehr geändert werden, allerdings werden Webseiten mit abgelaufenen Zertifikat in aktuellen Browsern nicht mehr angezeigt, auch das WordPress Backend nicht mehr!
Wenn etwas nach den Anpassungen nicht mehr so läuft, wie erwartet, hilft es die Schritte in umgekehrter Reihenfolge rückgängig zu machen, also die nicht modifizierte .htaccess (Backup!) wieder auf den Server kopieren und anschließend die Einstellungen in WordPress rückgängig zu machen. Sollte das Backend nicht erreichbar sein, so findet man die Einstellungen zur WordPress-Adresse und Website-Adresse in der WordPress Datenbank. In der Tabelle “options” sind dann die Einträge “siteurl” und “home” zu finden.
Warnung: Änderungen und Korrekturen unmittelbar in der Datenbank erfordern allerdings gewisse Grundkenntnisse und Sicherheiten und entsprechen einem Eingriff am offenen Herzen …