28
Sep

WordPress SSL Verschlüsselung

/
28. September 2017
/
/
359 Views

WordPress unterstützt das abhörsichere Kommunikationsprotokoll HTTPS, aber was bedeutet dieses für Webseitenbetreiber überhaupt? In diesem Beitrag zeigen wir dir, warum du unbedingt eine WordPress SSL Verschlüsselung einrichten solltet, welche Vorteile dieses birgt und wie du die WordPress SSL Verschlüsselung aktivierst. Zusätzlich findet ihr hier eine genaue Anleitung, wie ihr eure WordPress-Seite auf HTTPS umstellt und was ihr dabei beachten müsst.

Was ist SSL oder HTTPS überhaupt?

HTTPS ist ein Webstandard, mit dessen Hilfe sich Inhalte verschlüsselt über das Internet transportieren lassen. Standardmäßig werden Daten, welche zwischen dem Webserver und dem Webbrowser ausgetauscht werden, unverschlüsselt übertragen (die Übertragung findet mit dem Standard HTTP statt – also ohne dem S, welches für Secure steht). Somit können die Inhalte theoretisch von jeder Person gelesen werden, da diese im Klartext einsehbar sind. Vor allem wenn benutzerbezogene Daten wie beispielsweise Zahlungsinformationen über das Internet übertragen werden, muss diese Verschlüsselungsmethode unbedingt Einsatz finden. Ansonsten können Angreifer die Daten mithilfe eines sogenannten Man-in-the-Middle-Angriffs abgreifen und  für ihre Zwecke missbrauchen.

Eventuell kommt nun der Gedanke auf, dass lediglich Webshops ihre Datenübertragung mithilfe einer SSL-Verschlüsselung absichern müssen, aber dieses ist leider nicht ganz richtig. Denn auch bei einfachen Kontakt- oder Loginformularen werden benutzerbezogene Daten wie zum Beispiel die E-Mail Adresse, die Telefonnummer oder der Wohnort über das Internet übertragen und diese müssen zwingend geschützt werden. Aktuell prüft das Bayrische Landesamt für Datenschutzaufsicht ob Unternehmen, welche ein Kontaktformular einsetzten, eine entsprechende Verschlüsselungsmethode verwenden. Laut §13 Telemediengesetz sind Webseitenbetreiber dazu verpflichtet benutzerbezogene Daten verschlüsselt und sicher über das Internet zu übertragen.

Hackerangriff auf WordPress-Seite

Nehmen wir mal an, dass du einen Reiseblock mit WordPress betreibst. Aktuell befindest du dich in einer fremden Stadt und möchtest nur kurz einen Reisebericht in deinem Blog veröffentlichen. Da du aktuell keinen Zugang zum Internet hast, begibst du dich in ein Internetcafe und meldest dich mit deinen persönlichen Zugangsdaten in deiner unverschlüsselten WordPress-Seite an. Nach einer Weile hast du den neuen Reisebericht veröffentlicht und meldest dich in deinem WordPress ab. Zwei Tage später stellst du durch Zufall fest, dass deine WordPress-Seite voller Spaminhalte ist.

Wie konnte die WordPress-Seite nun gehackt werden?

Dein Reiseblock konnte gehackt werden, da du dich mit deinen Zugangsdaten, über einen öffentlichen Internetzugang in deiner unverschlüsselten WordPress-Instanz angemeldet hast. Da die Verbindung zum Webserver nicht durch eine SSL-Verbindung gesichert wurde, konnten die Zugangsdaten durch dritte, welche sich beispielsweise auch in dem Internetzugang befanden, abgegriffen werden. Anschließend konnte sich der Hacker mit deinen Zugangsdaten in deiner WordPress-Instanz anmelden und dort Inhalte verändern oder sogar hinzufügen.

Vorteile beim Einsatz einer WordPress SSL Verschlüsselung

Neben der Rechtssicherheit und der sicheren Datenübertragung schlägt sich der Einsatz eines SSL-Zertifikates auch positiv auf das Suchmaschienenranking aus. Seit August 2014 werden Internetseite, die ihre Daten verschlüsselt übertragen, positiv in dem SEO Ranking von Google berücksichtig. Webseiten Betreiber erhalten somit einen kleinen SEO Bonus bei der Bewertung der gesamten Webseite durch Google.

Auch wird mit Hilfe einer HTTPS-Verschlüsselung das Vertrauen der Besucher in die WordPress-Seite gestärkt. Dieses Vertrauen wird durch eine Art Qualitätssiegel (siehe nachfolgendem Screenshot), welches in der Adresszeile vor der URL angezeigt wird, weiter verstärkt.

Gütesiegel WordPress SSL Verschlüsselung

(Darstellung des verschlüsselten Seitenzugriffs in Google Chrome – je Browser kann die Darstellung abweichen)

Wie du die WordPress SSL Verschlüsselung aktivierst?

1. Erwerben des SSL Zertifikates

Zuerst musst du ein SSL Zertifikat für deine Domain erwerben und dieses durch deinen Webhoster installieren lassen.

2. Austauschen der internen HTTP-Links

Achtung bitte vorher eine Sicherung der Datenbank durchführen!!!

WordPress legt feste Verlinkungen zu Seiten/Beiträgen standardmäßig in der Datenbank ab. Diese Links laufen wie schon gedacht unter der HTTP Variante und sind somit unverschlüsselt. Darüber hinaus gibt es in der Datenbank von WordPress noch einige weitere Stellen, in denen feste Verlinkungen abgespeichert sind. Um nun alle diese Links langfristig auf SSL umzustellen, müssen die HTTP-Adressen aus der Datenbank ersetzt werden.

Installiere dir hierzu das kostenfreie Plugin WP Migrate DB.

WP Migrate DB WordPress SSL Verschlüsselung

Anschließend aktiviere diese Erweiterung und öffne den Menüpunkt Werkzeuge -> Migrate DB. Nin erhältst du die nachfolgende Ansicht:

WP Migrate DB Einstellungen WordPress SSL

Wir benötigen an dieser Stelle lediglich den Reiter Migrate. Zuerst musst du entscheiden, ob die Verlinkungen direkt in der Datenbank (Option Find & Replace) ersetzt oder ob eine Exportdatei (Option Export File ) mit den ausgetauschten Links erzeugt werden soll. Entscheidest du dich für die Exportdatei, werden automatisch zwei zusätzliche Optionen eingeblendet. Die Auswahlbox Save as file to your computer lädt die Datei nach dem Ersetzen der Links automatisch herunter. Sofern du die Datei nicht herunterladen möchtest, wird diese in deinem Uploads-Verzeichnis auf dem Webserver abgelegt. Ist der Datenbankauszug etwas größer, so kann dieser über die Einstellung Compress file with gzip komprimiert werden.

Gehen wir nun zum interessanten Teil über und zwar zu den Find & Replace Einstellungen. WP Migrate DB sucht in der Datenbank nach den Eingabewerten in der Find-Spalte und ersetzt diese durch den Replace-Wert. Die WordPress Erweiterung gibt im Standard zwei Werte vor, die ausgetauscht werden sollten. Zum einen ist dies die Domain und zum anderen der absolute Dateipfad, der Daten vom Webspace. Die Zeile mit dem Dateipfad können wir an dieser Stelle entfernen. Ganz wichtig ist, dass du die Domain vor dem Doppelslash um ein http: erweiterst. Trage anschließend bitte in das Replace-Feld die Domain mit https:// ein. Im nachfolgenden Screenshot siehst du, wie der Replace-Prozess bei uns aussieht.

WP Migrate DB URL austauschen - WordPress SSL Verschlüsselung

Solltest du nun die gleiche Ansicht, nur mit deiner Domain haben, so kannst du beruhigt auf den Button Find & Replace klicken. Es öffnet sich ein Overlay und das Plugin ersetzt je nach gewählter Option die Verlinkungen direkt in der Datenbank oder bereitet eine Exportdatei vor.

Das war’s!

3. Jeder HTTP Aufruf muss auf die verschlüsselte Version umgeleitet werden

Damit WordPress nun nicht unter HTTP genutzt werden kann, muss jeder Aufruf auf HTTPS weitergeleitet wird. Dazu logge dich per FTP auf deinen Webserver ein. Navigiere anschließend in dein Theme-Verzeichnis und öffne die functions.php. Ergänze diese nun um den nachfolgenden Quellcode.

    function ssl_force_media_files( $url ) {
        if ( is_ssl() ) {
            $url = str_replace( 'http://', 'https://', $url );
        }
        return $url;
    }
    add_filter( 'wp_get_attachment_url', 'ssl_force_media_files' );

    function ssl_force_http_call() {
        if ( !is_ssl() ) {
            if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) {
                wp_redirect( preg_replace( '|^http://|', 'https://', $_SERVER['REQUEST_URI'] ), 301 );
                exit();
            } else {
                wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );
                exit();
            }
        }
    }

    add_action( 'template_redirect', 'ssl_force_http_call', 1 );

Speicher die functions.php ab und lade deine Webseite über den Webbrowser neu. Fertig, du hast nun erfolgreich deine WordPress SSL Verschlüsselung eingerichtet. Jede Anfrage wird nun automatisch auf HTTPS weitergeleitet-