WordPress Hacker ausgesperrt

Schluss mit Angriffen

Sicherheit geht vor!

In letzter Zeit beobachte ich verstärkt Angriffe auf WordPress Installationen. Hacker versuchen über die Anmeldemaske Zugang zum Content System zu erhalten, um so Inhalte zu manipulieren oder Schadcode zu implementieren. Dabei sind es oftmals nicht unbedingt individuelle Attacken, sondern großflächig ausgelegte Angriffe von sogenannten Bot-Netzen.

Standardmäßig bietet WordPress nur wenig Möglichkeiten, sich gegen solche Angriffsversuche abzusichern. Und auch ein integriertes Reporting über Login-Versuche ist Fehlanzeige. Daher möchte ich euch heute mehrere Lösungsansätze vorstellen, mit denen ihr euren WordPress Blog besser absichern könnt.

Sichere Passwörter verwenden

Eine beliebte Schwachstelle, nicht nur in WordPress, sind unzureichend starke Passwörter. Manch einer verwendet sogar „passwort“ oder „password“ zur Anmeldung. Davon solltet ihr unbedingt Abstand nehmen und euch ein hinreichend komplexes Passwort ausdenken. Dabei macht eine Kombination aus Groß-/Kleinbuchstaben, Zahlen bzw. Sonderzeichen Sinn. Denn solch starken Passwörter lassen sich im Rahmen von Wörterbuchangriffen, in denen Hacker versuchen vordefinierte Wortkombinationen automatisiert einzugeben, nicht erraten.

Wenn ihr Sorge habt, sich solch schwierige Passwörter zu merken, dann helfen kleine Zusatzprogramme. Die Freeware KeePass ist eine solche Lösung, die einen verschlüsselten Passwortspeicher darstellt. Über Browser-Plugins für den Internet Explorer oder Firefox lässt sich das Speichern von Passwörtern und Ausfüllen von Anmeldemasken automatisieren. Das funktioniert somit auch für die WordPress Anmeldung. Übrigens kann der Passwortspeicher auch auf anderen Geräten, wie z.B. Apple iPad oder iPhone, google Android, Windows Phone oder BlackBerry genutzt werden. Dafür stehen jeweils eigene Apps bereit.

Standard Login ändern

Ein weiterer wichtiger Punkt ist die Änderung des Standard Logins „admin“. Normalerweise ist dies der administrative Account, der bei jeder WordPress Installation angelegt wird. Damit haben Hacker einen ersten Ansatzpunkt. Denn jetzt müssen sie „nur“ noch das Passwort angreifen, da das Login bekannt ist. Die Statistik aktueller Angriffsversuche zeigt, dass es Hacker immer auf das „admin“ Login abgesehen haben. Es ist also ratsam, dies zu ändern. Das ist jedoch nicht ohne weiteres möglich.

  • Suche nach wp_users

    Bild 1

  • Admin Login bearbeiten

    Bild 2

Es ist notwendig, einen Eintrag in der SQL-Datenbank der WordPress Installation zu modifizieren. Dazu öffnet ihr eure Datenbank zum Beispiel mit phpMyAdmin. Jetzt sucht ihr einen Eintrag namens „wp_user“ und öffnet ihn, Bild 1 (Anmerkung: je nach Hoster kann dem Eintrag noch die Benennung „wordpress“ vorangestellt sein). Jetzt sollte der admin-Nutzer sichtbar sein und ihr könnt mit der Bearbeitungsfunktion das Feld „user-login“ ändern, Bild 2. Ab sofort müsst ihr euch mit diesem Login und dem dazugehörigen Passwort anmelden.

Anmeldeversuche begrenzen und überwachen

Nachdem ihr die Passwortstärke verbessert und das Standard Login modifiziert habt, ist es jetzt an der Zeit für weitere Sicherheitsmaßnahmen. Ein wesentlicher Aspekt einer jeden Sicherheitsstrategie sollte das Erfassen von Angriffsversuchen sein, um im nächsten Schritt entsprechende Gegenmaßnahmen zu ergreifen. Diese fehlende WordPress-Funktionalität lässt sich über das Plugin Limit Login Attempts nachrüsten.

  • Blockieren von Angreifern

    Bild 3

  • Liste der Angreifer

    Bild 4

Es protokolliert und blockiert unerlaubte Anmeldeversuche. Der Administrator kann sich außerdem über unerlaubte Anmeldeversuche per E-Mail benachrichtigen lassen – eine sehr praktische Funktionalität. Die Konfiguration ist denkbar einfach: Nach einer vorgegebenen Anzahl von Anmeldeversuchen erfolgt eine temporäre Sperrung der IP-Adresse des Angreifers. Folgende Einstellungen haben sich bewährt, Bild 3. Erlaubt sind 3 Anmeldeversuche. Schlagen diese fehl, erfolgt eine Sperrung für 20 Minuten. Erfolgen 3 Sperrungen in Folge, wird die Sperrzeit auf 72 Stunden erhöht. Der Zähler für Fehlversuche wird nach 6 Stunden zurückgesetzt. Die IP-Adressen der Angreifer lassen sich zudem erfassen, Bild 4.

IP-Adressen von Hackern blockieren

Nachdem wir anhand der Protokollierung nun wissen, wer unseren WordPress Blog angreift, können wir noch einen Schritt weiter gehen. Statt den Hacker nur für mehrere Stunden zu sperren, kann dieser komplett blockiert werden. Das macht insbesondere Sinn, wenn ihr feststellt, dass Angriffe immer wieder von den selben IP-Adressen kommen. Das ist übrigens keine Seltenheit.

Das WordPress Plugin WP Ban bietet genau diese Funktionalität. Es erlaubt die Eingabe von IP-Adressen, Adressbereichen, Hostnamen, Referrern (verweisenden Webseiten) oder User Agents, Bild 5. Die mit Limit Login Attempts ermittelten IP-Adressen der Angreifer lassen sich hier bequem eingeben und werden ab sofort komplett gesperrt. Achtet darauf, nicht die eigene IP-Adresse einzugeben, da ihr euch sonst selbst aussperrt. Eure IP-Adresse zeigt das Plugin im oberen Bereich an. Einzelne IP-Adressen können auch von der Sperrung ausgeschlossen werden. Das macht zum Beispiel Sinn, wenn ihr einen Adressbereich komplett blockieren möchtet, eine bestimmte IP-Adresse davon aber ausgenommen ist.

  • Einstellungen für Blockierung

    Bild 5

  • erweiterte Einstellungen in WP Ban

    Bild 6

Weiterhin erlaubt das Plugin, eine Meldung anzuzeigen, die der gebannte Besucher sieht, Bild 6. Diese Meldung könnt ihr individuell anpassen. Zusätzlich führt WP Ban eine Statistik über Anmeldeversuche gebannter IP-Adressen. So könnt ihr leicht sehen, wie oft von der jeweiligen Adresse mögliche Hackangriffe stattgefunden haben.

Fazit

Sicher ist sicher!

Die Sicherheit der eigenen WordPress Webseite sollte jeder Betreiber selbst im Blick haben. Neben funktionierenden Backup-Mechanismen spielt die Absicherung gegen Hacker eine zunehmend wichtige Rolle. Dabei ist eine pro-aktive Vorgehensweise sinnvoll, welche die Transparenz erhöht und die Sicherheit verbessert. Denn nur wenn ihr wisst, ob ihr überhaupt angegriffen werdet, lassen sich geeignete Gegenmaßnahmen treffen. Viel Erfolg bei der Absicherung eures Blogs!

  • Abonniere den fotobeam Newsletter und erhalte neue Artikel sofort in deine Mailbox!

Wie hat dir der Artikel gefallen?
[Bewertungen: 0 Durchschnitt: 0]
Posted in:

10 Kommentare

  1. Tja ist ein alter Bericht von dir. Bin ja gespannt, ob ich eine Antwort erhalte 😉
    Aber leider wurde dort nicht beschrieben, wenn ein Hacker mit unglaublich vielen IP-Adressen alle 15 Minuten mehrmals Anmeldeversuche tätigt.

    Ich werde mit den IP-Adressen eintragen nicht mehr fertig. Auch die Ländercodes habe ich eingetragen, aber er gibt verdammt viele Länderchen. Er schickt sogar welche von der Karibik „Sankt Maarten“.
    Ich werde nicht mehr froh. Ich kann ja nicht die ganze Welt aussperren?!

    Gibt es vielleicht noch Ideen oder wie nennt man das, was der da so verrichtet? Und was hat er für auswirkungen. Ich bin nur ne kleine Buddhistische Seite und er ackert auf mir rum!! So ein Idiot.

  2. Hallöchen.

    Ich empfehle euch das Plugin „Wordfence“ – und ausserdem das Plugin „Hide My WP“ von Codecanyon. Das kostet zwar 20$, aber man ist ab sofort komplett den Anmeldespam los, und auch 90% des Kommentarspams. (Bei Codecanyon gibts noch ein anderes, ähnlich wie „Hide My WP“, von einem deutschen Autoren, für 12$, das soll noch besser sein – das habe ich aber nicht persönlich getestet.)

    Warum? Weil das WP nicht mehr als WP zu erkennen ist – im Quellcode. Und wo Spiders und Bots kein WP finden (erkennen können), wird auch nicht angegriffen.

    Aaah, – is that simple…. 😀

  3. Hallo Andreas,

    ich habe zum Glück einen Provider, der das Thema Backup ernst nimmt und auch einen direkten Zugriff via phpadmin anbietet.

    Ich habe also meine Seite wieder online.

    Ich habe folgendes probiert:
    1) neuen Account mit „Administrator“ angelegt
    diesen getestet
    Account „admin“ quasi deaktiviert (ohne Funktion auf dieser Side)
    Ergebnis: Seite nicht mehr erreichbar
    2) nach der Rücksicherung:
    Account „admin“ via phpadmin id=99 gegeben
    Ergebnis: Seite nicht mehr erreichbar
    Account „admin“ auf id=1
    Ergebnis: Seite ist erreichbar

    Deine Anleitung habe ich noch nicht durchgearbeitet. Aber einen Fehler sehe ich nicht. oder?

    Gruß,
    Werner

    • Hallo Werner,

      1. Hattest du dich zwischendurch ausgeloggt? Wenn du meine Schritte unten befolgst, sollte das Löschen problemlos funktionieren. Sonst erkenn ich erstmal keinen Fehler. Was heißt nicht erreichbar? War sogar die Anmeldemaske nicht mehr verfügbar? Übrigens fragt dich WordPress falls du Artikel mit dem alten Admin veröffentlicht hast beim Löschen des alten Admins, ob dessen Artikel an einen anderen Nutzer übertragen werden sollen. Da wählst du dann den neuen Administrator aus.
      2. Interessant, dass du hier Änderungen vornehmen musstest. Wenn du ein komplettes Backup inklusive der Datenbank zurückgesichert hast, sollte das eigentlich nicht notwendig sein, da auch die Tabelle mit den Nutzern überschrieben wird.

      Wenn dir das alles zu riskant ist oder nicht funktioniert, empfehle ich dir den ursprünglich im Artikel beschriebenen Weg der Umbenennung des Admins.

      Hoffe, das hilft.

      Grüße,
      Andreas

  4. die Frage hat sich beantwortet.
    Nun ist die Seite nicht mehr erreichbar.

    Ganz tolles Kino.
    Ob es wohl noch professioneller geht?

    Bei Linux weiß ich um root und die ID 0, aber warum gibt es das auch bei WordPress?

    • Hallo Werner,

      dann musst du was nicht korrekt gemacht haben. Die Vorgehensweise ist erprobt, siehe auch hier im Bereich „Löschung des Admin Accounts“ des Artikels von Sergej Müller.

      Im Zweifel solltest du vorher bei solchen Dingen ein Backup gemacht haben, was wieder eingespielt werden kann.

      Die IDs brauchst du, um Nutzer zu unterscheiden und eindeutig zuzuweisen.

      Grüße,
      Andreas

  5. Hallo,
    danke für die Beschreibung.

    Warum kann ich nicht einfach einen Administrator anlegen (mit anderem Namen) und den admin löschen?

    Was hat es mit der ID des admin-Accounts auf sich?

    VG,
    aus Bayern
    Werner

    • Hallo Werner,

      du kannst auch erst einen neuen Administrator anlegen und anschließend den alten Admin löschen oder ihm niedrigere Rechte zuweisen. Dazu empfiehlt sich diese Vorgehensweise:

      • zusätzlichen Administrator hinzufügen
      • ausloggen
      • mit neuen Administrator einloggen
      • alten Admin löschen

      Die ID ist die eindeutige Kennung für einen WordPress Nutzer. Hierzu ist auch dieser Artikel interessant.

      Beste Grüße,
      Andreas

  6. Ja, die ganzen Plugins helfen nicht wirklich, wenn böse Buben ihr Unwesen treiben 🙁

    Kunden, Ich selber und viele WordPress-Blog Betreiber sind dank 1und1 und den Attacken schon seit Tagen vom eigenem Blog ausgesperrt. Der Provider 1und1 hat einfach ein Sicherheitsprogramm eingeschaltet und wer versucht in den Adminbereich sich einzuloggen wird sofort blockiert duch die IP-Adresse!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.