WordPress – aber sicher!

|
WordPress gewinnt als Content Management System auf dem weltweiten Markt immer noch an Beliebtheit. Im März 2021 wurden laut W3Techs über 40 Prozent aller Internetseiten mit WordPress betrieben. Werden Websites ohne CMS ausgeklammert, liegt der Marktanteil sogar bei 64 Prozent. Diese Beliebtheit hat jedoch auch Schattenseiten. Wie du Angreifern den Kampf ansagst und dein WordPress schützt, erkläre ich dir in diesem Beitrag.

Je häufiger eine Anwendung genutzt wird, desto beliebter wird diese auch für Angreifer und Hacker. Die meisten Angriffsversuche passieren automatisiert und richten sich nicht gegen spezifische Seiten. Daher ist Sicherheit für alle Websites relevant, auch wenn du im ersten Moment vielleicht denkst: „Wer sollte meine kleine Seite schon hacken wollen? 

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.

Mann mit Wordpress-Shirt an Rechner

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!

Ähnliche Artikel:

Menschen legen Puzzle, welches das WordPress Logo zeigt, zusammen
Webentwicklung

Was ist WordPress? – Mittwald erklärt

WordPress: der Alleskönner unter den CMS. Was WordPress genau ist, wie es sich entwickelt hat und wie du deine Website damit gestaltest, erklärt dir Viktor.

Webentwicklung

ClassicPress – das „klassische“ WordPress

ClassicPress ist ein Fork von WordPress. Warum die Entwickler andere Wege als das Original gehen und welche Vorteile das hat, erfährst du hier.

Webentwicklung

WordPress – Plugins vs. Datensicherheit

Durch Plugins lässt sich WordPress quasi beliebig erweitern. Aber auch Datenschutz und Sicherheit sind bei der Verwendung von Plugins relevant.

Kommentare

Trpcevski am
Danke für diesen Beitrag. Habt ihr eigentlich eine Liste mit "von euch empfohlenen" Plugins?
Bzgl der Thematik Sicherheit, ist wp cerber ja mein Favorit.. Ein Input bzgl. Security und Alternativen würde ich dementsprechend begrüßen.

Besten Gruß aus Freiburg
Lukas Fritze am
Hallo Trpevski,

„wp cerber“ kannte ich jetzt nicht, ist aber ja ganz schön vielseitig dieses Plugin. Solche Plugins versuche ich persönlich zu vermeiden und setze dafür eher auf spezialisierte Lösungen. Ich habe immer das Gefühl, dass ein solches Plugin eine trügerische Sicherheit vermittelt, die es de facto nicht leisten kann. Und man darf nicht vergessen, dass ja auch so ein Sicherheits-Plugin eine mögliche Quelle für Sicherheitslücken ist.

Neben den in diesem Beitrag erwähnten Basics nutze ich daher kaum Sicherheits-Plugins.

Schau mal in den Beitrag zum Thema "Login absichern", den wir gestern veröffentlicht haben. Da stellen wir auch ein Plugin vor, mit dem der Login verschoben werden kann. Ich setze das oder den ebenfalls beschriebenen Passwortschutz aber nur sehr sparsam ein, wenn ich merke, dass unproportional viele Aufrufe auf dem Login-Formular landen.

Für 2-Faktor-Auth setze ich auf das Feature-Plugin Two-Factor, für das früher oder später eine Integration in den Core geplant ist. Das habe ich in fast allen Installationen, die ich betreue, aktiv.

Und sonst nutze ich Antivirus vom Plugin-Kollektiv. Einfach, aber wirksam.

Und das wars dann auch schon. Gute Passwörter, Wenige User mit angepassten Rechten und Updates. Das ist das Allerwichtigste und ich werde nicht müde, es zu wiederholen: Nutzt gute Passwörter und macht Updates! ;-)

Viele Grüße aus Espelkamp
Trpcevski am
Guten Morgen Lukas

vielen Dank für die ausführliche Antwort, das hilft weiter. Dann werde ich mich mal gleich dem Artikel widmen - eine gute Morgen Lektüre! 2-Faktor-Auth ist auch eine spannende Sache - könnte man bestimmt einen eigenen Artikel verfassen.

Besten Gruß und eine gute Woche!