Vorsicht, rutschig: Grenzerfahrung WordPress-Sicherheit

Warum WordPress-Sicherheit (oder allgemein IT-Sicherheit) nicht einfach ist und warum es dafür Spezialisten gibt, musste ich heute morgen feststellen. Da erreichte mich nachfolgender Tweet von Frank Neumann-Staude und veranlasste mich zum heutigen Blogbeitrag…

Worum gehts?

Frank zeigte darin ein wunderbares Video eines „WordPress-Experten“, der einen Sicherheitstipp gibt. Sein Schmerz im Tweet war begründet, denn dieser „Tipp“ geht mehr als in die Hose. Deswegen nutze ich diesen Blogbeitrag mal dafür, die einzelnen Probleme dieses Videos zu analysieren (und mir den Frust ein wenig von der Seele zu schreiben).

Ich verlinke das Video ganz bewusst nicht direkt. Jede der mag, soll es sich über den Link im obigen Tweet aufrufen.

WordPress-Versionsnummer entfernen

Das Video handelt davon, wie man an einer Stelle im HTML-Quellcode der eigenen Seite den Hinweis auf die WordPress-Versionsnummer versteckt. Dies ist, da muss man leider so hart sein, vollkommen nutzlos. So gut wie kein Hacker macht sich die Mühe und prüft vor seinem Angriff überhaupt die Versionsnummer, ja noch nicht mal, ob es sich überhaupt um ein WordPress handelt. Und selbst wenn ich das prüfen wollen würde, es gäbe noch dutzende andere Stellen, an denen ich diese Information finden könnte. Es ist also schlicht verschenkte Zeit. Zum Thema „Hinweise auf WordPress verstecken“ habe ich erst kürzlich schonmal was geschrieben.

Das sollte aber noch nicht genug sein, denn im Erklär-Video zu dieser nutzlosen Arbeit reihte sich Fauxpas an Fauxpas.

Theme-Editor im Backend sollte nicht genutzt werden

Der Autor des Videos zeigt nun, wie man über eine Änderung an der functions.php des Themes den Generator-Tag entfernen bzw. verändern kann. Dazu rief er den Datei-Editor im Design-Menü des WordPress-Backends auf. Das geht gar nicht. Der Datei-Editor im Backend sowohl für Themes als auch für Plugins sollte immer deaktiviert sein.

Durch die Möglichkeit, als WordPress-Benutzer Dateien direkt im Browser zu verändern, öffnet man aus Sicherheitssicht eine weitere Schleuse. Durch irgendeinen Umstand könnte es für einen Angreifer möglich sein, sich Zugang zum WordPress-Adminbereich zu verschaffen. Vielleicht ist das ein schwaches Passwort eines bestehenden Benutzers, vielleicht gibt es eine Lücke, die dem Angreifer erlaubt einen neuen (Admin-)Benutzer anzulegen. Hat der Angreifer als ein solcher Benutzer aber auch Zugriff auf die Dateien von Themes und Plugins, kann er darüber mit Leichtigkeit Vollzugriff auf den Server bekommen und beliebige Scripte installieren und ausführen. Ohne Datei-Editoren ist das zwar auch nicht ausgeschlossen, die Wahrscheinlichkeit liegt aber deutlich geringer, dass ein Angreifer so Erfolg hat.

Ganz abgesehen davon, was man als Laie dadurch alles kaputt machen kann. 😉

Kurzum: Datei-Editor gehört immer abgeschaltet. Dazu genügt ein Einzeiler in der wp-config.php:


define('DISALLOW_FILE_EDIT', true);

Ich kann natürlich verstehen, dass es für den Laien einfacher ist, Dateien direkt im Backend zu editieren. Das ändert jedoch nichts an der Sicherheitslage. Die Bearbeitung der Dateien über FTP (genauer SFTP/FTPS) ist ein Muss und unvermeidlich.

Arbeiten direkt im Theme

Also arbeitete der Video-Autor nun im Theme-Datei-Editor von WordPress und änderte die functions.php seines Themes, im Beispiel war es Avada. Auch hier kann ich nur den Kopf schütteln, denn Änderungen am Theme sollte man nur machen, wenn es das eigene Theme ist, das man selbst programmiert hat. Ansonsten sollte man die Finger vom Theme lassen und ein Child-Theme nutzen.

Ändert man Dateien direkt im Original-Theme gehen diese Änderungen mit einem Update des Themes verloren. Mit einem Child-Theme hat man die Möglichkeit, einzelne Dateien des Original-Themes zu kopieren und anzupassen. Auch bei einem Update des Original-Themes bleiben dann die eigenen Änderungen erhalten (mit anderen Nachteilen, siehe das Child-Theme-Dilemma, aber darum soll es heute nicht gehen). Da das Einspielen von Updates eine der wichtigsten Sicherheitsregeln ist, ist das Bearbeiten des Original-Themes gleichbedeutend mit dem Ignorieren von Updates (dann würden ja die Änderungen wegfallen) und damit eine der größten Sicherheitslücken im WP-Universum.

Wie man ein Child-Theme erstellt, wird zum Beispiel hier erklärt. Für das Theme im Video, Avada, gibt es sogar fertige Child-Theme-Vorlagen vom Hersteller. Die Child-Theme-Vorlage wird mit dem Theme beim Kauf im Paket mitgeliefert und kann somit ohne große Umstände installiert werden.

Fazit

Ich fasse zusammen: ein Erklär-Video für WordPress-Nutzer. Ein Vorschlag zur Erhöhung der WP-Sicherheit, der vollkommen nutzlos ist. Keinerlei Hinweis im Video darauf, dass diese Maßnahme zumindest zweifelhaft ist und keinerlei Sicherheit schafft. Beim Durchführen der nutzlosen Maßnahme zwei unglaubliche Fehler, die entweder von Ahnungslosigkeit oder vollkommener Gleichgültigkeit bezüglich WP-Sicherheit zeugen – in einem Video über WP-Sicherheit. Das war zuviel für meinen Montag Morgen…


Über Marc Nilius

Diplom-Informatiker, 20 Jahre IT- und Web-Erfahrung, 5 Jahre intensive WordPress-Erfahrung, Mit-Organisator WordPress Meetup Köln und WordCamp Köln 2016, Wapuu-Fan

Schreibe einen Kommentar

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

Mit Absenden des Kommentars stimmen Sie der Verarbeitung und Speicherung der eingegebenen personenbezogenen Daten zu. Weitere Informationen dazu finden Sie in der Datenschutzerklärung.