WordPress – aber sicher!

  1. Alles aktuell halten
    1. Einen Update-Crash vermeiden
  2. Plugins und Themes – weniger ist mehr
  3. Wie mache ich WordPress allgemein sicher?
    1. HTTPS nutzen
    2. Benutzername
    3. Passwort
    4. Login
    5. Mit Konfigurations-Konstanten die Sicherheit erhöhen
    6. xmlrpc.php sperren
    7. Erweiterter Schutz von Dateien und Verzeichnissen
  4. Fazit

Alles aktuell halten

Das Wichtigste ist, das System und alle seine Komponenten immer aktuell zu halten. Glücklicherweise macht WordPress dir das durch die komfortable Aktualisierung recht leicht. So werden auch permanent Sicherheitslücken geschlossen.

Der Core – also WordPress selbst – wird automatisch innerhalb einer Version aktualisiert – sofern dies nicht vom Benutzer deaktiviert wurde. Damit ist zumindest der Kern von WordPress schonmal immer auf einem aktuellen Stand. Seit WordPress 5.5 gibt es auch Auto-Updates für Plugins und Themes. Einen ausführlichen Beitrag zu diesem Thema, in dem ich genauer darauf eingehe, findest du hier.

 Mit einer steigenden Zahl an installierten Plugins steigt auch das Fehlerrisiko nach einer Aktualisierung. Meinen Erfahrungen nach verlaufen Updates zwar zu 99 Prozent fehlerfrei, dennoch kann es in Einzelfällen vorkommen, dass zwei Plugins sich nicht mehr „vertragen“ oder das Theme Probleme macht. Auto-Updates sind ein nettes Feature, sollten aus diesem Grund aber mit Bedacht eingesetzt werden. 

Bei großen, sehr komplexen oder essenziellen Plugins lohnt es sich, die Updates manuell vorzunehmen und vor jedem Update eine Sicherung zu erstellen. So kann im Fall eines Falles der vorherige Zustand wiederhergestellt werden. Auch hierfür gibt es Plugin-Lösungen. Allerdings können diese im Ernstfall zum Problem werden, beispielsweise weil die Sicherung ohne Login im Backend nicht mehr hergestellt werden kann. Daher sollten Sicherungen immer außerhalb von WordPress erfolgen. Dann kann die Anwendung wiederhergestellt werden, auch wenn kein Backend-Zugang mehr möglich ist. Und Backups sollten immer (mindestens nach dem ersten Erstellen) getestet werden. Denn nichts ist ärgerlicher als ein zwar vorhandenes, aber nicht funktionierendes Backup.

Einen Update-Crash vermeiden

Eine simple Lösung ist die oben beschriebene Vorgehensweise: Sicherung erstellen, updaten und im Fehlerfall Sicherung einspielen. Bei einer beliebten Seite mit viel Traffic oder wirtschaftlichem Interesse kann aber schon eine Downtime von wenigen Minuten hohen Schaden anrichten.

In solchen Fällen sollten Updates immer erst in einer Entwicklungsumgebung getestet werden. Dies ist zwar ein etwas höherer Aufwand und keine hundertprozentige Garantie, aber der sicherste Weg, wenn es keine Störungen geben soll! Eine solche Staging-Umgebung kannst du entweder lokal einrichten oder du nutzt das Easy Staging von Mittwald.

Plugins und Themes – weniger ist mehr

Je mehr Plugins verwendet werden, desto größer ist das Risiko möglicher Sicherheitslücken. Zudem geht jedes größere oder schlecht programmierte Plugin zu Lasten der Performance – die reine Anzahl an Plugins ist tatsächlich nicht so entscheidend. Es gibt aber viele Plugins, die nicht nur eine Funktion hinzufügen, sondern ein ganzes Paket. Wird davon aber nur ein Feature benötigt, bremsen die anderen natürlich aus und bieten ein unnötiges Risiko für Hintertürchen. Hier lohnt sich die Suche nach einem schlankeren Plugin.

Wie mache ich WordPress allgemein sicher?

Eine zeitnahe und permanente Aktualisierung von WordPress, Themes und Plugins ist sicherlich der wichtigste Faktor. Allerdings solltest du auch die folgenden Punkte für ein sicheres WordPress umsetzen. Bitte beachte, dass diese Liste keinesfalls vollständig ist und auch eine Umsetzung dieser Punkte keine hundertprozentige Sicherheit garantiert, aber es bringt dich näher dran.

HTTPS nutzen

Ich hoffe zwar immer, dass es inzwischen eine Selbstverständlichkeit ist, aber die Praxis zeigt leider immer noch das Gegenteil. Für jede Website sollte HTTPS, also das verschlüsselte Übertragungsprotokoll, genutzt werden! Antworten zu den häufigsten Fragen zu diesem Thema findest du in unserem FAQ-Bereich. Sollte deine Seite noch nicht auf HTTPS umgestellt sein, kannst du seit WordPress 5.7 von der vereinfachten Migration zu HTTPS profitieren.

Benutzername

Klassische Benutzernamen wie „admin“ oder „administrator“ solltest du vermeiden. Dadurch haben Angreifer bereits 50 Prozent der Zugangsdaten und es fehlt nur noch das Passwort. Verwende idealerweise mindestens zwei Benutzer. Einen Benutzer mit administrativen Rechten, der ausschließlich für Installationen und Updates verwendet wird. Dieser sollte dann natürlich ein sehr sicheres Passwort spendiert bekommen. Erstelle außerdem einen zweiten Benutzer als Redakteur, der ausschließlich für die Erstellung und Veröffentlichung der Inhalte zuständig ist.

Passwort

WordPress generiert bereits ein sicheres Passwort für einen neuen Benutzer. Dieses oder ein vergleichbar starkes Passwort solltest du auch verwenden. Einfache Passwörter wie „qwer1234“ können viel zu schnell erraten werden und bieten keinen ausreichenden Schutz. Ein Passwort sollte mindestens aus 12 Zeichen bestehen, Groß- und Kleinbuchstaben sowie Ziffern und Sonderzeichen enthalten. Um sich das Passwort merken zu können, ist es hilfreich, einen Satz zu bilden. Von dessen Wörtern nutzt du jeweils den ersten Buchstaben sowie mindestens eine Ziffer und ein Sonderzeichen, z. B. „Ich liebe WordPress seit 2003 und hoste bei Mittwald!“ → „IlWP@2003uhbMw!“. Oder du benutzt einen Passwort-Manager zur Verwaltung deiner Passwörter, dann können die Passwörter beliebig komplex sein.

Login

Das Backend von WordPress erreichst du standardmäßig mit „/wp-admin“ oder „/wp-login.php“. Durch eine Veränderung dieses Pfades werden einige automatisierte Angriffe schon verhindert, noch besser ist aber ein zusätzlicher Passwort-Schutz für das Admin-Verzeichnis. Mehr dazu in Kürze in einem ausführlichen Beitrag zum Thema „Login absichern“.

Mit Konfigurations-Konstanten die Sicherheit erhöhen

In der Datei wp-config.php stehen nicht nur die Zugangsdaten zu deiner Datenbank. Es gibt viele globale Konstanten, die du mit einer Zeile Code definieren kannst:

define('CONSTANT_NAME', true);

Einige davon sind echte Sicherheits-Features. Die Wichtigsten sind dabei:

  • DISALLOW_FILE_EDIT: Damit schaltest du die Editoren für Themes und Plugins im Backend aus, was nicht nur die Sicherheit, sondern auch die Übersichtlichkeit erhöht und Nutzer vor sich selbst schützt – Code sollte eh nicht direkt in der produktiven Seite bearbeitet werden.
  • FORCE_SSL_ADMIN: Auch wenn du für deinen Server schon eine Weiterleitung auf HTTPS eingerichtet hast, würde ich FORCE_SSL_ADMIN auf true setzen. Damit wird ein unsicherer Login immer verhindert.

Was für Möglichkeiten du mit der wp-config noch hast, kannst du in der Dokumentation von WordPress nachlesen.

xmlrpc.php sperren

Bei der xmlrpc.php handelt es sich um eine Schnittstelle von WordPress, um Daten mit anderen Seiten auszutauschen. Erfahrungsgemäß kommt dies nur relativ selten zum Einsatz, wird von Angreifern aber gerne genutzt. Vor allem seit der Einführung der REST-API verliert diese Schnittstelle immer mehr an Bedeutung. Daher solltest du zumindest den Aufruf dieser Datei über die .htaccess sperren.

Erweiterter Schutz von Dateien und Verzeichnissen

Über die bereits erwähnte htaccess-Datei lassen sich zudem viele weitere Zugriffsregeln an den Webserver übermitteln, welche die Sicherheit erhöhen können. Torsten Landsiedel hat in seinem Beitrag „Mehr Sicherheit für WordPress per htaccess“ einige Snippets vorgestellt und erklärt. Der Beitrag ist zwar schon etwas älter, aber immer noch aktuell. Wie Torsten schon sagt: „Code-Snippets solltest du nur verwenden, wenn du sie komplett verstehst“. Fehler in der .htaccess-Datei sorgen dafür, dass deine Seite nicht mehr erreichbar ist – und vielleicht funktioniert auch danach der Zugriff an einer bestimmten Stelle nicht mehr wie erwartet. Daher ist dieser Tipp eher was für Profis.

Die bislang meisten Angriffe erfolgten aufgrund von Sicherheitslücken auf der Verzeichnisebene. Hier wurden zum Beispiel Datei-Inhalte in der index.php oder einer anderen Datei verändert. Noch einen Schritt weiter gehst du also, wenn du den Dateien und Verzeichnissen das Schreibrecht entziehst. So kann selbst bei einer Sicherheitslücke keine Manipulation der Dateien erfolgen. Hierbei ist jedoch Vorsicht geboten, damit du weiterhin Bilddateien hochladen und Caching-Verzeichnisse nutzen kannst. Und bei einer ungünstigen Konfiguration können auch Updates nicht mehr durchgeführt werden, was definitiv vermieden werden sollte. Auch das also ein Profi-Tipp.

Fazit

WordPress ist das am weitesten verbreitete CMS, dadurch aber auch ein beliebtes Angriffsziel. Der Core ist zwar schon ein ziemlich sicheres System, aber wenn du ein paar wenige allgemeine Aspekte beachtest, kannst du die Sicherheit dauerhaft hochhalten. Mit ein bisschen mehr Aufwand kannst du noch mehr erreichen. Hast du weitere Tipps? Teile sie gerne in den Kommentaren!

Kommentar hinzufügen