WordPress aktuell halten

Updates einspielen

Der erste Tipp, den wirklich jeder berücksichtigen kann: Halte deine WordPress-Installation aktuell! Durch Updates von WordPress-Core, Plugins und Themes werden oft auch Sicherheitslücken geschlossen, daher solltest du regelmäßig alle Komponenten updaten.

Bei größeren Versionssprüngen warte ich jedoch erstmal ein paar Tage ab: Beim Erscheinen von WordPress 5.0 spiele ich also nicht sofort ein Update ein, sondern warte auf die Version 5.0.1, da in solch größeren Releases immer noch Fehler und Sicherheitslücken stecken, die meist nach kurzer Zeit mit einem kleineren Update behoben werden.

Veraltete Plugins ausfindig machen

Nicht alle Plugins werden ständig weiterentwickelt und aktualisiert. Ist deine WordPress-Installation schon einige Jahre alt, wirf mal einen kritischen Blick auf die installierten Plugins:

  • Stelle dir zunächst für jedes installierte Plugin die Frage, ob du es überhaupt noch benötigst. Wenn nicht, weg damit.
  • Schaue dir bei den Plugins, die du behalten möchtest an, wann diese zuletzt aktualisiert wurden. Wurde ein Plugin schon länger nicht aktualisiert und mit den neuesten WordPress-Versionen nicht mehr getestet, wird es wohl nicht weiterentwickelt. In diesem Fall würde ich nach einem alternativen Plugin suchen, welches noch aktualisiert wird.

WordPress Generator Meta-Tag entfernen

Damit Hacker eine WordPress-Installation nicht über eine Suchmaschine ausfindig machen können, sollte man einige verräterische Merkmale einer WordPress-Installation verbergen. So wird mit der Funktion eine solche oder ähnliche Zeile (je nach WordPress Version) im head der Website ausgegeben:

<meta name="generator" content="WordPress 2.8.6" />

Dieser Eintrag dient den WordPress-Machern zur statistischen Erfassung, welche WordPress-Versionen im Einsatz sind. Allerdings sehen so Hacker auch schnell, welche WordPress-Version im Einsatz ist. So können – vor allem bei älteren Versionen – Sicherheitslücken ausgenutzt werden. Doch so lässt sich das Generator Meta-Tag entfernen:

In der functions.php im WordPress-Theme folgenden Code einfügen:

// Generator Meta Tag aus wp_head entfernen
remove_action('wp_head', 'wp_generator');

Plugin-Editor und Theme Editor deaktivieren

Falls Admin-Zugang gehackt wird, könnten über den Plugin-Editor oder Theme-Editor die entsprechenden Dateien geändert werden. Wenn du diese Editoren ohnehin nicht nutzt (den wer viel codet, macht das ohnehin sicher nicht im WordPress-Adminbereich), dann deaktiviere einfach die Editier-Möglichkeit mit diesem Code in der functions.php:

// disable theme editor and plugin editor */
define( 'DISALLOW_FILE_EDIT', true );
define( 'DISALLOW_FILE_MODS', true );

WordPress-Admin-Bereich schützen

Im WordPress-Adminbereich kann unbefugter Zugriff viel Böses anrichten. Um den Login unbefuger zu verhindern, solltest du folgendes beachten.

Sicheres Passwort

Eigentlich sollte es eine Selbstverständlichkeit sein, doch man kann nicht oft genug darauf hinweisen: Wähle ein sicheres Passwort für deinen WordPress-Adminbereich! Ein sicheres Passwort besteht aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen und ist möglichst lang. Ein solches Passwort kannst du dir etwa auf www.passwort-generator.com generieren lassen.

Kein Nutzer namens „admin“

Doch nicht nur ein unsicheres Passwort, sondern auch ein „unsicherer“ Benutzername kann eine Sicherheitslücke darstellen. Verwende daher nicht den Standard-Benutzernamen namens „admin“, sondern lege einen anderen Account an. Zudem sollte man den Namen deines Admin-Accounts nicht kennen, daher schreibe ich keine Kommentare mit meinem Admin-Account. Ich habe somit einen Admin-Account, um in WordPress zu arbeiten und einen Account als „Mitarbeiter“, um auf der Website zu kommentieren.

Login-Versuche beschränken

Bei Brute-Force-Angriffe wird versucht, über automatisiertes Ausprobieren unendlich vieler Buchstaben- und Zahlen-Kombinationen ein Passwort zu erraten. Selbst ein super-sicheres Passwort kann so geknackt werden. Doch diesen unendlichen Versuchen kann man einfach einen Riegel vorschieben, indem man die Anzahl der Login-Versuche beschränkt: Nach x Fehlversuchen wird die IP für eine bestimmte Zeit gesperrt. Nach erneuten Fehlversuchen

Limit Login Attempts Reloaded
Limit Login Attempts Reloaded
Entwickler: WPChef
Preis: Kostenlos
WP Limit Login Attempts
WP Limit Login Attempts
Entwickler: Arshid
Preis: Kostenlos
Login LockDown
Login LockDown
Entwickler: Unbekannt
Preis: Kostenlos

Fehlermeldung auf der Login-Seite ausblenden

Bei einem fehlgeschlagenen Login in den WP-Admin-Bereich zeigt eine Fehlermeldung, ob der Benutzername oder das Passwort falsch eingegeben wurde. Diese Info kann für Hacker hilfreich sein. Mit folgendem Code in der functions.php lässt sich die Fehlermeldung deaktivieren.

// Login-Fehler abschalten
add_filter('login_errors',create_function('$a', "return null;"));

wp-config.php schützen

Die Datei wp-config.php ist das Herz der WordPress-Installation – hierin stehen u.a. die Zugangsdaten deiner WordPress-Datenbank. Daher sollte man dafür sorgen, dass diese Datei nicht aufrufbar ist.

wp-config per htaccess schützen

Mit diesem Code in der .htaccess sorgst du dafür, dass die Datei nicht über den Browser aufrufbar ist.

<Files wp-config.php>
order allow,deny
deny from all
</Files>

wp-config.php eine Ebene höher

Eine andere Möglichkeit zum Schutz der wp-config.php ist, die Datei aus dem WordPress-Root zu entfernen und eine Ebene höher zu legen – denn ist die Datei nicht im WordPress-Verzeichnis zu finden, schaut WordPress automatisch eine Ebene höher nach.

Liegen die WordPress-Dateien im Root-Verzeichnis auf dem Server, legst du ein neues Verzeichnis (z.B. namens /wordpress) an und verschiebst alle WordPress-Dateien außer der wp-config.php in dieses Verzeichnis. Dann muss beim Hoster eingestellt werden, dass die Domain nicht mehr auf das Root-Verzeichnis, sondern auf /wordpress/ zeigt. Somit liegt die wp-config.php außerhalb des Bereichs, der über die Domain aufrufbar ist.