Tipps & Maßnahmen für ein sicheres WordPress

WordPress hat sich in kurzer Zeit von einer Blogging-Software zum meist eingesetzten CMS entwickelt. Das macht die Software natürlich auch für Angreifer interessant. Ich zeige Ihnen in diesem Artikel die Tricks und Kniffe, die Sie brauchen, um Ihr WordPress sicher(er) zu machen.

Aktualität

Es vergeht kein Tag, an dem nicht neue Sicherheitslücken in Software aufgedeckt

werden. Umso wichtiger ist es, WordPress immer aktuell zu halten. Das betrifft nicht nur die WordPress Version, sondern auch Plugins und Themes. WordPress macht es einem leicht: steht ein Update zur Verfügung, wird man im Backend darauf aufmerksam gemacht.

Das Plugin WP Updates Notifier benachrichtigt den Webseitenbetreiber per Email  über Updates (WordPress, Plugins und Themes). Eine Funktion, die meiner Meinung nach in die Standardfunktion von WordPress gehört, denn nicht jeder nutzt WordPress täglich als Blog, um sich mitzuteilen – teilweise loggen sich Admins monatelang nicht ein.

Wichtig ist, vor größeren Updates ein Backup zu machen. Nicht immer versteht sich die neueste WordPress Version mit dem eingesetzten Theme. Ein Sofort-Backup kann über Checkdomain durchgeführt werden. Ein weiterer Tipp: sich eine Kopie seines Blogs anlegen (beispielsweise unter einer Subdomain erreichbar). Dort kann man das Update testen und Probleme ermitteln, bevor der Blog zwangsweise offline geht.

Passwörter und Zugänge

Man glaubt eigentlich, dass heutzutage niemand mehr Passwörter wie „test123“ oder den Namen der Ehefrau verwendet. Alle, die es doch noch tun, finden hier gute Regeln für ein sicheres Passwort: Parole Kartoffelbrei oder: das sichere Passwort

Des Weiteren sollte man es vermeiden, den Benutzernamen „Admin“ zu verwenden. Viele Angriffe sind auf diesen Benutzernamen (früher in WordPress Standard) zu geschnitten.

Admin Bereich absichern

Ein einfaches, aber effektives Mittel ist, das Admin-Verzeichnis (wp-admin) mit einem Verzeichnisschutz (.htaccess) zu versehen. Das können Sie komfortabel über das Checkdomain Kunden Menu machen.

Einen anderen Weg geht das Plugin Limit Lockin Attempts: gibt es fehlgeschlagene Anmeldungen, wird die IP nach vier Versuchen für 20 Minuten gesperrt, nach weiteren vier Versuchen für 24 Stunden. So wird ein Erraten ihres Passwortes frühzeitig erkannt und unterbunden. Man muss darauf achten, sich nicht selber auszusperren. Die Werte lassen sich konfigurieren:

Limit Login Attempts Einstellungen
Der Administrator kann sich auch über Einbruchsversuche per Email benachrichtigen lassen.

Themes und Plugins

Man sollte nur diejenigen Plugins installieren, die man wirklich benötigt. Alles, was nicht gebraucht wird, sollte man zumindest deaktivieren. Bevor man ein Plugin oder Theme installiert, gilt es sich darüber zu informieren. Auf den offiziellen WordPress Seiten findet man viele Infos, wie z. B. Beurteilungen von anderen Usern oder wie häufig das Plugin aktualisiert wird. Es ist auch darauf zu achten, nicht aus unbekannten Quellen oder Portalen seine Erweiterungen zu beziehen. Man ist immer gut beraten, sich an die offiziellen WordPress Quellen oder bekannte Portale (wie themesforest.com) zu halten. Es lohnt sich auch häufig, ein paar Euro in ein Premium Theme zu investieren. Diese Themes werden häufiger aktualisiert und es wird mehr auf Sicherheit geachtet als bei kostenfreien Themes.

Für Themes gibt es folgende Plugins, um diese auf Sicherheitslücken zu checken:

  • Theme Authenticity Checker (TAC) Prüft das Theme auf Schadcode.
  • Theme-Check Prüft das Theme auf die aktuellen WordPress Theme Richtlinien und Standards. Eignet sich darüber hinaus auch für die Theme-Entwicklung.
  • AntiVirus Prüft WordPress täglich auf Schadcode (mit deutscher Dokumentation). Seit Version 1.3.4 gibt es die Möglichkeit, auf den Datenbestand von Google Safe Browsing zuzugreifen.

Anti-Spam

Kommentare sind das Salz eines Blogs. Um so ärgerlicher ist es, wenn man bemerkt, dass in den Kommentaren für Medikamente geworben oder zu Schadcode verlinkt wird. Man kann sich behelfen, indem man zum einen die Kommentare nur nach Freigabe anzeigen lässt, zum anderen nur Kommentare von registrierten Benutzern zulässt.

Häufig kann auch der Spam unterbunden werden, indem man ein Captcha integriert (z. B. Plugin Captcha). Captchas haben allerdings den Nachteil, dass sie von Automatismen geknackt werden, wenn diese zu einfach gestrickt sind. Sind sie zu schwer, kann der Besucher evtl. das Captcha nicht lösen und keinen Kommentar hinterlassen.

Im Bereich Anti-Spam gibt es auch noch Plugins, welche automatisiert Spam-Inhalte erkennen und blockieren. Askimet ist bereits bei der Standardinstallation dabei. Nach Meinung einiger Benutzer lässt es sich aber aufgrund von Datenschutzbestimmungen in Deutschland nicht risikofrei einsetzen. Als Alternative bietet sich Antispam Bee an. Datenschutzrechtlich ist es unbedenklich und eine deutsche Dokumentation ist auch vorhanden.

Allround Security Plugins

Es wurden nun schon viele Plugins genannt, die einzelne Bereiche abdecken. Es gibt aber auch Erweiterungen, die alles unter einen Hut bringen wollen.

Das bekannteste Allround Plugin ist wohl Better WP Security. Über 1900 Bewertungen mit 5 Sternen (Durchschnitt 4,8) sprechen für sich. Das Plugin bietet sehr viele Features und ist in deutscher Sprache vorhanden. Andere Plugins wie das zuvor erwähnte Limit Lockin Attempts werden dadurch überflüssig. Am Screenshot kann man erkennen, dass die Menge der Optionen den Rahmen dieses Artikels sprengen würde:

Better WP Security - Übersicht
Better WP Security zeigt in einer Übersicht der Optionen an.

Die einzelnen Punkte sind in unterschiedliche Risikogruppen unterteilt. Dargestellt wird das durch unterschiedliche Farben. Für einige Funktion werden Permalinks vorausgesetzt. Es wird eine Ein-Klick-Absicherung angeboten, welche viele Funktionen sofort anwendet. Bevor man das macht, sollte auf jeden Fall ein Backup erstellt werden. Als Nachteil sei genannt, dass manche Features sehr ressourcenfressend sind.

Wordfence Security betitelt sich selber als Enterprise Lösung. Angeboten wird u. a. eine 2-Faktor Authentifizierung über ein Mobiltelefon oder die Reparatur einer durch Schadcode beschädigten WordPress Installation. Diese Funktionen sind aber nicht mehr kostenfrei und erfordern eine jährliche Gebühr.

Wordfence
Wordfence Scan – Nicht alle Funktionen sind kostenfrei.

BulletProof Security verfolgt einen ähnlichen Ansatz wie Better WP Security. Hier wird besonders Wert auf die vereinfachte Absicherung per .htaccess gelegt. Eine deutsche Übersetzung gibt es allerdings noch nicht.

Als besonders ressourcensparend und leicht zu bedienen gilt der Ultimate Security Checker. Bei einem kurzem Test erhielt ich aber die Fehlermeldung, dass die installierte Version (3.6) noch nicht unterstützt wird.

Trotz aller Bemühungen gehackt?

Keine Sorge, das kann den Besten passieren. Wir haben Euch eine Erste Hilfe-Kit geschnürt, welches Ihr im Falle eines Hackerangriff befolgen solltet. Hier findet Ihr unsere Anleitung. 

Was es sonst noch gibt…

Ich hatte bereits erwähnt, dass Checkdomain ein Backup für Euer Webhosting anlegt. Wem das nicht reicht, kann auch noch BackWPup einsetzen. Damit lassen sich Sicherungen automatisiert an FTP-Server oder verschiedene Cloud Dienste schicken.

Mittlerweile gibt es Firmen, wie Sucuri, die sich auf die Absicherung von CMS spezialisiert haben. Gegen eine Gebühr wird die Webseite individuell auf Sicherheit geprüft und beobachtet. Kostenlos wird ein Malware Check direkt auf der Seite angeboten.

Fazit

Muss man nun alle diese Punkte umsetzen? Nein, sicher nicht. Wenn man sein WordPress aktuell hält und bei der Auswahl von Plugins sorgfältig ist, hat man schon viel gewonnen. Eine Absicherung des Admin Bereichs, sei es per .htaccess oder Plugin, sollte man schon vornehmen. Sichere Passwörter sind selbstverständlich!

Wählt man ein Theme aus den offiziellen WordPress Quellen, ist auch meiner Meinung nach kein Theme-Check per Plugin fällig. Die Erweiterung Antivirus bietet sich das schon eher an, weil sie täglich auf Sicherheitslücken prüft. Liegt Eine Warnung Google Safe Browsing vor, wird der Administrator per Email informiert.

Ob man eine Anti-Spam einsetzt, hängt von der Anzahl der Kommentare ab. Wer miterlebt hat, wie die Kommentare von 2 auf 876 über Nacht steigen, wird sich mit so einer Lösung anfreunden.

Wer tiefer in die Materie einsteigen will, kann sich mit Allround Plugins wie Better WP Security oder BulletProof Security auseinandersetzen. Ob wirklich alle Optionen nötig sind, darüber lässt sich streiten. Ich halte das Konzepte „Security through obscurity„, also z. B. das Verbiegen der Ordnerstruktur oder das Ändern des Tabellen-Präfix, für überflüssig und fehleranfällig. Auf mich wirken diese Allround Plugins überladen.

Für Webseitenbetreiber, die ihren Blog professionell nutzen und sich nicht mit diversen Einstellungen herumschlagen wollen, sind kostenpflichtige Angebote sicherlich eine Überlegung wert.

Abschließend sei noch erwähnt, auf die Sicherheit am lokalen PC zu achten. Das Betriebssystem und weitere Software müssen aktuell gehalten werden. Eine aktuelle Antiviren-Software sollte installiert sein. Die WordPress Sicherheit nützt gar nichts, wenn am heimischen PC per Trojaner das FTP-Passwort ausgelesen wird.

Update: Weg mit dem Admin-Usernamen

Sehr viele von uns sind „Admin“. Zumindest wenn man seinen WordPress-Blog schon etwas länger hat und sich nicht weiter am automatisch zugeteilten Usernamen stört – denn der lautete bis zur WordPress-Version 3.0 immer Admin. Im vergangenen Jahr machten sich dann Hacker diesen Automatismus zu nutze und griffen reihenweise WordPress-Blogs an, deren Zugang lediglich durch die Kombination aus „Admin“ und einem der gängigen Passwörter à la 1234 geschützt war. Eigentlich hätte spätestens diese Welle Alarm auslösen müssen bei allen, die noch als „Admin“ unterwegs sind – tatsächlich ist dieser Username aber immer noch weit verbreitet.

In diesem Beitrag zeigen wir Euch deshalb Schritt für Schritt, wie Ihr den Admin-Usernamen gegen einen individuellen Usernamen austauschen könnt und dadurch die Sicherheit für Euren WordPress-Blog deutlich erhöht.

Wobei Ihr natürlich auch nicht vergessen solltet, Euch ein wirklich sicheres Passwort zuzulegen. Tipps dazu gibt es unter anderem in unserer Artikelserie zum Thema sichere Passwörter.

Schritt 1: Einen neuen Usernamen finden

Für Usernamen gelten die gleichen Regeln wie für Passwörter: Je komplexer sie sind, desto schwieriger sind sie zu knacken. Nennt Euch als Alternative zu Admin also bitte nicht Sven1977 oder so, sondern wählt eine Kombination aus Buchstaben, Zahlen, Klein- und Großgeschriebenem, die nicht allzu naheliegend ist. Prägt Euch diesen neuen Usernamen gut ein oder notiert ihn und versteckt den Zettel sicher – denn wenn Ihr den Usernamen vergesst, seid Ihr aufgeschmissen.

Schritt 2: Einen neuen Usernamen hinzufügen

Logt Euch anschließend zum letzten Mal als Admin in Euren Blog ein und geht in Euer Dashboard. Dort ruft Ihr in der Seitenleiste den Menüpunkt „Benutzer“ auf.

Klicke auf "Benutzer" und wähle die Option "neu hinzufügen". Screenshot: S. Cantzler
Klicke auf „Benutzer“ und wähle die Option „neu hinzufügen“. Screenshot: S. Cantzler

Jetzt erstellt Ihr zunächst einen neuen Usernamen, dem Ihr natürlich wieder Admin-Rechte zuordnet. Entsprechend füllt Ihr alle Felder in diesem Menü aus, vergebt ein neues sicheres Passwort und wählt bei „Rolle“ den Administrator aus.

Um den alten Usernamen zu löschen, muss ein neuer hinzugefügt werden - inklusive neuem, sicheren Passwort. Screenshot: S. Cantzler
Um den alten Usernamen zu löschen, muss ein neuer hinzugefügt werden – inklusive neuem, sicheren Passwort. Screenshot: S. Cantzler

Fertig? Dann fügt den neuen Benutzer hinzu, loggt Euch einmal aus und als der gerade registrierte neue Nutzer wieder ein.

Schritt 3: Usernamen Admin entfernen

Nach dem erneuten Einloggen geht es wieder ins Dashboard und in der Sidebar auf „Benutzer“. Wählt dieses Mal die Option „Alle Benutzer“:

Setzt ein Häkchen bei Eurem bisherigen Admin und klickt auf löschen - der Admin-Username ist jetzt entfernt. Screenshot: S. Cantzler
Setzt ein Häkchen bei Eurem bisherigen Admin und klickt auf löschen – aber Achtung, dass Ihr nicht auch alle Beiträge, die unter diesem Usernamen publiziert wurden, gleich mitentfernt. Screenshot: S. Cantzler

WordPress fragt Euch im nächsten Schritt, was mit allen bisher vom User Admin veröffentlichten Beiträgen passieren soll. Da diese natürlich nicht gelöscht werden sollen, dass Ihr aus dem angezeigten Dropdown-Menü die folgende Option auswählt:

Ordent alle Blogposts, die unter dem Usernamen Admin verfasst wurden, dem neu angelegten User zu. Klickt erst dann auf "Löschen bestätigen". Screenshot: S. Cantzler
Ordnet alle Blogposts, die unter dem Usernamen Admin verfasst wurden, dem neu angelegten User zu. Klickt erst dann auf „Löschen bestätigen“. Screenshot: S. Cantzler

Schritt 4: Einen neuen öffentlichen Namen wählen

Je nachdem, mit welchem Theme Ihr arbeitet, wird bei jedem Artikel der jeweilige Autor eingeblendet. Gerade wenn Ihr mit mehreren Autoren an einem Blog arbeitet, ist das ja auch durchaus sinnvoll. Wichtig ist aber, dass der angezeigte Autorenname nicht identisch ist mit Eurem User-Loginnamen – ansonsten riskiert Ihr eine große Sicherheitslücke.

Sollten User- und Autorenname bei Euch identisch sein, könnt Ihr das ganz einfach ändern. Geht wieder ins Dashboard und dort in der Sidebar auf „Benutzer“. Wählt dort den Punkt „Dein Profil“ aus. Scrollt dann nach unten, bis Ihr im bereich „Namen“ angelangt seid.

Gebt jetzt im Feld "Spitznamen" den Namen ein, der im Blog offiziell angezeigt werden soll. Screenshot: S. Cantzler
Gebt jetzt im Feld „Spitznamen“ den Namen ein, der im Blog offiziell angezeigt werden soll. Screenshot: S. Cantzler

Wählt anschließend bei „Öffentlicher Name“ im Dropdown-Menü den entsprechenden Namen aus – im Beispiel oben müsste es dann ebenfalls Sandra sein. Ganz zum Schluss bitte noch ganz unten auf der Seite auf den Button „Benutzer aktualisieren“ klicken, damit die Informationen übernommen werden.

Noch mehr WordPress-Sicherheit

Mit diesen in wenigen Minuten erledigten Änderungen habt Ihr bereits für ein deutliches Plus an Sicherheit für Euren WordPress-Blog gesorgt. Falls Ihr noch weitere Sicherheitstipps habt oder uns etwas von Euren eigenen Blogger-Erfahrungen im Hinblick auf dieses Thema berichten wollt, freuen wir uns natürlich über Euer Feedback!

Wie sichert ihr euren Blog ab? Habt Ihr Plugins oder Methoden, die ich vergessen habe? Ich freue mich über Feedback.