Optimales WordPress-Hosting: Der Webhoster meiner Wahl
Das optimale WordPress Hosting bei hostNET

4 Profi-Tipps: So sicherst Du Dein WordPress richtig ab!

So sicherst du dein WordPress mit diesen 4 Profi-Tipps von mir richtig ab. Ich zeige dir ebenfalls, welche Tipps nicht helfen, um WordPress wirklich sicher zu machen.

Da werden zum Teil Dinge empfohlen, dass mir die Haare zu Berge stehen. Der unbedarfte User hingegen setzt die einzelnen Punkte brav um und wundert sich dann, warum er trotzdem gehackt wurde.

Das Problem dabei ist, dass auch erfahrene WordPress Webworker mit einem Namen in der Szene wirklich Mist schreiben und dazu auch noch stehen.

Seit 2008 arbeite ich täglich mit WordPress. Seit 2009 beschäftige ich mich exzessiv mit der Sicherheit von WP. Von 2010 bis heute beschäftige ich mich Hauptberuflich mit WP-Sicherheit und der Theme-Entwicklung. Ich habe bereits über hundert Websites mit WordPress abgesichert. Keine ist bisher gehackt worden.

So sicherst du dein WordPress nicht ab: die falschen Tipps

Ich zerlege zwei der Tipps, die man so im Internet findet. Helfen sie wirklich, oder ist es nur Security through obscurity? Weiter unten zeige ich Dir drei Tipps, die wirklich Sicherheit verschaffen.

1

Das Abändern des Benutzernamens

Auch erfahrene WordPress Webworker wie Perun empfehlen Dir, den Standard »Administrator« oder »Admin« in einen anderen Benutzernamen abzuändern. Manche gehen einen Schritt weiter und empfehlen Dir, den ersten Admin zu löschen und vorher einen weiteren Admin mit eigenem Benutzernamen anzulegen, um die #ID 1 gegen eine #ID 2 auszutauschen.

Können diese Tipps WordPress absichern?

Nein. Der Tipp zeugt von absolut fehlender Sachkenntnis oder von nicht durchdachter Problemstellung. Der Benutzername des Administrators und seine ID können innerhalb von Sekunden herausgefunden werden. Gib einfach mal folgendes in die Adresszeile Deines Browsers ein:

deinewebsite.de/?author=1

Solltest Du die ID nicht geändert haben, siehst Du nun Deinen Benutzernamen in der Adresszeile. Ansonsten probiere es einfach weiter, indem Du statt der eins eine zwei oder drei wählst. Solltest Du Dein Autoren-Archiv abgeschaltet haben, funktioniert der Trick nicht.

Allerdings gibt auch jede Autor-Box unter den Beiträgen und jedes Autoren-Archiv in WordPress den Benutzernamen preis. Solltest Du also mit einem Admin-Account Beiträge schreiben, geben alle drei Möglichkeiten Deinen Admin-Benutzernamen preis.

Wenn alles nichts bringt, kann der Benutzername auch im Quelltext der Kommentare gefunden werden. Ups…

Der Adminname in der Adresszeile des Browsers

Der Adminname in der Adresszeile des Browsers. Innerhalb von Sekunden herausgefunden.

Natürlich ist es korrekt, dass Hacker bei einem Brute-Force-Angriff immer zuerst die Admin und Administrator Benutzernamen testen. Doch eigentlich ist es völlig egal, wie Dein Benutzername lautet. Dazu weiter unten mehr.

2

Limit Login Attempts und Co.

Noch im Jahr 2014 empfahl Perun die Nutzung des Plugins »Limit Login Attempts«, welches bereits zu diesem Zeitpunkt ganze zwei Jahre kein Update mehr bekommen hat.

Diese Empfehlung war aus genau zwei Gründen einfach nutzloser Mist:

  1. Grund 1:
    Plugins, die nicht ständig weiterentwickelt werden, haben zumeist Sicherheitslücken, durch die Angreifer dann ihren Weg in Deinen Blog finden können. Allerdings haben auch andere Plugins zum Teil deutliche Sicherheitslecks, wie unlängst das Ninja Forms Plugin. Kein Code ist perfekt.
  2. Grund 2:
    Der zweite Grund ist nur durch tiefer gehendes Wissen logisch. Limit Login Attempts und alle vergleichbaren Plugins blocken die Anzahl der Anmeldeversuche mittels Cookie pro IP. Genau das ist das Problem. Denn ein Brute-Force-Angriff auf Deine Website wird nur durch Script-Kiddies von einer IP aus gestartet.

Somit hilft ein solches Plugin nur gegen angehende Hacker im ersten Lehrjahr. Echte Hacker nutzen ein Bot-Netz, um Dein WordPress anzugreifen. Sie benutzen einen riesigen Pool von IP-Adressen und nutzen pro Attacke (es kommen zum Teil hunderte von Attacken) eine IP-Adresse.

Natürlich kann ein solches Plugin nicht wirken. Fazit: Schwachsinn!

So sicherst du dein WordPress wirklich ab: Die Profi-Tipps!

Manchmal kann Sicherheit so einfach sein. Natürlich gebe ich hier nicht mein gesamtes Wissen preis, das kannst Du als E-Book kaufen. WordPress Sicherheit existiert in der mittlerweile fünften Auflage und ist als Epub, PDF und in einer HTML-Ausführung für nur 9,99 Euro zu bekommen.

Du lernst nicht nur eine Website bombensicher zu machen, sondern auch eine bereits verseuchte Website nach einem Angriff wiederherzustellen.

1

Nutze ein anständiges Passwort

Unglaublich aber wahr. Ein unsicheres Passwort ist immer noch die größte Sicherheitslücke, die denkbar ist. Und die am weitesten verbreitete. Bevor Du diese Lücke nicht behoben hast, beschäftige Dich nicht weiter mit der WordPress Sicherheit.

Ehrlich – das bringt nichts. Du bettelst ja geradezu darum, gehackt zu werden.

Ein sicheres Passwort ist das A und das O einer jeden Strategie. Vielleicht magst Du nun denken, dass 10-stellig und leicht zu merken ausreicht, doch da muss ich Dich enttäuschen. Das ist kalter Kaffee, aber kein Passwort.

Ein sicheres Passwort und der Nutzen, den es Dir verschafft

Ein sicheres Passwort ist die wirksamste Methode gegen das Hacking. Da kann Dein Benutzername auch »Admin« heißen. Wenn Dein Passwort sicher ist, stehst Du jede Brute-Force-Attacke locker durch. Doch was ist wirklich sicher?

Ein sicheres Passwort ist mindestens 15-stellig, benutzt Groß- und Kleinschreibung, nutzt Zahlen und Sonderzeichen. Es existiert ein wirklich guter Generator dafür im Netz, der in der Grundeinstellung ein 16-stelliges Passwort mit genau diesen Vorgaben liefert.

Secure Passwort Generator

Ein sicheres Passwort könnte so aussehen: KM9w`3dc>s4`z)E-

Ich würde empfehlen, es sogar 25-stellig generieren zu lassen. Es ist sehr schwer zu merken, ich weiß. Doch Du könntest es zum Beispiel wie ich in Deiner Dropbox speichern, die verschlüsselt ist. Niemand kommt dann an Deine Daten heran, doch Du hast Zugriff von jedem Punkt der Erde aus. Der Dienst ist kostenlos und bietet Dir zudem eine App für Dein Smartphone.

2

Nutze eine 2-Faktor Authentifizierung

Mit der richtigen Einstellung ist dieser Tipp Gold wert für die Sicherheit Deines WordPress. Ich empfehle Dir die Nutzung der SecSign ID Technologie. Du benötigst keinerlei Benutzernamen und Passwort mehr für Dein WordPress und musst Dir nur eine vierstellige PIN merken.

So sicherst du dein WordPress richtig ab: Das SecSign ID Plugin für WordPress

So sicherst du dein WordPress richtig ab: Das SecSign ID Plugin für WordPress

Die SecSign ID Sitzungsauthentifizierung beruht auf 2048-Bit-RSA-Schlüsselpaaren. Die SecSign ID App enthält den privaten Schlüssel des Nutzers (verschlüsselt mit einer PIN), und der SecSign ID Server kennt den öffentlichen Schlüssel des Nutzers. Während der Sitzungsauthentifizierung für eine Anmeldung überprüft der SecSign ID Server den Besitz des privaten Schlüssels und die Kenntnis der PIN. Der SecSign ID Server wertet daraufhin die Authentifizierungsanfrage aus und informiert den anfragenden Dienst, ob Zugriff gewährt werden darf.

Ich habe beste Erfahrungen mit dem Plugin gemacht. Einen ausführlichen Test mit Konfigurationsbeispielen liest Du hier.

Ohne Dein Smartphone und Deine PIN kann sich niemand in Dein WordPress einloggen. Der perfekte Schutz gegen Brute-Force-Angriffe.

Weiterführende Informationen:

3

Nutze eine optimierte .htaccess Datei

Die Server-Steuerungsdatei .htaccess ist eine der wichtigsten Werkzeuge gegen das Hacking von WordPress Websites.

Eine gut durchdachte Datei verbietet den Zugriff auf wichtige WordPress-Dateien und Ordner, schaltet bekannte Sicherheitslücken ab, bietet eine durchdachte Firewall für die Abwehr von Code-Injektionen und anderen Verseuchungen und macht die Website auch noch durch durchdachtes Browser-Caching schnell.

Die Firewall vom WordPress Altmeister Jeff Starr ist eine der durchdachtesten Sicherheitseinrichtungen überhaupt und sorgt unter anderem auch dafür, dass Sicherheitslücken in bekannten Plugins nicht so einfach ausgenutzt werden können.

Auch ich nutze diese .htaccess für alle meine Websites.

Das Sicherheitsplus einer solchen .htaccess Datei ist gewaltig, darum teile ich sie heute mit Dir. Du kannst sie von Github herunterladen. Hier ein Screenshot der Firewall der Datei:

Download .htaccess als Git von Github »

WordPress absichern: Screenshot der 6G-Firewall von Jeff Starr

WordPress absichern: Screenshot der 6G-Firewall von Jeff Starr

4

Benutzeranmeldung nur mit E-Mail und Passwort

Wenn Du die bösen Hacker ärgern möchtest, dann erlaubst Du die Anmeldung anstatt mit Benutzernamen und Passwort nur noch mit einer E-Mail-Adresse und einem Passwort. Eine einfache kleine Änderung mit viel Wirkung.

Der Code muss in die functions.php deines aktiven Themes hinein.

<?php

// Ab hier kopieren
//WordPress Authentifikation löschen
remove_filter('authenticate', 'wp_authenticate_username_password', 20);

// Neue Authentifikation setzen - Anmelden nur mit E-Mail und Passwort
add_filter('authenticate', function($user, $email, $password){
 
    //Check for empty fields
        if(empty($email) || empty ($password)){        
            //create new error object and add errors to it.
            $error = new WP_Error();
 
            if(empty($email)){ //No email
                $error->add('empty_username', __('<strong>ERROR</strong>: Email field is empty.'));
            }
            else if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ //Invalid Email
                $error->add('invalid_username', __('<strong>ERROR</strong>: Email is invalid.'));
            }
 
            if(empty($password)){ //No password
                $error->add('empty_password', __('<strong>ERROR</strong>: Password field is empty.'));
            }
 
            return $error;
        }
 
        //Check if user exists in WordPress database
        $user = get_user_by('email', $email);
 
        //bad email
        if(!$user){
            $error = new WP_Error();
            $error->add('invalid', __('<strong>ERROR</strong>: Either the email or password you entered is invalid.'));
            return $error;
        }
        else{ //check password
            if(!wp_check_password($password, $user->user_pass, $user->ID)){ //bad password
                $error = new WP_Error();
                $error->add('invalid', __('<strong>ERROR</strong>: Either the email or password you entered is invalid.'));
                return $error;
            }else{
                return $user; //passed
            }
        }
}, 20, 3);

So sicherst du dein WordPress wahrhaftig ab – mein Fazit

Wenn Du meine vier kleinen Tipps beherzigt hast, dann ist Dein WordPress bereits sehr viel sicherer geworden. Natürlich geht immer mehr, Du kannst Dein WordPress so sicher wie eine Bank machen. Ich habe wesentlich mehr Punkte umgesetzt. Doch ein Anfang mit wirklich wirksamen Maßnahmen ist getan.

Du möchtest Deine Website lieber von einem Profi absichern lassen? Kein Problem, lies hier mehr darüber, wie ich Deine Website sicher wie eine Bank mache.
Andreas Hecht

Andreas Hecht

entwickelt WordPress-Websites und bietet dir einen Website Sicherheit Service und einen Performance Service für deine Website. Außerdem ist er Spezialist für Onpage SEO und bringt Deine Website in die Top-Suchergebnisse von Google.

Optimales WordPress-Hosting: Der Webhoster meiner Wahl
Das optimale WordPress Hosting bei hostNET

9 Kommentare Kommentar hinzufügen

  1. Hallo Andreas, leider funktioniert bei mir die Idee mit der .htaccess nicht. Einfügen, hochladen, Fehlermeldung. Was könnte ich falsch gemacht haben? Danke für Hilfe, Manuela
    ——————————Fehlermeldung ———————
    „Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator at [no address given] to inform them of the time this error occurred, and the actions you performed just before this error.
    More information about this error may be available in the server error log.
    Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
    Apache/2.4.20 Server at rhoendorf.manukai.de Port 80“

    • Hi Manuela,

      das lässt sich nicht pauschal sagen. Ich würde mal darauf tippen, dass es mit der Notierung »php_flag display_errors Off« zu tun haben könnte. Lösche die mal heraus und probiere es erneut.

  2. Hallo Andreas,
    ist es sinnvoll oder gar contra-produktiv zusätzlich zur 6G-Firewall ein Plugin wie Wordfence oder Ninja-Firewall zu installieren?

    Ansonsten Lob für deine sehr informative Website.

  3. Hi Andreas, sehr guter Artikel über die Absicherung von WordPress-Seiten. Eine Frage habe ich noch zur .htaccess. Kann ich deinen Code genau so wie er ist bei mir einfügen oder muss ich noch was daran ändern? Und noch eine kleine Frage, nach der .htaccess-Optimierung kann ich Wordfence deinstallieren? Und wie sieht’s mit Limit Login Attempts Reloaded aus? Sorry, ist doch nicht nur eine Frage geworden! 😉 Viele Grüße, Dominik

Schreibe einen Kommentar

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

Do NOT follow this link or you will be banned from the site!
Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.
Teilen