Wie steht es um die Sicherheit von WordPress? Nicht besonders gut, denn es kommt mit einer Reihe gravierender Schwachstellen daher. Und weil derzeit mehr als 40 Prozent des Internets mit WordPress laufen, ist es ein beliebtes Angriffsziel. Die gute Nachricht: Die wichtigsten Schwachstellen lassen sich einfach ausmerzen.
Das Schöne an WordPress ist, dass es wirklich alle nutzen können. Eigentlich braucht man nur einen Internetanschluss und man kann loslegen. Ganz anders sieht es da bei der Sicherheit von WordPress aus. Vielleicht auch gerade wegen der einfachen Handhabung setzen sich nicht alle damit auseinander, wie sicher WordPress eigentlich von Haus aus ist.
Auf jeden Fall aber wegen seiner großen Stärken – dem unglaublichen Funktionsumfang und den vielfältigen Designs – ist WordPress tendenziell sehr unsicher. Der modulare Aufbau bietet massig Angriffspunkte. Und die werden natürlich auch von Hacker:innen ausgenutzt. Und zwar automatisiert, rund um die Uhr, 365 Tage im Jahr.
Aber keine Sorge: Diese eingebauten Schwächen von WordPress lassen sich sehr leicht ausmerzen. Und zwar erst einmal komplett ohne zusätzliches Sicherheitsplugin.
Damit will ich dir dein Sicherheitsplugin natürlich nicht ausreden. Es ist unter Umständen sogar sehr sinnvoll. Aber das Absichern deiner WordPress Website ist mit seiner Installation eben nicht abgeschlossen. Und bevor du dich in Schattenboxkämpfe mit Pseudobedrohungen zu verwickeln drohst, ist es sinnvoller erst einmal die grundlegenden Schwächen von WordPress zu kompensieren.
Im Einzelnen geht es heute um:
- den Adminbereich und warum er so anfällig ist
- die Schwächen der modularen Struktur von WordPress
- die Rolle des WordPress Hostings bei der Grundsicherung deiner Website
„Aber meine Website ist doch gar nicht interessant genug“
Täusche dich nicht: Diese Annahme ist schlicht falsch. Jede WordPress Website ist als Angriffsziel wertvoll. Beispielsweise als Spamschleuder, Teil eines Botnets oder Werbeplattform für Phishing Websites.
Und im Zweifelsfall ist es vollkommen egal wie klein, neu oder wenig besucht deine Website ist. Denn die Leidtragenden sind am Ende ohnehin du und dein Geschäft. So kann es passieren, dass dein Newsletter als Spam eingestuft wird, die Nutzer vor dem Besuch deiner Website gewarnt werden und dein Google Ranking leidet, weil deine Website auf einer Blacklist steht.
Was ich damit sagen will: Allein wegen der Beliebtheit und Verbreitung von WordPress sind WordPress Websites ein dankbares Angriffsziel. Und zwar unabhängig von deren Inhalt und Zweck.
„*“ zeigt erforderliche Felder an
Der WP-Admin-Bereich ist besonders anfällig
Die Loginseite ist standardmäßig über das Suffix „wp-admin“ erreichbar. Deswegen ist sie auch besonders häufig das Ziel von Angriffen – vor allem von sogenannten Brute Force Attacken. Diese Angriffe gehören mit zu den häufigsten Hacks gegen WordPress Websites, denn sie sind einfach zu automatisieren. Bei einer Brute Force Attacke wird versucht, die richtige Kombination aus Name und Passwort zu erraten. Wenn also das Passwort schwach oder der Loginbereich nicht geschützt ist, kann es passieren, dass eine Brute Force Attacke entweder Erfolg hat und jemand Fremdes sich erfolgreich in dein WordPress einloggen kann, oder dass das massive Aufkommen von Loginversuchen deine Website lahmlegt.
Wordfence, der bekannte Hersteller des gleichnamigen Sicherheitsplugins, verzeichnete allein im März 2017 durchschnittlich 34 Millionen Brute Force Angriffe – und zwar täglich. Im Vergleich dazu bewegen sich die sog. „complex attacks“, also unter Ausnutzung spezifischer Sicherheitslücken, auf einem Niveau von 3,8 Millionen Angriffen täglich.
Da Wordfence aber natürlich nur die Attacken zählt, die von der eigenen Software abgewehrt wurden, fällt die Dunkelziffer noch höher aus.
Die gute Nachricht ist aber: Obwohl der Angriff auf den WP-Admin-Bereich sehr leicht ist und sich schnell automatisieren lässt, sind die Schutzmaßnahmen dagegen denkbar einfach. Zur Sicherung deines WP-Admin-Bereichs kannst du an drei Stellen Schutzwälle hochziehen:
- Auf der WordPress Ebene, durch starke Passwörter
- Beim Login selbst, durch eine Begrenzung der Anmeldeversuche
- Vor dem Login, durch eine Blacklist
1) Die alte Leier: Starke Passwörter
Brute Force Attacken sind sehr stupide Angriffe. Sie raten im Prinzip nur. Deswegen kann ein starkes Passwort hier tatsächlich schon genug sein, um die Attacken ins Leere laufen zu lassen. Machen wir es also kurz: Das starke Passwort ist Pflicht. Dazu gehören: Buchstaben, Zahlen, Sonderzeichen sowie groß- und kleingeschriebene Buchstaben. Und natürlich ist auch eine Zwei-Faktor-Authentifizierung sinnvoll.
TIPP: Mit Passwortmanagern ist es übrigens ein Leichtes nicht nur sichere Passwörter zu erstellen, sondern diese auch zu verwalten. Apple Rechner bieten mit dem Programm „Schlüsselbundverwaltung“ beispielsweise eine bequeme Möglichkeit deine Passwörter offline zu verwalten. Du musst dir nur ein Masterpasswort merken (das aber natürlich möglichst komplex sein sollte). Genauso arbeiten auch cloudbasierte Passwortverwaltungsprogramme, wie 1Password, LastPass oder X-Key Pass.
2) Zahl der Logins begrenzen
An den Zahlen von Wordfence kann man es eindrucksvoll sehen: Brute Force Attacken sind die häufigsten Angriffe auf WordPress Websites. Die Wahrscheinlichkeit, dass deine Website Opfer eines solchen Angriffs wird, ist also sehr hoch. Und damit die hohe Zahl der Loginversuche deine Website nicht unnötig belasten, gibt es die Möglichkeit diese zu begrenzen.
Eine IP wird dann beispielsweise nach drei fehlgeschlagenen Versuchen für eine bestimmte Zeit geblockt. Kommt die IP anschließend erneut ans Limit, erhöht sich der Sperrzeitraum sukzessive. So limitierst du die Zahl der möglichen Versuche sehr schnell so stark, dass die Attacke nutzlos wird.
Je nachdem wie niedrig die Sperrschwelle angesetzt ist, kann dieses Verfahren auch gegen einen Angriff mit wechselnden IPs schützen. Am einfachsten kannst du diesen Schutz deines Loginbereichs über Plugins umsetzen. Hier gibt es beispielsweise WP Limit Login Attempts, Login Lockdown oder auch eines der großen Sicherheitsplugins wie Sucuri, Wordfence oder All in One WP Security. Die Websites, die bei Raidboxes gehostet werden, sind bereits serverseitig mit einem Brute Force Schutz ausgestattet. Ein zusätzliches Plugin ist hier also nicht nötig.
3) Blacklisting
Bei Sicherheitsfirmen wie Sucuri oder Wordfence wird ein großer Teil der Arbeitszeit damit verbracht, Angriffe zu analysieren. Diese Analysen veröffentlichen sie auch in regelmäßigen Abständen. Einer der wichtigsten Aspekte in diesen Berichten ist regelmäßig die Herkunft einer IP. Denn in bestimmten Ländern stehen Server, die besonders häufig Angriffe fahren.
Ein Blacklisting der entsprechenden IPs macht daher durchaus Sinn. Vor allem, wenn die Region für dich nicht zielgruppenrelevant ist. So kannst du Angriffe schon vor Erreichen deiner Website effektiv zurückschlagen.
Solche Blacklists kannst du entweder selbst anlegen, indem du sie auf Serverebene implementierst, oder du nutzt ein Sicherheitsplugin mit entsprechender Funktion.
Veraltetes WordPress
WordPress ist ein modulares System. Es besteht aus dem Core, also der Kernsoftware, den Plugins und den Themes. Eine der größten Gefahren für WordPress Installationen entsteht dadurch, dass viele WordPress Websites kein regelmäßiges Update bekommen.
Das hat die unterschiedlichsten Gründe. Diese reichen von Inkompatibilitäten bei Plugins und Themes, bis hin zu Unwissen oder fehlender Zeit für ein Update.
Wohin verschleppte Core Updates führen können, zeigte sich eindrucksvoll im Februar 2017: es wurde eine Sicherheitslücke in der WordPress Version 4.7.1 bekannt, und es wurde dazu aufgerufen, möglichst schnell auf Version 4.7.2 upzudaten.
Binnen kürzester Zeit provozierte die Meldung massenhaft Angriffe auf WordPress Websites (denn die Lücke war vor der offiziellen Mitteilung noch nicht bekannt). Auch hierzu liefern die Hersteller der entsprechenden Sicherheitssoftware wieder Zahlen: innerhalb nur weniger Tage seien insgesamt anderthalb bis zwei Millionen Websites gehackt worden. Zuvor hatte ein Mitarbeiter von Wordfence die Sicherheitslücke entdeckt.
Ruft man sich in Erinnerung, dass derzeit mehr als 43 Prozent des gesamten Internets auf WordPress Basis laufen, kann man sich eine recht gute Vorstellung davon machen, was passieren könnte, sollte so eine Lücke unbemerkt bleiben. Es ist daher ratsam, die Updates des WordPress Core zu automatisieren oder automatisieren zu lassen.
Das gilt übrigens hauptsächlich für die sogenannten Minor Updates, also Versionsnummern mit drei Stellen, bspw. 4.7.4. Dies sind die sog. „Security and Maintenance Releases“ und sollten immer so schnell wie möglich installiert werden. Bei größeren Versionssprüngen, bspw. von 4.7 auf 4.8 verhält es sich etwas anders: Hier stehen Funktionen und allgemeine Verbesserungen im Fokus der Updates.
Veraltete Plugins und Themes
Was für den WordPress Core gilt, gilt natürlich auch für die Plugins und Themes: Veraltete Pluginversionen bergen fast immer Sicherheitslücken – und zwar vermeidbare.
Auch das Bundesamt für Sicherheit in der Informationstechnik (BSI) sieht das laut einer Sicherheitsstudie zu Content Management Systemen ähnlich. Die Daten des BSI beziehen sich auf den Zeitraum von 2010 bis 2012. 80 Prozent der offiziell gemeldeten Schwachstellen ließen sich auf Erweiterungen zurückzuführen – also in den meisten Fällen auf Plugins.
Eine Suche nach Exploits mit Hilfe von ExploitsDatabase ergab über 250 Exploits für WordPress. Hier ist der Großteil der Exploits für WordPress Plugins eingetragen worden.
– BSI (2013): „Sicherheitsstudie Content Management Systeme (CMS)“
In der Praxis sind Plugins ein bevorzugter Angriffspunkt. Und bei mehr als 50.000 Erweiterungen im offiziellen Pluginverzeichnis von WordPress auch ein sehr ergiebiger. Ansatzpunkt für solche Angriffe sind dann Lücken im Code der Plugins.
Hierbei ist wichtig zu verstehen: Solche Lücken wird es immer geben. Ein zu 100 Prozent sicheres System existiert nicht. Und: Fehlende Updates bei einem Plugin oder Theme bedeuten nicht automatisch, dass dieses unsicher ist. Auch wenn die Updatefrequenz ein guter Indikator für die Supportqualität eines Herstellers ist. Es könnte aber genauso gut sein, dass bisher schlicht keine Sicherheitslücken entdeckt wurden.
Werden aber welche entdeckt, dann wird der Pluginanbieter (hoffentlich) auch ein Update bereitstellen, das die Lücke schließt. Tut er das nicht, sind Angriffe wie SQL Injections oder Cross Site Scripting (XSS) möglich. Bei ersteren wird die Datenbank deiner Website manipuliert. So können etwa neue Adminaccounts geschaffen werden und deine Website dann mit Schadcode infiziert oder auch zur Spamschleuder umgebaut werden.
Bei XSS Attacken geht es im Grunde darum, JavaScript auf deiner Website zu platzieren. So können unter anderem Formulare auf deiner Website eingeschleust werden, die die Daten der User stehlen. Völlig unauffällig, mit SSL verschlüsselt und in vertrauenswürdigem Umfeld.
Und weil Plugins und Themes so mannigfaltige Angriffspunkte bieten, solltest du immer auf die Zahl der Plugins achten und darauf, diese nicht im deaktivierten Zustand zu belassen, sondern wirklich zu deinstallieren, wenn du sie nicht mehr brauchst.
Shared Hosting
Diese Nachteile bringt WordPress schon von Haus aus mit. Da deine Website aber natürlich auch irgendwie online kommen muss, ist auch das WordPress Hosting ein wichtiger Sicherheitsaspekt. Da die Sicherheit von WordPress und das WordPress Hosting ein sehr komplexes und vielseitiges Thema ist, möchte ich an dieser Stelle zunächst nur auf den großen Nachteil des Shared Hosting eingehen. Auch das heißt wiederum nicht, dass ich dir Shared Hosting ausreden möchte. Es macht vor allem aus preislicher Sicht sehr viel Sinn. Aber Shared Hosting bringt eben einen entscheidenden Nachteil mit, den du kennen solltest.
Denn beim Shared Hosting liegen mehrere Websites auf ein und demselben Server. Die Websites teilen sich dabei auch die IP Adresse. Das bedeutet, dass der Zustand und das Verhalten einer Website auch alle anderen Websites auf dem Server negativ beeinflussen kann. Dieser Effekt nennt sich Bad Neighbor Effect und bezieht sich beispielsweise auf Spamming. Denn sorgt eine Website auf deinem Server dafür, dass die IP auf eine Blacklist gerät, kann dies auch dein Angebot beeinträchtigen.
Zudem kann es zu einer Überbeanspruchung von Ressourcen führen, etwa wenn eine der Websites auf dem Server in eine DDoS Attacke eingespannt wird, oder von einem massiven Angriff betroffen ist. Die Stabilität deines eigenen Angebots ist somit zu einem gewissen Grad immer auch von der Sicherheit der anderen Websites auf deinem Server abhängig.
Für professionell betriebene WordPress Websites ist ein virtueller oder dedizierter Server somit durchaus sinnvoll. Natürlich gehören zu den Sicherheitskonzepten von Hostern auch Backuplösungen, Firewalls und Malwarescanner, auf diese werden wir aber an anderer Stelle noch ausführlich eingehen.
Fazit
WordPress ist unsicher. Und zwar aufgrund seines modularen Aufbaus. Seine größte Stärke kann somit zu seiner größten Schwäche werden. Die gute Nachricht: Du kannst diese mitgelieferte Schwäche sehr einfach umgehen. Mehr als den Aufwand bei der Accountverwaltung und Passworterstellung sowie bei den Updates braucht es im Prinzip nicht.
Natürlich machen diese Maßnahmen deine Website noch nicht zu Fort Knox. Sie sind aber der Grundstein deines Sicherheitskonzepts. Denn beachtest du sie nicht, können sie alle weiteren Sicherheitsmaßnahmen aushebeln. Und du kannst diese Aspekte selbstständig beeinflussen. Gerade deshalb ist es so wichtig, dass du dir dieser stets bewusst bist.
Die Zugriffsversuche gibt es immer wieder, aufgrund des Sicherheitskonzepts und serverseitigen Maßnahmen, mache ich mir da überhaupt keine Gedanken.
Danke für dein Feedback, Stephen 🙂
LG aus Münster
Sehr gerne bei solch einem genialen Hoster.
Hallo
Wirklich super nachvollziehbare Tipps und Ratschläge. Ich habe zusätzlich noch die htaccess-Datei insofern verändert, dass man erst auf die LoginSeite kommt, wenn man einen Nutzernamen und das richtige Passwort eingibt.
Ergebnis: Hilft überhaupt nicht vor Zugangsversuche im WP-Login…!!!
Momentan werden meine Seiten ordentlich von illegalen LoginVersuchen über hunderte verschiedene IPs belastet. Zusätzlich ist das sehr nervig.
Hi,
interessanter Beitrag. Ich habe bei euch ein Hosting Paket gebucht und bisher keine Probleme gehabt. Was empfehlt ihr für mehr Sicherheit, wenn man euch als Host wählt? Muss ich irgendein Plugin installieren das wichtig ist?
Danke Samuel für dein positives Feedback, das freut uns zu hören! Du brauchst von deiner Seite aus nichts weiter zu unternehmen. Wir haben serverseitig viele Maßnahmen ergriffen und überwachen auch alle Webseiten standardmässig 24/7. Einige unserer Nutzer haben noch wordfence oder iTheme security installiert. Die beiden Tools haben es aber in sich was den Verbrauch von RAM und CPU angeht. Also raten wir von ihnen in der Regel ab.
Ok klasse. Wieder ein Pluspunkt für euch. 😉