Die WordPress Sicherheit ist miserabel!
Hast Du das auch schon gehört? Du sollst am Besten die Finger von WordPress lassen!?!
Oder
Wenn Du WordPress nutzt, dann wird Deine Webseite bald gehackt.
Du nutzt WordPress bereits oder Du willst es in Zukunft nutzen? ABER Du bist Dir nicht sicher, ob WordPress für Dich sicher genug ist?
Ich zeige Dir die Ursachen für solche Aussagen. Außerdem mache ich Dir Vorschläge wie Du WordPress absichern kannst.
Übrigens: Mit jedem Tipp steigt die Schwierigkeit der Umsetzung. Tipp 1 ist einfach. Tipp 5 dagegen wesentlich schwieriger umzusetzen. Du solltest daher am Besten mit Tipp 1 anfangen.
WordPress Sicherheit in Gefahr?!? WordPress als Zielscheibe von Hackern!
Weißt Du schon, dass WordPress unglaublich oft genutzt wird. Fast 1/3 aller Webseiten ist mit WordPress umgesetzt. Damit ist es das meist genutzte allerContent Management Systeme im Web.
Und genau das macht WordPress zu einer beliebte Zielscheibe von Hackern.
Ein Hacker hat dabei verschiedene Ziele:
- Zugang zur Webseite, bzw. einem Server erhalten
- Daten klauen
- Webseitenverhalten ändern, wie bspw. eine Weiterleitung zu anderen Seiten einbauen
- Spam-Mails verschicken
- Viren oder ähnliches verbreiten
Da sehr viele Webseiten mit WordPress umgesetzt sind, konzentrieren sich Hacker natürlich besonders auf WordPress und seine Schwachstellen. Auch deshalb stehen öfters Sicherheitslücken über WordPress in den Medien.
Ursachen für Sicherheitslücken
Falls Du es noch nicht weißt:
WordPress ist ein offenes System und beliebig erweiterbar.
Damit kann JEDER das CMS nutzen und erweitern. Die Erweiterungen von WordPress werden auch Plugins genannt. Du musst auch wissen, dass es unzählige Plugins für WordPress gibt. Und jedes Plugin enthält Code von einem anderen Entwickler.
Der Programmcode von Plugins wird jedoch nicht pflichtmäßig auf Sicherheitslücken geprüft.
Grundsätzlich untersucht ein normaler Nutzer natürlich auch die genutzten Plugins auf Sicherheitslücken. Geschweige denn, dass der normale Nutzer überhaupt Kenntnisse darüber hat.
Deshalb investieren Hacker oft ihre Zeit mit WordPress Plugins. Besonderes Interesse besteht bei häufig genutzte Plugins. Für einen Hacker lohnt es sich einfach nicht, sich auf ein selten genutztes Plugin zu konzentrieren.
Daneben kam und kommt es eher selten vor, dass Sicherheitslücken im sog. WordPress Kern gefunden werden. Hier gibt es natürlich Ausnahmen. Dazu gleich mehr.
Welche Sicherheitsangriffe finden häufig statt?
Es gibt einige Angriffsarten, die Hacker verwenden, um einen Zugang zu einem Server oder Webseite zu erhalten. Ich werde Dir nun erklären, welche verschiedenen Techniken besonders gegen WordPress angewendet werden.
Wie Du dich gegen diese Attacken absichern kannst, erkläre ich Dir etwas später.
Du solltest wissen, dass ca. 99 % aller Angriffe automatisiert ablaufen. Hierzu werden sog. Crawler verwendet, die automatisiert nach WordPress Seiten suchen.
Nachdem eine WordPress Applikation erkannt wurde, können gleich mehrere der folgenden Angriffsversuche durchgeführt werden.
Cross-Site-Scripting, SQL-Injections und XMLrpc-Schnittstelle
Die WordPress Sicherheit ist besonders bei automatisierten Angriffen gefährdet. Spezielle Software prüft anschließend auf bekannten Sicherheitslücken.
Über das sog. Cross-Site-Scripting versucht ein Angreifer eine Lücke in der Webanwendung zu finden. Dort platziert er schädlicher Code, wie bspw. JavaScript. Der Code führt anschließend Funktionen zum Nutzen des Hackers aus. Beispielsweise könnte ein Formular verändert werden, dass Formulardaten zusätzlich an den Hacker sendet.
Mithilfe von SQL-Injections werden sog. SQL-Statements an die Datenbank gesendet um z.B. einen Zugang zu ihr zu erhalten. Dabei fehlt im Programmcode von WordPress oder einem Plugin eine Filterung von z.B. Formulardaten auf SQL-Befehle. Ungefiltert könnten entsprechend Datenbankbefehle übergeben und ausgeführt werden. Im schlimmsten Fall erzeugt der Hacker einen eigenen Datenbank-User und hat die volle Kontrolle über die Datenbank. Dann hätte er bspw. alle Rechte über die Datenbank. Theoretisch könnte er mit einem Befehl auch die ganze Datenbank löschen.
Die sog. XMLrpc-Schnittstelle kann genutzt werden um eine WordPress Webseite von außen zu steuern. Mit der Schnittstelle kann z.B. via App Inhalte erstellt und verarbeitet werden.
Das Problem ist jedoch, dass hier eine riesige Sicherheitslücke besteht.
Das große Problem ist, dass die Schnittstelle generell WordPress sie aktiv eingestellt hat. Sie lässt sich natürlich abstellen. Mehr dazu hier.
Gleichzeitig werden mit der Schnittstelle sog. Pingbacks gesteuert. Sie sind mit eine Ursache für diese Sicherheitslücke.
Brute-Force-Angriffe
Brute-Force Angriffe werden, neben SQL-Injections, auch sehr oft durchgeführt, tendenz steigend. Der Angreifer versucht mit sehr vielen Passwortkombinationen automatisiert einen Zugang zum Dashboard von WordPress zu erhalten.
Noch ernster ist es, wenn die XMLrpc-Schnittstelle zusätzlich aktiv ist. In diesem Fall ist es für den Hacker noch einfacher Brute-Force-Attacken durchzuführen. Denn über die Schnittstelle können mehrfache Passwortkombinationen in einem Request übergeben werden.
Machbar wäre dann alles. Schließlich merkt WordPress in diesem Fall nicht unbedingt, dass hier etwas falsch läuft. Die vielen Anfragen hinter einem Request verschleiern dabei das Vorgehen.
Wie Du dich hierbei schützen kannst, sage ich Dir hier.
Solltest Du WordPress einsetzen, trotz WordPress Sicherheitslücken?
Bist Du JETZT noch unsicherer geworden?
Keine Panik!
Ich erzähle Dir gleich wie Du WordPress absichern kannst.
Vorher sage ich Dir ABER noch, wieso Du WordPress nutzen sollest. Oder BESSER: Wann Du WordPress nutzen solltest.
Du willst gleich zu den Sicherheitseinstellungen?
Dann klicke hier.
3 Gründe für den Einsatz von WordPress
Falls Du auf der Suche nach einem CMS warst oder immer noch bist, sollte Dir aufgefallen sein, dass es viele verschiedene CMS-Lösungen gibt.
Daher solltest Du Dir folgende Fragen beantworten bevor Du Dich für ein System entscheidest:
- Bist Du KEIN Designer? Kennst Dich mit Templates, Farbschemata, Usability, usw. gar nicht, oder kaum aus?
- Kennst Du Dich in Programmierung aus?
- Willst Du schnell und mit relativ wenig Aufwand Deine Webseite erstellen?
Wenn Du eine Frage mit Ja beantworten würdest, ist WordPress sicherlich zu 90 % Dein Ding.
Ich erkläre Dir kurz warum:
WordPress besitzt unglaublich viele Themes
Für WordPress sind unglaublich viele Themes vorhanden. Das bedeutet, dass Du aus einer Vielzahl von bereits fertigen Designs auswählen kannst.
Wenn Du nun wenig Ahnung von Design hast und Du nicht genau weißt worauf es bei guten Webseiten ankommt, dann hilft Dir die Vielzahl an Themes sicherlich weiter. Gleichzeitig musst Du Dich weniger um das sog. Responsive Design kümmern. Schließlich sind fast alle aktuellen Themes für Mobilgeräte optimiert.
Die Vielzahl an vorhandenen Themes löst Punkt 1 und 3. Einerseits kannst Du direkt mit einem Theme starten, ohne dieses zu ändern (Punkt 1) oder Du brauchst nur wenige Änderungen (Punkt 3).
Viele Plugins helfen Dir zu schnellen Lösungen
Neben der Vielzahl an Themes, gibt es auch Unmengen an Plugins. Sie befassen sich mit einem bestimmten Problem, welches bereits viele andere Menschen haben, bzw. hatten. Du wirst zu fast allen Problemen und Anforderungen ein oder mehrere Plugins finden.
Somit kannst Du auch ohne viele Programmierkenntnisse zu ordentlichen Lösungen kommen (s. Punkt 2). Auch dabei sparst Du zusätzlich Zeit und Geld. Denke immer daran: Jede Programmierung kostet Zeit und somit Geld (s. Punkt 3).
Du könntest natürlich auch sagen, dass andere CMS ebenfalls Themes und Erweiterungen besitzen. Das stimmt wohl. Jedoch ist die Vielzahl in beiden Fällen weitaus geringer als bei WordPress. Damit hättest Du einfach weniger Lösungen im Angebot.
Hilfe bei Problemen mit WordPress-Entwicklungen
Stell Dir nun einmal vor, dass Du ein Problem mit Deinem Theme, Plugin oder einer anderen Entwicklung hast. Gleichzeitig arbeitest Du mit einem weniger oft eingesetzten CMS.
Dann suchst Du ggf. verzweifelt nach einer Lösungen für ein Programmierproblem. Du findest dann LEIDER nur keine Lösung. ODER Du findest die Lösung erst nach unglaublich vielen Stunden.
Je weniger Menschen mit einem CMS arbeiten, desto weniger kennen sich natürlich damit aus. Klingt logisch, oder? Außerdem wirst Du viel weniger Webseiten und Foreneinträge darüber finden.
Es ist also wesentlich einfacher eine Lösungen in WordPress zu finden, da andere Menschen wahrscheinlich bereits auf Dein Problem gestoßen sind.
Ich will Dir natürlich jetzt NICHT sagen, dass Du WordPress nutzen musst. Und es ist auch nicht die Lösung für alles. Es hat jedoch viele Vorteile ein oft genutztes System wie WordPress zu nutzen.
Übrigens: Ich selbst habe auch mit anderen CMS gearbeitet und für diese Systeme Erweiterungen programmiert, Themes erstellt und angepasst. Daher kenne auch ich die Problematik. Und es kann sehr anstrengend sein, wenn man verzweifelt nach einer Lösung zu einem Problem sucht, es aber NICHTS zu finden gibt.
Sollte es bei Deiner Webseite um die Präsentation von Inhalten gehen, dann erscheint mir WordPress als eine sehr gute Wahl.
Können die Sicherheitsaspekte mit anderen Sytemen verglichen werden?
Das Argument, dass WordPress unglaublich unsicher ist, erscheint mir nicht ganz fair.
Wer bestimmt, wie sicher ein anderes System ist?
Nur weil keine oder nur wenige Meldungen über Sicherheitslücken zu einem anderen CMS erscheinen, bedeutet es nicht, dass es wirklich sicher ist.
Erstens nehmen Sicherheitsexperten ein weniger genutztes CMS seltener unter die Lupe als ein häufig genutztes System. Zweitens befassen sich weniger Hacker mit einem wenig genutzten System.
Ich glaube, dass der Vergleich nicht wirklich fair ist. Die Untersuchung auf WordPress Sicherheitslücken und Angriffen ist weitaus höher als bei anderen Systemen.
Gleichzeitig kommt von den Medien nur wenig Informationen über ein kaum bekanntes System.
Reaktionen auf WordPress Sicherheitslücken
Es sollte außerdem nicht vergessen werden, dass eine WordPress Sicherheitslücke fast immer in kurzer Zeit beseitigt wird, sobald er bekannt wird.
Das gilt nicht unbedingt für Plugins und deren Entwickler. Jedoch handeln Entwickler von viel genutzten und Premium Plugins weitaus schneller. Das Absichern dieser Plugins ist für diese Anbieter extrem wichtig. Denn ihre Plugins sind zum Großteil ihre Einnahmequelle.
Tipp 1: Setze so wenig Plugins wie möglich ein, um die WordPress Sicherheit zu steigern
Nun, die Überschrift spricht wohl für sich. Je mehr Plugins Du einsetzt, desto größer ist natürlich die Wahrscheinlichkeit, dass Du Code mit Sicherheitslücken verwendest. Dazu gehören auch inaktive Plugins. Denn selbst bei inaktiven Plugins kann ein Hacker einen Angriff versuchen.
Wenn Deine Liste an inaktiven Plugins sehr groß ist, dann lösche sie!
Selbst wenn Du denkst, dass Du sie vielleicht später brauchen könntest: Lösche alle nicht aktiven Plugins!
Schreibe vorher jedoch eine Liste mit diesen Plugins. Dann hast Du sie für später immer zur Hand.
Du solltest außerdem wissen, dass sich die Ladezeit deiner Webseite (auch: Pagespeed genannt) mit jedem weiteren Plugin verschlechtert.
Da das Pagespeed ein wichtiger Faktor für die Suchmaschinenoptimierung (kurz: SEO) ist, schlägst Du gleich zwei Fliegen mit einer Klappe.
Ich will Dir damit nicht sagen, dass Du jedes Plugin vermeiden solltest, jedoch solltest Du das immer im Hinterkopf behalten. Um WordPress mehr und mehr abzusichern, solltest Du Dich daran halten.
Tipp 2: Halte Dein System auf dem neuesten Stand
Du solltest außerdem Dein System immer aktuell halten. Das gilt auch für Deine Plugins, wie auch für Dein Theme. Mit den Aktualisierungen werden oft Sicherheitslücken entfernt.
Wenn Du Dich regelmäßig in WordPress einloggst, siehst Du relativ schnell, welche Plugins und Themes ein Update brauchen. Um die Sicherheit zu gewährleisten, solltest Du den WordPress Kern immer auf dem neuesten Stand halten. Das ist enorm wichtig!
Achte jedoch IMMER, dass Du ein BACKUP Deiner Webseite hast, besonders bei einem Update des WordPress Kerns.
Das Backup sollte einmal die Dateien im Webverzeichnis beinhalten. Gleichzeitig solltest Du aber auch Deine Datenbank sichern.
Wie bereits gesagt: Es ist enorm wichtig, dass Du Dein CMS immer auf dem neuesten Stand hältst. Ansonsten können die weiteren Tipps auch nicht immer helfen.
Bist Du eher selten im Dashboard von WordPress, kannst Du Dir z.B. einmal wöchentlich eine Erinnerung einrichten. Dann logge Dich immer an diesem Tag in der Woche ein um die notwendigen Aktualisierungen durchzuführen.
Du kannst natürlich den Prozess auch automatisiert ablaufen lassen.
Bedenke jedoch, dass Du hierzu vor den Updates immer ein Backup brauchst. Dazu wäre zusätzlich ein automatisches Update-System notwendig.
Ich persönlich möchte die eigene Kontrolle über meine Updates haben. Deshalb kümmere ich mich selbst um meine Updates.
Wenn Du jedoch nach automatischen Lösungen suchst, kannst Du dich hier schlau machen. Es gibt ebenfalls Plugins für automatische Updates und automatische Backups.
Damit lässt sich die WordPress Sicherheit verbessern. Es ist wirklich ein wichtiger Punkt, den Du unbedingt beherzigen solltest.
Tipp 3: Setze ein WordPress Sicherheit Plugin ein
Ein WordPress Security-Plugin soll dich vor Angriffen schützen. Jedoch ist es wichtig die Nachteile und Vorteilen zu beachten, bevor Du es einsetzt.
Die Nachteile von WordPress Sicherheit Plugins
WordPress Security-Plugins können Deine WordPress Applikation nachweislich beeinflussen.
Dabei kann die Performance Deiner Webseite ordentlich sinken!
Das solltest Du in allen Fällen bedenken. Mit dem Einsatz von einem Geschwindigkeit-Test davor und danach, kannst Du heraus finden, wie groß der Einfluss auf Deine Seite ist.
Ein weiterer Faktor, den Du nicht unterschätzen solltest, ist der Aufwand zum Einrichten und der Pflege Deines Systems mit einem WordPress Security-Plugin.
Je nach Plugin musst Du mehr oder weniger Zeit investieren alle Einstellungen für das Plugin zu setzen. In manchen Fällen musst Du ggf. etwas über Sicherheitsmaßnahmen recherchieren um für Dich die richtigen Einstellungen zu treffen.
Gleichzeitig erhälst Du je nach Plugin verschiedene Nachrichten, die Du wahrscheinlich immer wieder prüfen willst. Das ist ein nicht zu unterschätzender Aufwand.
Die Vorteile von WordPress Sicherheit Plugins
Der große Vorteil von Security-Plugins ist, dass Du keine große Ahnung haben musst um dich von vielen Attacken abzusichern. Natürlich hast Du entsprechend einen hohen Aufwand, Du kannst Dir jedoch relativ sicher sein, dass danach etwas passiert. Lass dich jedoch nicht von allen Nachrichten verunsichern. Nicht alles ist gleich gefährlich, auch wenn ein Plugin es meldet.
Wenn Du die vorherigen und folgenden Tipps befolgst, ist es eher unwahrscheinlich, dass etwas passiert. Hast Du nicht genau verstanden von was ich rede, dann ist ein WordPress Sicherheit Plugin sicherlich eine gute Idee. Besitzt Du einen Shop mit hoch sensiblen Daten, dann empfehle ich Dir natürlich auch ein Security-Plugin.
Tipp 4: XMLrpc-Schnittstelle deaktivieren
Du kennst nun die Risiken der XMLrpc-Schnittstelle. Außerdem ist Dir bereits bewusst, dass diese Schnittstelle nicht unbedingt notwendig ist.
Daher zeige ich Dir jetzt, wie Du sie deaktivieren kannst.
Deaktivierung der XMLrpc-Schnittstelle in der .htaccess-Datei
Der Zugriff auf die Schnittstelle kann über folgenden Code in der .htaccess-Datei verweigert werden.
Mit dieser Einstellung kann WordPress selbst auch nicht auf die Datei xmlrpc.php zugreifen. Hintergrundprozesse sind dann ebenfalls nicht möglich. Deshalb sollte der Eintrag unbedingt erfolgen um Dich vor Attacken im Hintergrund zu schützen.
<Files xmlrpc.php> Order allow,deny Deny from all </Files>
Erstelle vor jeder Änderungen der htaccess-Datei immer ein Backup und füge den Code nicht zwischen dem Beginn und Ende des WordPress-Eintrags ein (s. # BEGIN WordPress und # END WordPress). Dieser Block kann nämlich von WordPress selbst überschrieben werden.
WordPress Filter zur Abschaltung der XMLrpc-Schnittstelle
Außerdem ist es ratsam die Schnittstelle über die Filtermöglichkeiten von WordPress zu deaktivieren. In der functions.php Deines Themes kannst Du folgenden Code einsetzen.
/* Die XMLRPC-Schnittstelle komplett abschalten */ add_filter( 'xmlrpc_enabled', '__return_false' ); /* Den HTTP-Header vom XMLRPC-Eintrag bereinigen */ add_filter( 'wp_headers', 'AH_remove_x_pingback' ); function AH_remove_x_pingback( $headers ){ unset( $headers['X-Pingback'] ); return $headers; }
Die Informationen zur Deaktivierung stammen von hier. Damit kannst Du Deine Webseite noch besser absichern. Besonders Brute-Force Angriffe haben dann über die XMLrpc-Schnittstelle keine Chance.
Deaktivierung über ein Plugin
Falls Du merkst, dass beide Fälle nicht klappen, oder Du das Gefühl hast, dass ich spanisch sprechen, dann ist eines der folgenden Plugins Deine Lösung.
Hierzu kannst Du entweder das Plugin Manage XML-RPC oder Disable XML-RPC nutzen.
Tipp 5: Mit Login- und Dashboard-Schutz Brute-Force-Angriffe verhindern
Der Trick um Deine Login Seite OHNE Security-Plugin zu schützen ist relativ simpel. Erstens, musst Du hierzu nur etwas in Deiner htaccess-Datei hinzufügen. Zweitens, brauchst Du eine kleine PHP-Datei mit beliebigen Namen im Home-Verzeichnis.
htaccess-Datei erweitern
Mit der Änderung in der htaccess-Datei findet für die URLs www.deineDomain.de/wp-login.php und www.deineDomain.de/wp-admin/ eine Prüfung statt, ob ein sog. Cookie gesetzt wurde.
Ist das Cookie nicht gesetzt, sendet der Server einen Request-Status 403 Forbidden.
RewriteCond %{HTTP_COOKIE} !^.*wp\-comPlex=736071478.*$ [NC] RewriteRule wp-login.php - [F] RewriteCond %{HTTP_COOKIE} !^.*wp\-comPlex=736071478.*$ [NC] RewriteRule wp-admin(.*)$ - [F]
In dem gezeigten Beispiel wird auf den gesetzten Cookie mit dem Namenwp-comPlex- geprüft, welcher den Wert 736071478 haben muss.
Die Prüfung findet nur bei den oben genannten URLs statt. Ist das Cookie nicht gesetzt, wird der Status Forbidden gesendet. Dann erhält der User keinen Zugriff.
Das Beispiel ist von hier abgeleitet und erweitert.
Den Cookie-Namen kannst Du natürlich benennen wie Du willst. Du solltest ihn auch ändern. Damit ist der Name einzigartig und nicht einfach zu erraten.
Im übrigen wird das Zeichen \ in der .htaccess-Datei verwendet um Sonderzeichen in URLs zu escapen. Damit ist das Minus-Zeichen, bzw. der Bindestrich ein Teil des Cookie-Namens.
Die PHP-Datei
Ich schreibe extra nur „Die PHP-Datei“ und nicht die Datei elvis.php. Der Grund ist einfach. Mit dem Aufruf der Datei wird das benötigte Cookie für das Dashboard und den Loginbereich von WordPress gesetzt.
Genau deshalb solltest Du einen ausgefallenen Namen wählen. Einen, den KEINER kennt. Ich nutze selbst ausgefallene Namen. Zum Beispiel nutze ich teppichklopfer.php (das ist nur ein Beispiel und wird nicht in echt verwendet 😉).
Du siehst, dass ich sehr ausgefallene Namen nehme. Je ausgefallener der Name ist, desto besser kannst Du die WordPress Sicherheit steigern. Du willst ja nicht, dass jemand den Namen errät, oder?
Wenn Du Dich nun in WordPress einloggen willst, musst du vorher diese Datei im Browser aufrufen. Erst dann kannst Du Dich einloggen.
setcookie("wp-comPlex", 736071478); header("Location: wp-login.php");
In der Datei wird als erstes der Cookie mit Deinem Cookie-Namen gesetzt. Anschließend leitet Dich der Server auf die Loginseite von WordPress weiter.
Das war es schon!
Vor dieser Änderung hatte ich auch ein WordPress Security Plugin. Ich hatte eine Anzahl von ca 4.700 Angriffen. Nachdem ich den Trick angewendet hätte, wurde kein weiterer bösartiger Angriff mehr gezählt. Die Zahl hat sich nicht mehr erhöht!
Du siehst also: Wenn Du diesen Tipp befolgst, kannst Du Dein System extrem absichern. Der Name Deiner Datei ist schließlich so ungewöhnlich, dass er nicht so einfach zu erraten ist. Zumindest sollte er es sein 😉.
Fazit
Die WordPress Sicherheit wird sicherlich immer wieder in den Medien auftauchen. Mit den 5 genannten Tipps kannst Du Dein WordPress extrem absichern. Dann ist die Wahrscheinlichkeit extrem gering einem erfolgreichen Angriff von Hackern ausgesetzt zu sein.