WordPress sicherer machen

Mit über 50% Anteil ist WordPress inzwischen das führende Redaktionssystem weltweit. Die genauen Zahlen stehen im Artikel Warum wir WordPress einsetzen. Die Kehrseite ist leider, dass WordPress damit auch zum Ziel von Hackern, vor allem von brute force Angriffen wird. Die Anhänger von Joomla oder Typo3 werden deshalb auf ein Sicherheitsrisiko hinweisen. Dabei lässt sich WordPress mit wenigen Handgriffen sehr sicher und immun gegen die allermeisten Attacken machen. 

Die meisten Angriffen wollen keinen Schaden an der Seite einrichten. Im Gegenteil! Das Ziel ist die Installation von Malware, um die Besucher auf andere Seiten weiter zu leiten oder Trojaner zu installieren. Die Hacker brauchen daher Zugang zum Dashboard, zur Datenbank, zum FTP-Account oder am bestem zu allem.

Das größte Sicherheitsrisiko sind die User

Am einfachsten ist der Zugang zum Dashboard von WordPress. Bei der Installation wird ein Nutzer »admin« angelegt. Gerade am Anfang macht man es sich gerne leicht und setzt das Passwort dann vielleicht auch auf »admin«. Zugegeben, das ist mir auch schon passiert.

Irgendwann vergisst man das im Eifer des Gefechts. Und schon hat man die Einladung für Hacker versendet. In der Regel werden nämlich nur sehr wenige Kombinationen von Nutzer und Passwort abgefragt. Die klassische brute force Methode, bei der Millionen von Permutationen generiert werden, ist eher die Ausnahme. Ist der Angreifer erst einmal drin und hat die Malware installiert, wird Google allerdings auch schnell aufmerksam. Und dann sehen wir den red screen of horror.

Google Malware Warnung

Nach meiner Erfahrung dauert es nur 12-48 Stunden, bis Google Alarm schlägt. Ist das Problem gefixt, lässt sich die Warnung auch relativ leicht über die Webmaster Tools wieder entfernen. Besser ist es aber, wenn es erst gar nicht dazu kommt.

Richtige Passwörter, weniger Plugins und Updates bieten guten Schutz

Die bei weitem größte Sicherheit bieten gute Nutzernamen und Passwörter. Ein Passwort muss nicht »fd8324hzrfnskfsaqw56324ü?=)(« lauten, um sicher zu sein. Aber »admin123« ist vielleicht etwas zu leichtsinnig. 

Weniger Plugins erhöhen die Sicherheit, weil jedes Plugin eine Lücke haben kann. Im Zweifel verzichte ich lieber auf eine Funktion, wenn ich ein Plugin einsparen kann. Eine Seite sollte mit möglichst wenigen Plugins laufen können.

Die Updates von WordPress werden von vielen auf die leichte Schulter genommen. Bei fast allen neuen Versionen werden Sicherheitslücken gestopft. Deshalb: Updates nicht vergessen!

Es schadet natürlich nichts, an den Details zu feilen. Gute SEO Plugins erlauben etwa die Ausblendung der WordPress Versionsnummer im Header der Seite. Das macht es Hackern schwerer, gezielt auf bestimmte Versionen zu gehen, die bekannte Lücken haben.

Eine weitere Möglichkeit ist das Blocken von IP-Adressen nach häufigen Fehleingaben beim Login. Bekannte Plugins sind Login Lockdown oder Wordfence. Da die Attacken aber aus großen Netzwerken automatisiert gesteuert werden, ist der Erfolg fraglich.

Die Angriffe können auch Probleme verursachen, wenn sie nicht die Firewall durchbrechen. Die permanenten Anfragen beim Login schaffen eine Last für den Server, die die Seite langsam machen kann.

Eine etwas lästige, aber sehr effiziente Schutzmaßnahme ist die zweite Abfrage eines Passwortes vor dem WordPress Login. Das lässt sich sehr leicht mit der .htaccess realisieren, die WordPress bei der Installation ohnehin anlegt. Dort fügen wir folgenden Block hinzu:

<FilesMatch "wp-login.php">
AuthType Basic
AuthName "Authentication required"
AuthUserFile /absoluter Pfad/.htpasswd
require valid-user
</FilesMatch>

Der absolute Pfad muss natürlich angepasst werden. Dann erstellen wir noch eine .htwasswd mit Nutzernamen und verschlüsseltem Passwort. Dafür gibt jede Menge Online Tools, z.B. hier. Natürlich können wir die .htwasswd auch noch in einen anderen Ordner legen. Die Berechtigungen müssen auf 640 gesetzt sein, damit die Dateien von extern nicht gelesen werden können.