WordPress Webseiten Blogs Sicherheit – Teil I
WordPress Sicherheit – Webseiten und Blogs einfach und effizient absichern Teil I
Erster Teil meiner Serie WordPress Sicherheit: Webseiten und Blogs einfach aber effizient vor Angreifern absichern. WordPress Installationen erfreuen sich einer großen und stetig wachsenden Beliebtheit. Beliebt jedoch nicht nur auf Seiten der Betreiber, sondern eben auch bei potentiellen Angreifern. Ein Beispiel einer vergangenen Angriffswelle – hier wurden innerhalb von wenigen Tagen 14,1 Millionen Angriffe auf insgesamt 190.000 WordPress Seiten geführt (Quelle t3n.de). Dabei spielt es keine Rolle, ob Ihre Webseite ein wenig bekanntes Unternehmen oder Ihrer Meinung nach ein kleiner „unbedeutenden“ Blog ist. Die Angriffe erfolgen per Bots – es geht dabei meist nicht im die Bekanntheit Ihrer Webseite oder ob Sie ein lohnendes Ziel sind – Ihre WordPress Seite soll alleine zum Zweck des „Missbrauchs“ gehackt und übernommen werden.
Dabei fungiert, als ein Beispiel, Ihre übernommene WordPress Seite dann per eingeschleustem Script als Phishing- und Spam Mail Verteiler im großen Stil. Konsequenz ist – in Ihrem (guten) Namen werden dann illegale Angriffe und Aktionen nach Außen geführt und damit Sie erst einmal als Urheber identifiziert. Auch kann es passieren, dass Ihre Webseite bzw. Domain dann auf einer sogenannten Blacklist landet. Emails von Ihrer Domain aus werden dann weltweit als Spam deklariert, blockiert und kommen bei den Empfängern nicht mehr an. Ihre Domain und Webseite werden in den Browser bzw. Suchmaschinen als unsicher eingestuft – und werden nicht mehr angezeigt. Von einer oder mehreren Blacklist wieder herunter zu kommen, ist sehr schwer und langwierig.
Lassen Sie es daher erst gar nicht soweit kommen. In meinem ersten Teil zeige ich Ihnen, wie Sie ohne große Vorkenntnisse oder Anpassungen mit einfachen Schritten Ihre WordPress Installation absichern und schützen können. Dabei richte ich mich explizit an die „Nicht-Experten“ – meine Tipps sind durch einfache Arbeitsschritte ohne tiefere Kenntnisse einfach umsetzbar. Sie müssen nichts direkt an Ihrer WordPress Installation ändern bzw. irgendwelche Skripte programmieren und integrieren. Lassen Sie uns beginnen.
*Bitte denken Sie an ein aktuelles Backup Ihrer WordPress Installation – generell natürlich – um Ihrer Webseite bzw. Blog nach misslungenen Updates schnell und sicher wieder herstellen zu können.
1. WordPress Datenbank, Themen und Plugins aktuell halten
WordPress Sicherheit – Webseiten und Blogs absichern, erster Schritt: Es klingt einfach – aber ist dennoch ein enorm wichtiger Punkt. Schauen Sie regelmäßig in Ihren Administrator Bereich unter Dashboard-Aktualisierungen nach und sorgen regelmäßig dafür, dass Ihre WordPress Installation immer auf dem neusten Stand ist. Veraltete Versionen beinhalten meist auch ungefixte Sicherheitslücken, welche regelmäßig von Angreifern ausgenützt werden.
Checkliste:
- Ist meine WordPress Datenbank auf dem aktuellsten Stand?
- Ist mein verwendetes Theme auf dem aktuellen Stand?
- Sind meine Plugins auf dem aktuellen Stand?
- Sind die Übersetzungen auf dem neusten Stand?
2. Was nicht benötigt wird, wird deinstalliert!
WordPress Sicherheit – Webseiten und Blogs absichern, zweiter Schritt: Themes und Plugins, welche nicht benötigt werden, sollten grundsätzlich deinstalliert werden. Sie sollten in Ihrer WordPress Installation nur eine Design Vorlage haben – diejenige, welche gerade Ihr aktives Theme ist. Bei Plugins gilt – schauen Sie sich die Liste Ihrer Plugins an und überlegen Sie, welches Sie davon wirklich brauchen. Deaktivierte Plugins sollten grundsätzlich deinstalliert werden. Jede Designvorlage und jedes Plugin kann eine Sicherheitslücke sein – nicht benötigte Themes und Plugins sind daher auch völlig unnötige potentielle Sicherheitslücken.
Löschen Sie nicht verwendete Designvorlagen, indem Sie in den Menüpunkt Design-Themes wechseln. Klicken Sie ein nicht benötigtes Theme an – rechts unten sehen Sie dann den Löschen Button. Verfahren Sie so mit allen nicht (!) verwendeten Theme Vorlagen.
Wechseln Sie nun in das Menü Plugins-Installierte Plugins. Gehen Sie die Liste durch und überlegen, ob Sie tatsächlich alle aufgelisteten Plugins benötigen. Eventuell das eine oder andere Plugin doppelt haben. Deaktivieren Sie nicht benötigte Plugins. Danach löschen Sie diese deaktivierten oder bereits vor längerer Zeit deaktivierten Plugins aus Ihrer WordPress Installation.
Checkliste:
- Sind alle Themes deinstalliert, außer der aktuell aktiven Designvorlage?
- Sind Plugins vorhanden, welche ich nicht unbedingt benötige? Deaktivieren!
- Sind (wiederum) deaktivierte Plugins vorhanden? Deinstallieren!
3. Administrator und Autor anlegen, alten Administrator „Admin“ löschen
Kommen wir zu einem sehr wichtigen Punkt. Bei vielen automatisierten WordPress Installationen wird automatisch ein Administrator mit dem Namen „Admin“ erstellt. Da dies den Angreifern bekannt ist, bietet dies eine ideale Angriffsfläche. Angreifer kennen die URL der Administrator Login Seite (dazu später mehr) und den Benutzernamen Admin. Jetzt muss nur noch per Bot das Passwort gehackt werden. Auch wenn der Administrator nicht den Standardnamen „Admin“ hat – sollten Sie noch einen Benutzer mit der Rolle Autor haben – dieser verfasst und speichert dann Ihre Beiträge! Wenn der Administrator öffentliche Beiträge schreibt – ist sein Name unter Umständen wiederum sichtbar! Meine Empfehlung – neuer Administrator und ein neuer Benutzer als Autor.
Absoluter Worstcase – es existiert ein Administrator mit dem Benutzernamen Admin!
Erstellen eines Benutzers als Autor. Wir erstellen als erstes einen neuen Benutzer, welchen Sie in Zukunft für das Erstellen von Beiträgen verwenden. Er erscheint auch namentlich als Verfasser von Beiträgen – nicht der Administrator Benutzer – sonst könnte man über den Namen wieder Rückschlüsse auf den Benutzernamen bekommen! Wechseln Sie in das Menü Benutzer-Alle Benutzer und klicken in der Übersicht oben auf den Neu hinzufügen Button.
Füllen Sie nun alle Felder aus. Bitte beachten Sie beim Passwort – wählen Sie ein starkes KFüllen Sie nun alle Felder aus. Bitte beachten Sie beim Passwort – wählen Sie ein starkes Kennwort, bestehend aus Klein- und Großbuchstaben, Zeichen und Sonderzeichen. Bei der Benutzerolle wählen Sie bitte Autor aus. Dieser Benutzer kann später nur Beiträge verfassen und editieren – hat aber keine Administratoren Rechte. Am Ende bestätigen Sie das Ganze mit dem Button Neuen Benutzer hinzufügen.
Erstellen eines Benutzers als neuer Administrator. Nun erstellen wir einen neuen Administrator. Dazu gehen Sie abermals zu dem Menü Benutzer-Alle Benutzer und klicken auf den Button Neu hinzufügen in der oberen Leiste. Als Benutzernamen verwenden Sie am besten einen Fantasienamen – er sollte keinen Namen oder Bezeichnungen Ihrer Webseite bzw. Blog oder Domain enthalten. Lautet Ihr Blog Max Mustermann oder die Domain max-mustermann, so wären Benutzernamen wie MaxMustermann oder AdminMustermann eher schlecht. Setzen Sie auch hier ein starkes Passwort und wählen als Rolle am Schluss Administrator aus – danach legen Sie den neuen Benutzer durch den Button Neuen Benutzer hinzufügen an.
Nun besitzt Ihre WordPress Installation a) den alten Administrator, b) den neuen Administrator und c) den neuen Autoren Benutzer. Stellen Sie sicher, dass Sie die Benutzernamen und Kennwörter der neu erstellten Accounts notiert und gesichert haben.
Da der alte Administrator Account gerade aktiv angemeldet ist, kann er nicht gelöscht werden! Gehen Sie daher nun wie folgt vor.
- Melden Sie sich aus Ihrer WordPress Administrator Konsole ab.
- Melden Sie sich mit dem neu erstellten Administrator Konto an!
- Wechseln Sie in das Menü Benutzer-Alle Benutzer.
- Löschen Sie nun den alten Administrator.
Sie werden nun vom System gefragt, was mit den bereits geschriebenen Beiträgen passieren soll. Sollen diese gelöscht werden (sicherlich nicht) oder einem der anderen Benutzer zugewiesen werden? Sie wählen hier als Zuweisung den vorher erstellten Autoren Benutzer Account aus! Dadurch werden alle alten Beiträge nun diesem Autoren Account zugewiesen – mit dem Sie auch in Zukunft nun neue Beiträge erstellen und veröffentlichen werden. Bestätigen Sie Ihre Aktionen mit dem Button Löschen bestätigen.
In der Account Übersichtsliste sehen Sie nun nur noch die neu erstellten Benutzer Autor und Benutzer Administrator. Um neue Beiträge zu erstellen oder zu ändern loggen Sie sich in Zukunft mit dem Autoren Account ein, um administrative Aufgaben zu erledigen, mit dem Administratoren Account.
Checkliste:
- Neuen Account erstellen mit der Benutzerolle: Autor.
- Neuen Account erstellen mit der Benutzerrolle: Administrator.
- Alten Administrator Account löschen – alte Beiträge dem Benutzer Autor zuweisen.
- Beiträge in Zukunft verfassen – Login als Autor.
- Administrative Aufgaben – Login als Administrator.
4. Stop User Enumeration!
Der alte Administrator „Admin“ ist gelöscht, die Beiträge sind nur noch über den Autoren Benutzer identifizierbar und dem neuen Administrator haben wir einen Fantasienamen vergeben, auf den man kaum kommen kann – also alles super? Eigentlich schon – wäre da nicht die User Enumeration. Es ist kein sonderlich großes Problem – Benutzernamen von Autoren, Administratoren etc. über die WordPress URL heraus zu bekommen.
Wir wollen das testen – rufen Sie bitte die Webseite https://wprecon.com in Ihrem Browser auf und geben dort Ihre URL Ihrer WordPress Webseite ein und klicken dann den blauen Start Scan Button. Es dauert kurz, bis das Ergebnis vorliegt. Scrollen Sie bis zur Kategorie User Enumeration herunter – hier finden Sie unter Umständen eine Auflistung der entsprechenden Benutzernamen. Diese Schwachstelle gilt es noch zu beheben – mittels einfachem Plugin.
Wechseln Sie in das Menü Plugins-Installieren und geben Sie rechts oben in der Suche den Begriff Stop User Enumeration ein und warten Sie, bis WordPress Ihnen die entsprechenden Suchtreffer auflistet. Wählen Sie das entsprechende Plugin aus und klicken auf Jetzt installieren. Ist das Plugin installiert – aktivieren Sie das Plugin (ebenso über den entsprechenden Button).
Die nachfolgende Werbe Einblendung können Sie mit Skip überspringen. Im letzten Fenster des Plugins, bestätigen Sie die Einstellungen einfach mit Save.
Das war es zu diesem Sicherheitsaspekt „User Enumeration“ – das Plugin macht fortan im Stillen seine Arbeit.
Checkliste:
- Installation des Plugin Stop User Enumeration.
- Plugin aktivieren.
- Sicherheitseinstellungen speichern.
5. Standard Login URL der WordPress Installation verbergen
WordPress Sicherheit – Webseiten und Blogs absichern, fünfter Schritt: eine weitere Schwachstelle bei WordPress Installationen ist die Standard Login URL – welche immer lautet: dernamederwebseite.de/wp-login.php
Die Angreifer wissen, welche URL der Bot aufrufen muss um auf die Login Seite zu kommen (/wp-login.php). Angreifer können darauf hoffen, dass ein Administrator mit dem Benutzernamen „Admin“ existiert bzw. lesen die Benutzerliste aus – und haben so nur noch das (oftmals leichte) Passwort als letzte Hürde vor sich. Den Standard „Admin“ haben Sie gelöscht und durch einen neuen Administrator ersetzt, die Benutzerliste ist deaktiviert – bleibt nur noch die Standard URL als Angriffsziel übrig. Diese kann man jedoch mit einem weiteren Plugin ändern.
Gehen Sie erneut in das Menü Plugins-Installieren und geben in der Stichwortsuche oben Gehen Sie erneut in das Menü Plugins-Installieren und geben in der Stichwortsuche oben rechts den Begriff WPS Hide Login ein. Warten Sie, bis WordPress Ihnen die entsprechend verfügbaren Plugins anzeigt. Installieren und aktivieren Sie das entsprechende WPS Hide Login Plugin.
Nachdem Sie das Plugin aktiviert haben, müssen Sie es nun noch konfigurieren. Gehen Sie zu dem Menüpunkt Einstellungen-WPS Hide Login und scrollen ganz nach unten. Hier geben Sie Ihre neue Login URL an – bitte verwenden Sie keine Namen wie login oder adminlogin – da dies wiederum zu offensichtlich für Angreifer wäre. In unserem Beispiel haben wir die Login URL einfach einetollesache genannt. Bestätigen Sie die Eingabe mit Änderungen speichern.
Wichtig! Notieren und sichern Sie sich unbedingt die neue Login URL! Dies ist ab sofort die neue URL um auf Ihre Administrator Konsole zu gelangen.
Lautete vorher die Login URL:
dernamederwebseite.de/wp-login.php
Ist nun die neue URL (in unserem Beispiel):
dernamederwebseite.de/?einetollesache
Checkliste:
- Plugin WPS Hide Login installieren.
- Plugin aktivieren.
- Neue Login URL benennen, notieren und speichern.
- In Zukunft über neue URL einloggen.
6. Anzahl der Login Versuche begrenzen
WordPress Sicherheit – Webseiten und Blogs absichern, der nun letzte Schritt: Die Standard Login URL wurde nun verschleiert, der Standard Administrator gelöscht und ersetzt und der Zugriff auf die User Enumeration deaktiviert. Wenn aber nun doch ein Bot Angriff auf die Administrator Konsole erfolgt – kann dies noch mit einem weiteren Plugin für die Angreifer erschwert werden.
Erneut wechseln wir in den Menüpunkt Plugins-Installieren und geben in der Stichwortsuche den Begriff WPS Limit Login ein – warten Sie erneut, bis WordPress Ihnen alle verfügbaren Plugins anzeigt. Installieren und aktivieren Sie das Plugin.
Nachdem Sie das Plugin aktiviert haben, geht es an die Konfiguration. Sie finden die Einstellungen dazu unter dem Menüpunkt Einstellungen-WPS Limit Login. Nachdem Sie das Menü geöffnet haben, können Sie das Plugin nach Ihrem Belieben konfigurieren.
Im Karteireiter Configuration können Sie die Anzahl der Login Versuche beschränken – ebenso wie die zeitliche Sperre, bei erfolglosen (Bot) Logins – oder ob sich nach x fehlgeschlagenen Login eine Email Benachrichtigung haben möchten. Im Reiter Whitelist und Blacklist können Sie IP Adressen von der Blockade ausschließen oder sogar generell blockieren. Im Menü Whitelist könnten Sie Ihre eigene IP Adresse hinterlegen – damit Sie selbst bei erfolglosen Login nicht eine zeitliche Sperrung bekommen.
Checkliste:
- Plugin WP Limit Login installieren.
- Plugin aktivieren.
- Plugin WP Limit Login konfigurieren.
Das war es mit meinem ersten Teil.
Ich hoffe, Ihnen haben meine ersten Tipps gefallen. Im zweiten Teil – welcher die kommenden Tage hier erscheinen wird – werde ich Ihnen zeigen, wie man eine Firewall und einen Scanner installiert und diese entsprechend konfiguriert. Gerne freuen ich mich über ein Feedback und konstruktive Kritik – zögern Sie nicht mich zu kontaktieren.
Nachtrag vom 03. Mai 2020:
Dieses Tutorial ist nun auch als Video verfügbar.