WordPress Sicherheit (3) – WordPress schützen – Maßnahmen die dein WordPress sicher machen
Im dritten Artikel der Reihe WordPress-Sicherheit, erhältst du Tipps, mit denen du dein WordPress schützen kannst. Schutz von WordPress. Du erfährst konkret, mit welchen Maßnahmen du dein WordPress absichern und weitgehend gegen Angriffe schützt. Wie du in den beiden vorhergehenden Beiträge unserer Artikelserie zur WordPress Sicherheit weißt, kann es keinen 100%igen Schutz für deine WordPress Website geben. Du hast aber auch erfahren, dass es Möglichkeiten gibt, dein WordPress sicherer zu machen und die Gefahr zu minimieren.
Inhaltsverzeichnis
WordPress schützen – 12 Maßnahmen
Dein WordPress schützen, ist keine Zauberei. Du kannst die Sicherheit deiner WordPress-Installation schon mit wenigen Handgriffen deutlich steigern. Die folgenden 10 Tipps helfen dir dabei, Angreifer abzuwehren oder ihnen von Vornherein die Lust zu nehmen.
Neuen Administrator anlegen
Die erste Maßnahme, nämlich das Anlegen eines neuen (geheimen) Admins ist ein wichtiger Schritt dabei WordPress zu schützen. Dazu sind mehrere Nebenaufgaben zu erledigen, die du der Reihe nach abarbeiten solltest.
Mehrere neue Benutzer anlegen
Erstelle zunächst einige Benutzer als Platzhalter. Diese haben nur die Funktion, jeweils eine ID (vor der ID des künftigen Administrators) zu belegen. Wenn deine Site bereits eine Weile existiert und mehrere Abonnenten hat, kannst du diesen Schritt überspringen.
Erstelle das Profil, dass später als Administrator genutzt wird
Erstelle den neue Benutzer, der als Administrator fungieren soll. Er erhält automatisch die letzte ID. Wichtig: Du solltest einen zufälligen, am besten kryptischen Benutzernamen wählen. Beispiel: „g2-Ah3u“ (Dieses Beispiel verwendest du natürlich nicht!). Keinesfalls sollte der neue Benutzer den Benutzernamen „administrator“ oder „admin“ tragen oder irgendwelche Bestandteile enthalten, die andeuten, dass es sich um den Administratoren-Account handeln könnte. Gleiches gilt natürlich auch für Vorname, Nachname und Spitzname. Vorname und Nachname kannst du weglassen. Als Spitzname (der erforderlich ist), vergibst du einen vom Benutzernamen abweichenden. Unter Öffentlicher Name wählst du dann den Spitznamen.
Sicheres Passwort
Wähle ein sicheres Passwort. Das Passwort sollte mindestens 12 Zeichen lang und kryptisch sein. Das heißt es soll keinerlei Sinn ergeben, auch keine Bestandteile enthalten, die einen Sinn ergeben. Es sollte idealerweise aus gemischten, rein zufälligen angeordneten Groß- und Kleinbuchstaben, Sonderzeichen und Ziffern bestehen. Erstelle keine Passwörter die als Eselsbrücken Begriffe enthalten! Es ist unbequem und wahrscheinlich fast unmöglich, sich ein solches Passwort zu merken, aber es erhöht die Sicherheit deiner WordPress-Site ganz enorm. Falls du dir unbedingt eine Eselsbrücke bauen möchtest, generiere das Passwort aus einem Satz, den du dir gut einprägen kannst. Beispiel:
Meine 2 Schwestern haben zusammen 5 Kinder. Ich weiß, dass es 3 Jungs und 2 Mädchen sind.
ergibt:
M2Shz5K.Iw,de3Ju2Ms.
Achtung: Vorbeugend für alle, die meinen, dieses Beispiel-Passwort aus Bequemlichkeit gleich verwenden zu können… Das wäre ein großer Fehler. Es ist nicht auszuschließen, dass es bereits in Passwortlisten aufgenommen wurde oder irgendwann aufgenommen und bei Angriffen auf dein WordPress ausprobiert wird.
Notiere dir bei Bedarf dein Passwort oder die Eselsbrücke und bewahre es sicher auf. Sicher heißt, keinesfalls innerhalb der Verzeichnisstruktur deiner WordPress-Installation. Notiere es abseits davon an einem Ort, der keine Rückschlüsse auf deine Website zulässt. Beispiele:
- Zettel an der Pinnwand, der nur das Passwort enthält
- Eine beliebige Seite eines Buches, das in der Nähe deines Schreibtisches liegt Sofern niemand, dem du nicht traust, Zugang zu deinem Schreibtisch hat.
Diese Empfehlung zur Passwortsicherheit ist nicht übertrieben. Du solltest sie ernst nehmen, wenn dir daran gelegen ist, nicht Opfer eines Brute Force Angriffs zu werden. Was Brute Force Attacken zu leisten in der Lage sind, werden wir in einem der nächsten Artikel zeigen.
Benutzerrolle Administrator
Unter Benutzerrolle wählst du „Administrator“.
Speichere den neuen Benutzer
Weitere Benutzer als Platzhalter erzeugen
Damit der neue Admin nicht die letzte Benutzer-IDs hat, erstellst du nach ihm noch einige weitere (mind. 7) Benutzer.
Mit neuem Admin-Profil einloggen
Melde dich aus WordPress ab und logge dich mit dem neuen Administrator-Profil erneut ein. So siehst du gleich, ob alles funktioniert und du die erforderlichen Admin-Rechte hast.
Neuen Benutzer zum Fungieren als Autor anlegen
Da der neue Administrator nicht als Autor auftreten darf, und der bisherige Admin und Autor in der Folge entfernt wird, benötigst du einen Benutzer, der als Autor in Erscheinung tritt. Dem neuen Autor gibst du einen beliebigen Benutzer- und Spitznamen. Er erhält lediglich die Benutzerrolle „Autor“. Noch sicherer ist es, ihm nur die Benutzerrolle Abonnent zuzuweisen. Dann schreibst du die Beiträge mit deinem Administrator-Account, weist aber bei Beitragserstellung (vor Veröffentlichung!) jeden Beitrag dem speziellen Autoren-Profil zu. In diesem Fall musst du darauf achten, dass du die Zuweisung des Benutzers als Autor nicht vergisst und den Beitrag nicht versehentlich mit dem Administrator als Auto veröffentlichst.
Als Passwort für den Autor solltest du ebenfalls ein möglichst sicheres wählen. Es sollte auf keinen Fall das gleiche Passwort sein, dass du für den Administrator vergeben hast!
Bisherigen Benutzer admin und Benutzer mit ID 1 löschen
Achtung, lies diesen Abschnitt erst komplett durch, bevor du den Benutzer endgültig löschst, da in diesem Prozess die Beiträge auf den neu erstellten Autor übertragen werden.
Beiträge des zu löschenden Admin, auf den neuen Autor übertragen
In der Benutzerübersicht suchst du den Benutzer admin. Dieser ist standardmäßig auch der Benutzer mit der Benutzer-ID 1. Klicke auf löschen. Es öffnet sich die rechts abgebildete Ansicht. Hier weist du die Beiträge und Kommentare des zu löschenden Benutzers dem neu erstellten und als zukünftiger Autor fungierenden Benutzer zu. Wenn du die entsprechende Auswahl getroffen hast, klickst du auf den Button „Löschen bestätigen“
Hat man bei der Installation von WordPress Standard-Benutzernamen admin umbenannt, ist der entsprechende Benutzer mit Administrator-Rolle zu löschen. Hat der zu löschende Administrator nicht die ID 1, löschte man außerdem den Benutzer, der die ID1 innehat. Gegebenenfalls weist man auch hier die Beiträge einem anderen Benutzer zu.
Einen weiteren Benutzer als Honeypot anlegen
Jetzt legst du einen weiteren Benutzer an. Diesem weist du als Rolle „Abonnent“ zu und gibst ihm den Benutzernamen „admin„. Du wunderst dich nun vielleicht, weshalb du einen neuen „admin“ erstellen sollst. Tust du nicht. Es ist ein Benutzer ohne besondere Rechte, der lediglich den Namen admin trägt. Weshalb? Weil er ein Honeypot ist. Er soll Bots anlocken und sie veranlassen, ihr Brute Force auf ihn anzuwenden. Wenn sie einen Benutzer mit Benutzernamen „admin“ gefunden haben, suchen sie wahrscheinlich nicht mehr nach einen weiteren Administrator. Sollen sie sich doch an ihm abarbeiten. Dieser admin hat keinerlei Funktion, außer die, als Honeypot für eifrige Bots zu dienen. Selbst wenn die Bots sein Passwort ermitteln würden, hätten sie nur Zugriff auf ein Benutzerprofil ohne Rechte. Aber sie werden das Passwort nie ermitteln, denn du gibst auch diesem Honeypot-User ein besonders langes Passwort nach den oben beschriebenen Kriterien. Außerdem wirst du durch spätere Maßnahmen Brute Force Angriffe so drastisch entschärfen, dass das Rrraten des Passworts mit dieser Methode viele hundert Jahre dauern würde.
WordPress Brute Force Schutz – Zahl der möglichen Anmeldeversuche beschränken
Anmeldeversuche pro Host beschränken
Beschränke die Zahl der maximal möglichen Anmeldeversuche, die von einem Host (Computer) ausgehen. Zwar versuchen Angreifer durch Verwendung oder Vortäuschen mehrerer Hosts solche Sperren zu umgehen, aber wenn ein Host nach jeweils 5 Fehlversuchen gesperrt wird, bremst diese Maßnahme ihre Bemühungen immerhin aus. Besonders in Berbindung mit einem ausreichend langem und kompleyen Passwort.
Anmeldeversuche pro Benutzer beschränken
Beschränke zusätzlich die Zahl der maximal möglichen Anmeldeversuche pro Benutzername. Wir halten 6 für einen guten Wert. Das ist ein effektiver Weg, um Brute Force Angriffen entgegenzuwirken. Denn so hat der Angreifer bzw. sein Bot nur die von dir festgelegte Anzahl an Versuchen, das Passort eines beliebigen Benutzers bzw. speziell des jeweiligen Administrators zu erraten.
Plugins um Anmeldeversuche zu beschränken
Der einfachste Weg, die Anmeldeversuche zu begrenzen ist ein entsprechendes Plugin zu einzusetzen. Diese loggen alle Login-Versuche und sperren den Login bei einer festgelegten Anzahl von Fehlversuchen für eine definierte Zeitspanne. Entsprechende Plugins wären z.B. Limit Login Attempts oder Login Lockdown. Auch umfangreiche Sicherheits-Plugins wie zum Beispiel Wordfence, iThemes Security oder auch WPBruiser bieten die Möglichkeit, die Anzahl der Anmeldeversuche zu begrenzen und so Brute Force Angriffen den Wind aus den Segeln zu nehmen.
Wer die Zahl der Anmeldeversuche pro Host und der Anmeldeversuche pro Benutzer bis zuer auslösung einer Sperre selbst festlegen möchte, der sollte sich iThemes Security ansehen.
Anmeldeversuche beschränken ohne Plugin
Es besteht theoretisch auch die Möglichkeit, Login-Versuche ohne Plugin zu begrenzen. Dazu wäre eine entsprechende Funktion zu implementieren. Wir haben dies selbst allerdings noch nicht umgesetzt und uns ist auch keine Anleitung zum Einschränken der Zahl der Login-Versuche ohne Plugin bekannt. Wer eine solche Lösung bereits umgesetzt hat, kann uns gern eine Anleitung zukommen lassen. Wir werden sie dann an dieser Stelle veröffentlichen.
Rechtliche Aspekte – DSGVO
Wenn du besagte oder ähnliche Plugins einsetzt oder in dein WordPress eine Lösung ohne Plugins integrierst, musst du dir im Klaren darüber sein, dass dies eine Relevanz in Bezug auf die Datenschutzbestimmungen und die DSGVO hat. Denn damit die Abwehr von Brute Force Angriffen möglich wird, müssen IP’s der Besucher geloggt werden. Daher solltest du deine Datenschutzerklärung anpassen und deine Besucher darüber informieren, dass ihre IP im Zusammenhang mit den Abwehrmechanismen u.U. gespeichert wird. Aus unserer Sicht besteht in diesem Fall ein s.g. „berechtigtes Interesse“ an der Datenerhebung. Im Zweifel sollte man sich aber diesbezüglich bei einem Anwalt oder zuständigen Datenschutzbeauftragten informieren.
Die Zahl der Plugins und Themes auf das wirklich notwendige beschränken
Jedes Plugin und jedes Theme steigert die Angriffsfläche. Um so größer die Zahl der installierten Plugins und Themes, desto mehr Ansatzpunkte haben Angreifer. Du solltest folgende Punkte beherzigen, da auch sie dein WordPress schützen:
- Du solltest grundsätzlich nur Plugins und Themes installieren, die du auch unbedingt benötigst
- Alle nicht verwendeten Plugins und Themes sollten gelöscht werden
- Hast du ein Plugin oder Theme nur mal ausprobiert und nutzt es nicht, deaktiviere es nicht nur, sondern lösche es auch
- Überlege dir, auf welche Plugins du verzichten kannst und lösche diese
- Suche für Plugins mit einfachen Funktionen Lösungen zur Umsetzung derselben Funktion ohne Plugin
Durch Beherzigen dieser Punkte, senkst du nicht nur das Risiko für die Sicherheit deiner WordPress-Installation, du erhöhst damit gleichzeitig auch die Geschwindigkeit von WordPress.
Aktualisierungen von WordPress, Plugins und Themes
Hierbei handelt es sich um eine sehr einfache, aber wirkungsvoll Schutzmaßnahme. Leider wird diese aufgrund von Unwissen und Bequemlichkeit häufig vernachlässigt. Updates sollten regelmäßig durchgeführt werden. Mit Updates werden u. a. vorhandene, bekannt gewordene Sicherheitslücken und Schwachstellen geschlossen. Die Angreifer schlafen nicht. Sobald eine Sicherheitslücke oder Schwachstelle bekannt wird, scannen ihre Bots Websites mit WordPress auf Vorhandensein der entsprechenden WordPress-Version, der Plugin- oder Theme-Version. Es ist daher von immenser Wichtigkeit, bei Erscheinen von Updates diese zeitnah zu installieren. Das gilt für Updates von WordPress selbst, aber natürlich auch für Updates von Plugins und Themes. Besonders wenn man viele Plugins installiert hat, lohnt es sich, mindestens einmal täglich auf neu verfügbare Updates zu prüfen und vorhandene auch sofort zu installieren. Ein aktuell gehaltenes WordPress ist deutlich sicherer als eines, bei welchem die Updates vernachlässigt werden bzw. diese verspätet installiert werden. Du kannst als dein WordPress schützen, indem du deine Plugins und Themes auf dem aktuellsten Stand hälst.
Die wichtigsten Dateien schützen
Schütze wichtige Dateien und Verzeichnisse vor Zugriff von außen. Das betrifft vor allem Dateien wie wp-config.php oder .htaccess. Du solltest prüfen, ob für diese und andere wichtige Dateien und Verzeichnisse nicht zu weitreichende Rechte eingestellt sind. Kennst du dich diesbezüglich nicht so gut aus, kannst du ein Plugin wie z.B. BulletProof Security einsetzen, um festzustellen welche Rechte für Dateien und Verzeichnisse vergeben sind, um diese dann entsprechend anzupassen. Alternativ überprüfst du selbst per FTP Programm die Rechtevergabe.
WordPress Anmelde-Seite schützen – Verzeichnisschutz für wp_admin
Die Anmelde-Seite zu WordPress-Bereich zu schützen, indem man für das Verzeichnis wp-admin einen Verzeichnisschutz einrichtet, ist eine weitere sinnvolle und wirksame Methode ist auf.
Regelmäßige Backups der WordPress-Dateien und Datenbank
Erstelle regelmäßig Backups, sowohl von allen Daten, als auch von der Datenbank. So kannst du im Notfall deine WordPress-Website bzw. dein Blog wiederherstellen. Die WordPress-Datenbank solltest du täglich, die Daten wenigstens alle 5 Tage sichern. Plugins wie das bereits oben erwähnte WPBruiser erledigen das entsprechend deinen Einstellungen auch vollautomatisch.
Tabellenpräfix ändern
Ändere das Standard-Tabellenpräfix wp_ in der Datenbank in ein von dir gewähltes individuelles. Das kannst du bei der Erstinstallation tun, aber du kannst dein Tabellenpräfix auch noch nachträglich ändern.
Tabellenpräfix nachträglich ändern
Schritt 1: Dazu loggst du dich zuerst in phpMyAdmin ein. Du markierst alle zu WordPress gehörenden Tabellen mit dem Präfix wp_ und öffnest das Dropdown Menü hinter „markierte“ und wählst „Tabellenpräfix ersetzen“. Im sich öffnenden Eingabefeld mit dem Titel „Tabellenpräfix ändern“, gibst du bei „Von“ dein altes Präfix an und unter „Zu“ das gewünschte Präfix. Dann klickst du auf „weiter“.
Schritt 2: Jetzt musst du den Tabellen options und usermeta den neuen Präfix bekannt machen. Das tust du, indem du den folgenden SQL Code in phpMyAdmin ausführst:
UPDATE wpneu_options SET option_name = REPLACE(option_name, 'wp_', 'preneu_');
UPDATE wpneu_usermeta SET meta_key= REPLACE(meta_key, 'wp_', 'preneu_');
Anm.: Den als Beispiel angegebenen neuen Präfix preneu_ musst du mit dem von dir gewählten neuen Präfix ersetzen. Falls der alte Präfix anders als als wp_ lautet, musst du den aktuellen eintragen.
Schritt 3: Im letzten Schritt änderst du das in der wp-config.php eingetragenen Tabellenpräfix von alt zu neu. Lade dazu die Datei per FTP vom Server auf deinen Rechner, öffne sie und suche diese Zeile:
$table_prefix = 'wp_';
Ersetze wp_ (oder was immer dien alter Präfix war) durch dein neues Präfix. Speichere die Datei und lade sie auf den Server hoch. Fertig.
Untertitel deiner WordPress Website ändern
Der Standard Untertitel deiner Website lautet „Just Another WordPress Site“. Diesen solltest du ändern oder löschen, und zwar auch dann, wenn dein Theme ihn nicht anzeigt. Google indexiert ihn möglicherweise trotzdem. Auch wenn es viele weitere Möglichkeiten gibt, Websites mit dem CMS WordPress ausfindig zu machen, ist die Suche nach „Just Another WordPress Site“ nach wie vor eine beliebte Methode. Warum es also den Bots so einfach machen?
WordPress schützen – Fazit
Du hast nun eine Reihe von Maßnahmen kennengelernt, die dein WordPress schützen helfen. All diesen Maßnahmen garantieren die keine absolute Sicherheit, aber sie werden dein WordPress WordPress sicher machen. Besonders in der Summe, ergeben diese Maßnahmen ein weitgehend sicheres CMS. Von Angreifern ins Rennen geschickte Bots, die das Internet nach WordPress Seiten mit Schwachstellen durchforsten, stellen so eine weitaus geringere Gefahr dar. Einige Maßnahmen sind umstritten, was ihre Wirksamkeit angeht. Auch muss klar sein, dass eine Maßnahme für sich allein nicht ausreicht,. In der Summe bieten sie aber einen großen Schutz. Einige einzelne Maßnahmen helfen lediglich dabei Bots (manchmal auch nur einige Bots) zu verwirren und ihnen ihre Aufgabe zu erschweren. Aber auch das ist schon ein Gewinn. Jeder kann sein WordPress absichern und das Risiko Opfer von Angriffen zu werden minimieren.
Weitere Artikel der Reihe WordPress Sicherheit
WordPress Sicherheit (2) – Ziele der Angreifer & Ziele der Maßnahmen zum Schutz von WordPress
Im zweiten Teil unserer Artikel-Serie zum Thema WordPress-Sicherheit widmen wir uns den möglichen Zielen der Angreifer. Weshalb interessieren...
Weiterlesen »WordPress Sicherheit (1) – Permanente Angriffe auf dein WordPress – 100 % Schutz gibt es nicht
Dieser Artikel ist die Einleitung zu einer mehrteiligen Serie zum Bereich WordPress Sicherheit. Das Thema Sicherheit von WordPress...
Weiterlesen »
DAS habe ich gebraucht, vielen lieben Dank. Super einfach erklärt und offenbar mit vielen wichtigen Tipps.