Jul 052013
 

Der Vorteil, eines der meistgenutzten CMS zu nutzen liegt klar auf der Hand: zahlreiche Plugins, unzählige Themes und eine breit gefächerte Informationsvielfalt. Der einfache Aufbau und die geringen Systemvoraussetzungen sind wohl eher ein Grund für die starke Nutzung. Damit ist ebenso die Community sehr groß.

Der Nachteil ist dabei aber ebenso erkenntlich. Trotz geringer Angriffsfläche ist es aufgrund der zahlreichen Installationen ein lohnenswertes Ziel für Hacker und andere Konsorten. Bei Sicherheitslücken hilft sowieso nur schnell aktualisieren – sofern das Update bereits verfügbar ist. Hierbei ist mir eigentlich keine Sicherheitslücke bekannt, die vor einem Update öffentlich bekannt wurde.

 

Damit bleibt (sofern der Server keine Lücken bzw. andere Angriffsflächen aufweist) größtenteils nur die Brute-Force-Methode für das WordPress Konto übrig. Also das durchprobieren von verschiedenen möglichen Kennwörtern, bis das richtige gefunden wurde. Damit wird jeder Betreiber von WordPress früher oder später mal betroffen sein. Manchmal kommenden entsprechende automatisierte Skripte (= Bots) alle paar Monate und dann wieder mehrmals pro Tag vorbei.

Als Schutz gegen solche Attacken möchte ich nachfolgend zwei Plugins vorstellen. Beide laufen unabhängig zueinander und können natürlich auch kombiniert werden.

 

Limit Login Attempts

Das Plugin wird von Johan Eenfeldt entwickelt und ist aktuell in der Version 1.7.1 verfügbar. Mithilfe des Plugins wird die Anzahl der möglichen Anmeldeversuche begrenzt und schlussendlich ab einer bestimmten Anzahl von Versuchen für eine gewisse Zeit komplett blockiert. Diese Kriterien lassen sich umfangreich einstellen. Ebenso ist eine Emailbenachrichtigung möglich. Zusätzlich kann man die jeweiligen blockierten IP-Adressen anzeigen lassen.

limit_login_attempts

Nach der Installation und Aktivierung über das Dashboard sollte man sich die Einstelllungen näher anschauen. Ich empfehle mindestens 2 und maximal 3 Anmeldeversuche. Wenn man sich selber verschreibt, dann sollte man beim wiederholten Mal besser aufpassen um sich nicht selbst auszusperren. Dies sollte für gewöhnlich kein Problem sein.

Ebenso würde ich bereits ab 2 Sperrungen (bei 2 Anmeldeversuche pro Sperrung gibt es 4 mögliche Versuche das Kennwort zu erraten) die Sperrzeit bedeutend erhöhen lassen. In dieser Zeit wird kein Anmeldeversuch – selbst mit den korrekten Daten erlaubt.

limit_login_attempts_sperrung

Ansonsten hängt es etwas vom eigenen Geschmack ab und wie häufig ein Versuch unternommen wird. Die normale Sperrung kann durchaus 30 Minuten sein oder auch 60 Minuten. Die letzte Option bei Sperrung betrifft die Zeitdauer wie lange fehlgeschlagene Annmeldeversuche zwischengespeichert werden. Also wie lange WordPress bzw. das Plugin selbst nur einen fehlgeschlagenen Versuch zwischenspeichert.

 

Download: Zum Limit Login Attempts Plugin

 

Google Authenticator

Das Plugin wird von Henrik Schack entwickelt und ist aktuell in der Version 0.44 verfügbar. Mithilfe des Plugins wird  WordPress um eine Zwei-Faktor Authentifizierung erweitert. Hierzu benötigt man zusätzlich zum Benutzernamen und dem Passwort ein zeitlich begrenzte Zeichenfolge, die z.B. mithilfe des Smartphones erstellt wird.

wordpress_login

Das Verfahren zur Erstellung dieser Zeichenfolge ist nach aktuellem industriellen Standard. Daher gibt es die notwendigen Programme für alle bekannten Plattformen:

Produkt Plattform
Microsoft Authenticator
windowsphone_authenticator
Windows Phone

(kostenlos)
Google Authenticator
android_authenticator
Android
iOS (iPhone, iPad)

(kostenlos)

 

Sobald man das Plugin über das Dashboard installiert und aktiviert hat sollte man zum Benutzerbereich wechseln. Eine eigene Einstellungsseite gibt es nicht. Es wird nur der eigene Profilbereich erweitert.

wordpress_deinprofil

Die eigentliche Aktivierung des Authenticator muss jeder Benutzer selbstständig durchführen. Zu finden ist dies unter Benutzer => Dein Profil.

google_authenticator

Die meisten Punkte sollten selbsterklärend sein. Unter Beschreibung vergibt man einen eindeutigen Namen, mit dem der Account am Smartphone wieder erkannt werden kann.

Darunter lässt sich ein Geheimschlüssel generieren. Dieser sollte streng vertraulich behandelt werden. Jedes Gerät kann mit diesem Geheimschlüssel die notwendige Zeichenfolge generieren lassen. Theoretisch könnte man auch zwei Geräte (Smartphone & Tablet) nutzen.

Mit Klick auf „QR-Code anzeigen/verstecken“ kann man am Smartphone das Bild innerhalb der jeweiligen App erkennen lassen. Damit erspart man sich das Eintippen und der jeweilige Account wird sofort in der App hinterlegt.

Jetzt sollte am Smartphone ein Zeichencode zu dem jeweiligen Account angezeigt werden. Darüber oder darunter sollte ein Balken ersichtlich sein. Dieser gibt an wie lange der Zeichencode noch gültig ist.

google_authenticator_apppassword

Abschließend gibt es noch die Option „Enable App password“, was für Programme notwendig ist, die weiterhin über die XML-RPC Schnittstelle auf das WordPress Konto zugreifen sollen. Dazu zählt unter anderem der Windows Live Writer oder die WordPress App auf den Smartphones.

Sobald man so ein Programm nutzen möchte, muss diese Option aktiviert werden. Danach einmal „Create new password“ betätigen und schon sieht man ein Kennwort, das man sich sofort (gesichert) notieren sollte. Man kann sich das Kennwort später nicht mehr anzeigen lassen, da dieses in der Datenbank von WordPress nur verschlüsselt gespeichert wird. Nur mit diesem erstellten Passwort ist die zusätzliche Zeichenfolge nicht erforderlich. Damit können die entsprechenden Anwendungen weiter verwendet werden.

 

Natürlich könnte trotz der hohen Zeichenanzahl das Kennwort wieder erraten werden. Deshalb sollte man in so einem Fall unbedingt das Plugin Limit Login Attempts installiert und aktiviert haben.

Alternativ kann man den Zugriff auf die XML-RPC Schnittstelle einschränken. Dies erfolgt nicht über WordPress, sondern über den Webserver, wie z.B. bei Apache mit der .htaccess Datei. Man könnte z.B. nur bestimmte Programme zulassen (also Filterung nach User Agent). Jedoch kann man diese User Agent fälschen und deshalb ist weiterhin das Plugin Limit Login Attempts empfehlenswert.

Eine Anleitung zum Absichern der XML-RPC Schnittstelle gibt es bei Sergej Müller im Artikel XML-RPC-Schnittstelle in WordPress via .htaccess absichern unter „2. Zugriffe auf XML-RPC einschränken“.

 

Download: Google Authenticator

weitere relevante Beiträge...

  2 Antworten zu “WordPress: Schutz gegen Hacking-Attacken”

Kommentare (2)
  1. How to set 5 post in home page and how to add page number at the last post in suffusion wordpress theme.Please help me.

 Antworten

Du kannst diese HTML Tags und Attribute benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(erforderlich)

(erforderlich)