Seit Rund einer Woche wird bei einigen Bloggern wieder vermehrt versucht in das Frontend einzudringen. Auch bei mir sind es inzwischen über 4.000 Versuche, wobei die Hälfte letzte Woche probiert wurde.
Dank des Plugins Limit Login Attempts kann man das zwar protokollieren und nach X-Versuchen die IP sperren und ne eMail erhalten. Nur wird so schnell das Postfach voll und bei aktuell über 2.000 gesperrten IP-Adressen, scheint das die Hacker auch nicht wirklich aufzuhalten. Keine Ahnung wie viele IP-Adressen die aktuell zur Verfügung haben. 😉
Meine Lösung
Es gibt viele Wege die nach Rom führen. Meine Konsequenz ist nun, das ich den Zugang zur wp-login.php zusätzlich nur für eine bestimmte IP-Range zugelassen habe.
Da ich beim Provider ja keine feste IP zugewiesen habe, habe ich nun diese Lösung angewandt.
Es wird jeder Zugriff auf die Datei auf die Hauptdomain weitergeleitet, außer man ist mit einer IP-Adresse zwischen (Beispiel) 123.456.0.0 – 123.456.255.255 unterwegs. Nur dann bekommt man das Eingabefeld für das Frontend. Also einmal schauen mit welcher IP-Adresse man unterwegs ist und (falls fest) die IP nehmen oder ebenfalls nur die ersten beiden Zahlen eintragen.
Die .htaccess-Datei muss dazu wie folgt modifiziert werden:
deny from all
Allow from 123.456
ErrorDocument 403 http://sebastian-michalke.de/
Das Ganze reduziert nun 99,9% aller Hackerangriffe. Schafft es ein Hacker trotzdem rein, weil er auch im gleichen IP-Pool unterwegs ist, so greift trotzdem noch das Plugin von oben. Das wird aber vermutlich nie passieren, da bisher alle Angriffe aus dem Ausland kamen.
Die Methode ist unglaublich sicher nur glaube ich das meine IP-Pool Range schon wieder zu groß wäre. Mal angefangen mit 86.,84. oder 82.
Aber die würden ja auch schon etliche Hackerangriffe reduzieren. Werde ich mal in Angriff nehmen.
Das Plugin werde ich mir auch gleich mal installieren und schauen wie es bei mir aussieht. Werde mir aber wohl eine Lösung direkt ins PHP schreiben und eine Sicherheitsfrage oder so einbauen. Evtl. könnte ich mir auch eine Captcha vorstellen, glaube das sollte auch einige „Hacker“ (Script Kiddies) und vorallem Bots abhalten.
Aber erstmal 1 Woche das Plug-in testen. Bei bedarf stelle ich gerne meine Lösung auch näher vor, sollte ich eine entwerfen ;). Muss man aber nur wegen WordPress-Updates drauf achten, dass die direkten Quelltext Änderungen nicht verloren gehen – aber meine WordPress installation ist eh schon extrem angepasst worden.
@Nils: Du bist du auch Telekom. Dann mach es mal mit folgendem Eintrag:
Allow from .dip0.t-ipconnect.de
Das erlaubt alle User von der Telekom 😉
@Adrian: Ja, teste es mal. Ich musste leider nun nen Schritt weiter gehen. Ob am Ende der „Aufwand“ mit Captcha sich lohnt, musst du wissen. Aber bei meiner Lösung musst du nie mehr was ändern wenn nen Update ansteht.
Ja stimmt schon und ich meine eine .htaccess-Datei im Verzeichnis anzulegen ist ja jetzt auch nicht gerade der Aufwand – aber wenn jemand versucht sich an meiner WordPress-Installation zuvergehen, soll er auch eindeutig merken, dass ich ein Auge drauf habe. Da scheue ich dann auch nicht den mehr Aufwand.
Ein super Lösungsansatz, kann mir gut vorstellen dass du damit kaum mehr Probleme haben wirst. Für mich leider nicht sonderlich praktikabel, da ich mich regelmäßig von zwei verschiedenen Ländern und über drei verschiedene Internetanschlüsse einlogge 🙂 Aber mit etwas Aufwand wäre es sicher auch möglich die IP-Ranges zu ermitteln und damit auf Nummer sicher zu gehen.
Hi Andi, und wo ist da das Problem?
Klar ist die „Sicherheit“ dann nicht ganz so hoch wie in meinem Fall. Sie wird aber trotzdem 90% aller Fälle abdecken. Denn die meisten Angriffe kamen bei mir aus aller Welt und fast nie aus Deutschland bzw DACH.
Daher richte doch einfach 5 IP-Ranges ein und schau ob das schon reicht oder du es enger bauen musst.
Du kannst ja auch die Provider-Namen nehmen. Da musst du aber etwas recherchieren wie so bei dir heißen. Wie es bei mir mit der Telekom ist, steht ja hier.
Nicht vergessen, alle User, die trotzdem durchkommen werden dann am Plugin scheitern 🙂
Es ging mir mehr um den übermäßigen Aufwand, die Sicherheit profitiert trotzdem enorm – da hast du schon Recht. Aber ich habe ohnehin keine Sorge, dass jemand mein Passwort per Brute-Force ermittelt 🙂
Ja, das stimmt ist bei mir genauso. Hinzu kommt ja noch der Login-Name, der erst einmal bekannt sein muss. Aber so sperre ich die Leute gleich aus und belaste nicht noch den Server bzw die Datenbank.
An die Möglichkeit nur bestimmte IP-Adressbereiche freizugeben habe ich bisher noch gar nicht drüber nachgedacht. Das werde ich die Tage mal testen, bis dahin muss das Plugin noch durchhalten.
Danke für eure Infos, werde gleich mal ein Twitter-Post absetzen und eure Seite empfehlen.
Hi, danke für den Tipp, wirklich gut. Werde ich gleich umsetzen.