Hilfe! Mein Wordpress wurde gehackt!

Immer wieder hört man von gehackten Wordpress Seiten. Ich erzähle, was man Grundlegendes für die Sicherheit tun kann, fast ohne Plugins.

Ich bin seit einiger Zeit in diversen WordPress-Gruppen auf Facebook unterwegs und immer wieder tauchen Hilferufe auf:
Meine Seite wurde gehackt!

Sofort stellen sich zwei Fragen: „Wie konnte das passieren?“ und „Wie kann ich meine Seite wieder reparieren?

Die erste Kurzschlusshandlung ist meist: Alles löschen und neu installieren. Das ist natürlich eine Möglichkeit und geht dann auch ne Weile gut, bis das Drama dann wieder seinen Lauf nimmt…

Seien wir mal ganz ehrlich: Der Grund warum Wordpress-Seiten so oft gehackt werden (und das werden sie) liegt hauptsächlich daran, dass Wordpress so extrem einfach zu installieren und betreiben ist.

Du brauchst ne Webseite? WordPress installieren, Theme kaufen, Logo tauschen, fertig ist die Gartenlaube!

Wer macht sich da noch groß weitere Gedanken? Läuft doch alles.

Und hier liegt das Problem. Tausende Webseiten, Blogs, sogar Shops werden von Leuten betrieben, die eigentlich nicht so genau wissen, was sie da technisch eigentlich machen. Klar hier mal ein Plugin installieren, da mal ne Domain einrichten, aber was passiert da eigentlich im Hintergrund?

Wir haben da draußen viele Seiten, die zwar betrieben aber nicht betreut werden und bei denen nie eine Sicherheitsgrundlage geschaffen wurde.

Es ist nur eine Frage der Zeit, bis irgendein Bot, Script oder was auch immer auf so eine Webseite stößt und sich munter ans Werk macht.

Und nun?

Jetzt gucken wir mal, wie wir unsere Wordpress-Seiten etwas sicherer bekommen.

Die Lösung

Benutzername und Passwort

Fangen wir mal mit dem eigentlich offensichtlichsten Part an, deinem Benutzernamen und dein Passwort. Naaaa? Sehe ich da schon einen schuldbewussten Blick? Knapp 10% aller Hacks finden statt, weil Passworte zu schwach waren.

Die meisten von uns benutzen viel zu einfache Passworte. Klar, man muss sich die Dinger ja auch irgendwie merken und deshalb macht man es sich einfach und benutzt das selbe Passwort auch noch für Facebook, Twitter, Instagram… und so weiter…

Okay, das ist jetzt vorbei! Ich will, dass du dir einen Passwort-Manager installierst. Ich benutze seit Jahren 1Password und das Ding ist super.

1Password ist eine Sammelstelle für alle deine Passwörter. Du hast ein Master-Passwort, was du bitte nicht vergessen solltest, damit kannst du 1Password entsperren. Im Programm kannst du dann alle deine Logindaten hinterlegen. Es gibt auch Browsererweiterungen. Jedes Mal, wenn du dich irgendwo registrierst, fragt 1Password dich dann, ob es die Logindaten speichern soll. Wenn du dich dann irgendwann auf der Seite wieder anmelden willst, kannst du das Login von 1Password ausfüllen lassen.

Du musst dir also die Passwörter nicht mehr selber merken und kannst endlich welche benutzen, auf die wirklich niemand kommen kann. Noch besser: Du kannst dir direkt von 1Password ein Passwort erzeugen lassen.

Dein Passwort ist jetzt also sicher und dein Benutzername sollte vielleicht auch nicht zu offensichtlich sein. Also Admin geht schon mal gar nicht.

Wenn du jetzt noch ganz sicher gehen willst, dann installierst du dir noch ein 2 Factor Plugin. Nach der Eingabe deiner Logindaten, musst du dann noch einen Code eingeben, der nur ein paar Sekunden gültig und nur über dein Smartphone abrufbar ist. Darüber habe ich schon mal im Podcast erzählt.

Gut, wunderbar. So ohne Weiteres kann man sich jetzt also nicht mehr anmelden. Dein Passwort ist bombensicher und den zusätzlichen Code kann man nicht mehr ohne dein Smartphone eingeben. Läuft…

Updates installieren

Wir können jetzt also schon mal recht sicher sein, dass eine Bruteforce-Attacke nichts bringt. Also jemand oder etwas, dass deinen Benutzernamen rausfindet und dann wahllos tausende Passwortkombinationen ausprobiert, bis was passt.

Jetzt gibt es aber immer noch diese ganzen fiesen Scripte, die sich gar nicht um irgendwelche Logins kümmern. Die versuchen direkt die Dateien deiner WordPress-Installation zu manipulieren.

Meist sind Sicherheitslücken schuld daran. Irgendwo ist da eine Lücke und diese Scripte nutzen sie aus. Deshalb musst du schneller sein als diese Spacken.

Stichwort Updates. Immer schön Updates installieren, denn die schließen nun mal diese Lücken. Wartest du zu lange, kommt so ein Script vorbei und dann brauchst du auch nicht mehr aktualisieren…

Dateien absichern

Aber wie kann es sein, dass diese Scripte dann einfach so Änderungen an Wordpress-Dateien vornehmen können?

Weil Dateirechte nicht korrekt gesetzt wurden. Auf UNIX und Linux-Computern (und der Server wo deine Webseite liegt ist mit sehr hoher Wahrscheinlichkeit so ein Computer) gibt es drei Rechte-Level. Es gibt den Benutzer, es gibt die Gruppe in der mehrere Benutzer Mitglied sein können und es gibt alle anderen. Für alle diese drei Zugriffsmöglichkeiten kann man Dateiberechtigungen setzen, also festlegen, ob gelesen, geschrieben und ausgeführt werden darf.

Dazu habe ich mal einen sehr langen Artikel geschrieben, der auch beschreibt, wie die Dateirechte für WordPress zu setzen sind. Das würde hier jetzt zu weit führen, schau dir das mal an.

Du solltest in deiner htaccess-Datei auch dafür sorgen, dass man die wp-config.php nicht ohne weiteres aufrufen kann. Niemand außer Wordpress selber braucht Zugriff darauf.

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

Und wo wir schon dabei sind, in deiner wp-config gibt es doch immer diese komischen Zeilen, in die man irgendwelchen Quatsch reinschreiben soll. Weißt du? Schon mal gemacht? Nein? Dann los! Denn dieses Kauderwelsch wird zur Verschlüsselung verwendet und kann gerne über den Salt-Generator von WordPress neu erstellt werden.

Als nächstes solltest du noch sicherstellen, dass niemand Dateien innerhalb von Wordpress bearbeiten kann. Normalerweise ist der Theme-Editor in Wordpress aktiv, du kannst also innerhalb von Wordpress direkt die Theme-Dateien bearbeiten. Abschalten! Einfach in die wp-config schreiben:

define( 'DISALLOW_FILE_EDIT', true );

Und wenn wir schon dabei sind. Du benutzt kein Desktop-Programm oder Ähnliches, um deine Seite zu pflegen? Dann stelle bitte auch XML-RPC und die Wordpress-API ab.

<Files xmlrpc.php>
order deny,allow
deny from all
allow from 121.0.0.1
</Files>

Bots blockieren

Du kannst natürlich diese Scripte auch direkt davon abhalten auf deine Webseite zu gucken, das geht über zum Beispiel über die htaccess. Da das aber über UserAgents läuft, also quasi den Namen der Browser, ist das nicht beste Methode.

SSL

Kommen wir zum letzten Punkt, der momentan sowieso in aller Munde ist: Wenn es geht, nutze SSL. Die meisten Provider bieten das inzwischen kostenlos in ihren Paketen an. Schon alleine, weil dein Passwort jedes mal im Klartext übertragen wird, wenn du dich in Wordpress ohne https anmeldest.

Das Fazit

Das war viel Stoff, ist aber eigentlich schnell gemacht und hilft viel. Es gibt noch viele weitere Möglichkeiten und auch gute Sicherheitsplugins.

Mit diesen Einstellungen ist deine Seite ein gutes Stück sicherer geworden. Gehe die Liste ab und zu durch und checke ob alles noch okay ist. Mach regelmäßig Backups deiner Seite, am besten automatisch.

Wie geht's von hier aus weiter?

Wenn du diesen Beitrag (nicht) gut findest, kannst du ihn kommentieren, woanders darüber schreiben oder ihn teilen. Wenn du mehr Beiträge dieser Art lesen willst, kannst du mir via RSS oder ActivityPub folgen, oder du kannst kannst dir ähnliche Beiträge ansehen.