Zum Inhalt springen

Einstellungen für Limit-Login-Attempts

Wordpress

Die Absicherung des Backends von WordPress ist ein immer wieder interessantes Thema, Möglichkeiten gibt es viele. Die Absicherung über das Plugin  Limit-Login-Attempts hatte ich bereits vor 2 Jahren hier erwähnt. In letzter Zeit erhielt ich per E-Mail mehrfach Anfragen, welche Einstellungen für Limit-Login-Attempts empfohlen werden bzw. welche ich selbst verwende. Meine verwendeten Einstellungen fasse ich hier in diesem Beitrag zusammen und stelle sie allen Interessenten nebst Begründung zur Verfügung.

Voraussetzung für den erfolgreichen Einsatz von Limit-Login-Attempts ist natürlich erstens ein „vernünftiges“ Passwort sowie einen geänderten Benutzernamen.“Admin“ ist bei allen Versuchen immer noch die absolute Nummer 1 für den Knackversuch. Somit sind 50% schon mal richtig, ein Hacker braucht jetzt nur noch das Passwort und schon ist es passiert. Wer sich beim Erstellen eines guten Passwortes schwer tut kann sich bei Gaijin eines generieren lassen.

Das Plugin selbst bringt in seinen Grundeinstellungen meines Erachtens „zu sanfte Sperren“ mit sich. Vier Login-Versuche und anschließend nur eine Sperre von 20 Minuten sowie nach weiteren 4 Login-Versuchen eine Sperre für 24 Stunden lassen zuviel experimentelle Zeit um ein Passwort zu knacken.

Empfohlene Einstellungen

Meine Einstellungen habe ich mal nummerisch von 1 bis 5 gekennzeichnet. Nachfolgend die Erklärung, warum ich die Einstellung so und nicht wie vorgegeben gewählt habe.

  1. Zwei Anmeldeversuche reichen völlig aus, somit ist es auch mal möglich sich selbst zu vertippen ohne gleich geblockt zu werden. Doch auch dies lässt sich mit einem Neustart des Routers beheben, mit einer neuen IP-Adresse ist der Zugang wieder möglich. Hier eine 1 zu setzen wäre die sicherste Variante wenn man das eigene Vertippen mal außen vor lässt.
  2. Hier ruhig bis an die Obergrenze der Sperrzeit gehen. 9999 Minuten entsprechen knapp 7 Tagen, die bei der ersten Sperrung verhängt werden. Die Eingabe ist maximal vierstellig möglich. Mit einem kleinen Eingriff ins Plugin selbst sind hier auch 5 Stellen möglich. Dazu weiter unten mehr.
  3. Kommt es zu einer 2. Sperrung (das wäre mit dieser Einstellung der 4. Fehlversuch) wird die verwendete IP-Adresse deutlich länger geblockt – hier satte 6 Monate.
  4. Fehlgeschlagene Logins werden – bevor es zu einer Sperrung kommt – werden nach 336 Stunden (14 Tage) wieder zurückgesetzt. Hacker werden es jedoch immer mehr als einmal binnen 14 Tagen versuchen. Auch deswegen sollte die Zahl der Anmeldeversuche (wie unter 1. beschrieben) möglichst gering gehalten werden.
  5. Hier bleibt es dem Nutzer selbst überlassen welche Option er wählt. Ich nutze die Protokollierung deswegen um wiederkehrende Hacker leichter identifizieren zu können. Die Benachrichtigung per E-Mail (in Einstellungen – Allgemein hinterlegte Adresse) bereits nach der ersten Sperrung halte ich für wichtig um über stattfindende Aktionen auf dem laufenden zu sein.

Um leichter mit Minuten, Stunden, Wochen und Monaten zu jonglieren bedient man sich der Einfachkeit halber dem Umrechnungstool für Zeiteinheiten.

IP-Adressen per .htaccess blockieren

Alex vom OffenenBlog hatte Ende letzter Woche darüber berichtet Hacker per .htaccess auszusperren. Generell auch eine Variante das Backend von WordPress „abzudichten“. Allerdings bläht sich dadurch die .htaccess mit jedem Eintrag weiter auf. Und Gründe für neue Einträge liefern sich wöchentlich doch etliche. Die .htaccess wo schlank wie möglich zu halten ist mir persönlich zunächst wichtiger. Daraus resultierten bei mir schließlich die deutlich höheren Sperrzeit via Limit-Login-Attempts von 6 Monaten.

Innerhalb der zwei Jahren in denen ich das Plugin nutze kam es nur einmal vor, dass es ein über 6 Monate gesperrter Hacker mit der gleichen IP-Adresse erneut hier aufschlug und gesperrt wurde. Diese IP landete bei mir dann in der .htaccess. Würde ich jede IP-Adresse dort eintragen die versucht einzubrechen wären dies in mancher Woche zwischen 20 und 30 Adressen. Auf zwei Jahre betrachtet würde die .htaccess inzwischen eine enorme Länge habe, bei der nicht zuletzt auch schnell mal die Übersicht verloren gehen kann.

Erhöhen auf 5-stellige Eingaben bei Sperrdauer

Limit-Login-Attempts arbeitet nur mit einer php-Datei, das vereinfacht den Eingriff ins Plugin. Öffne die limit-login-attempts.php  und editiere in Zeile 978 die Option „Maxlength“ von 4 auf 5. Und schon können durch die 5-stellige Angabe von Minuten längere Zeiträume abgedeckt werden.

[php]<input type="text" name="lockout_duration" value="<?php echo(limit_login_option(‚lockout_duration‘)/60); ?>" size="3" maxlength="4" /> <!–?php echo __(‚minutes lockout‘,’limit-login-attempts‘); ?–>[/php]

Zeile 978 nach der Bearbeitung:

[php]<input type="text" name="lockout_duration" value="<?php echo(limit_login_option(‚lockout_duration‘)/60); ?>" size="3" maxlength="5" /> <!–?php echo __(‚minutes lockout‘,’limit-login-attempts‘); ?–>[/php]

Das Editieren am Code ist natürlich auf eigene Gefahr, dafür übernehme ich keine Haftung. Ich würde auf den Einsatz von Limit-Login-Attempts nicht mehr verzichten wollen, meine Erfahrungen damit sind in jeder Hinsicht sehr gut.

12 Gedanken zu „Einstellungen für Limit-Login-Attempts“

  1. Zu den Anmeldeversuchen möchte ich anmerken, dass es, wenn ich mich recht erinnere, als solcher zählt, wenn man nach dem Ändern des Passworts an einem anderen Rechner/Browser mit altem Login-Cookie rein will – was ja eigentlich auch sinnvoll ist. Dann bist du schnell mit jedem weiteren Rechner/Browser ausgesperrt – und dann ggf. mehrfach zum Router laufen und den neu starten? Umständlich und unschön für eventuelle Familienmitglieder, Internetradio u.ä. …

    Ich denke, mit einem Namen ≠ Admin, Nick- und Realname ist das Risiko einer etwas höheren Anmeldeversuchsanzahl vernachlässigbar.

    1. @cimddwc: Lässt Du Login-Cookies bestehen wenn Du den Rechner runterfährst? Ich lösche lasse die immer löschen. Bisher musste ich einmal den Router neu starten, das war ganz zu Anfang als das Plugin zum Einsatz kam. Seitdem hatte ich nie mehr das Problem mich ausgesperrt zu haben. Es handhabt eben jeder anders.

      @Stefan: Meine Empfehlung beruht auf meinen Erfahrungen. Vor dem Hochsetzen der Werte konnte ich feststellen, dass einige Kandidaten sehr wohl auch statische IPs verwenden und sehr hartnäckig versuchten einzudringen. Seitdem ist Ruhe. Die Einstellungen muss eben jeder gemäß seiner Beobachtungen vornehmen.

      @Alex: Nichts zu danken. Hinweise auf diese Thematik kann es nie genug geben. Die Gefahr wird leider oft unterschätzt.

      @Marc: Unsinn ist die Default-Einstellung sicher nicht. Ähm, sind Hacker nicht generell doof? :ccol: Immer nur „admin“ als Namen zu verwenden deutet nicht zwangsläufig auf Intelligenz hin.

      @Jan: „Vorgegebene Passwörter“ lasse ich grundsätzlich nicht stehen. Ein Passwort im Stile von „tanteolga“ einzusetzen hat zwar den Vorteil, dass man sich nicht schwierige Kombinationen merken muss, ob es sinnvoll und gut ist muss jeder für sich entscheiden. Solche Kandidaten gibt es bestimmt genug. Skripte gibt es da mehrere, genauso wie kommerzielle Skripte um Kommentarspam abzusetzen. 100% Sicherheit kannst Du sowieso nie erreichen.

  2. Ich habe die Anmeldungen auf 3 stehen und die hohe Sperrzeit ist eigentlich nicht notwendig. Bei mir läuft auf einigen WordPress Installationen Limit Login Attempts und aus Erfahrung kann ich sagen, dass die meisten sowieso nach der ersten Sperrung die IP wechseln. Wirklich hartnäckige Konsorten, die gerne immer wieder kommen mit der gleichen IP, sperre ich über das Plugin WP-Ban. Damit wird die htaccess entlastet. Sind aber über die Monate der Nutzung meist nur 2 bis 3 Stück. Der Rest verschreibt sie dem IP wechseln.

    Übrigens finde ich es in diesem Zusammenhang unerlässlich, dass es den Benutzer „admin“ gar nicht gibt im Blog (in der Datenbank direkt überschreiben). Falls Du das umstellst solltest Du aber unbedingt die erlaubten Anmeldungen im Plugin hochsetzen, sonst sperrst Du Dich selbst aus ;-) Bei dieser Änderung gehen gut 2 Anmeldeversuche automatisch schief.

  3. Hi Thomas

    Danke dir für den Artikel, wie auch die Erwähnung von meinem Blogartikel zu diesem Thema.
    Habe das Plugin gestern bereits schon einmal angepasst und bleibe auch weiterhin am Ball wie ich was einstellen sollte.
    Beste Grüße an dich und die Kommentatoren hier drüber,

    Alex

  4. Die meisten Internetuser haben wohl noch dynamische IP-Adressen, sprich alle 24 Stunden eine neue (ein Hacker mit statischer IP wäre ja auch extrem doof…)
    Daher macht die Default-Einstellung meiner Meinung nach schon Sinn?!
    Die Anmeldeversuche habe ich bei mir auch auf zwei gesetzt!

  5. Bei den generierten Passwörtern von WordPress würde das ewig dauern, dies durch ausprobieren rauszufinden. Aber gibt bestimmt genug Webmaster, die es auf einfache Passwörter zurückändern. Und wenn ich mich recht entsinne, habe ich bereits vor einem halben Jahr ein Perl-Script gesehen, das mit einer Liste von Blogs gefüttert eine Attacke automatisch durchführt.

  6. Pingback: Script hilft Fritz-Box-Besitzern beim Ändern der IP-Adresse » Internet und Computer

  7. Pingback: GESICHTET.net

  8. Pingback: Limit Login Attempts: 26 IPs sind derzeit für Anmeldeversuche gesperrt - klein.multimediadesign | klein.multimediadesign

  9. So, habe nun dann auch die erlaubten Anmeldeversuche von 3 auf 2 gesetzt. Bringt dann allerdings wohl mit sich, dass ich in kommender Zeit NOCH mehr Mails bekomme! :D

  10. Hallo und danke für den Artikel. Ich nutzte auch das Plugin und bin an sich sehr zufrieden.

    Nun hatte ich es bei Freunden auch installiert und diese waren leider etwas ungeschickt und sind nun selbst ausgesperrt. Einen zweiten Admin gibt es auch nicht. Was kann man tuen? Per FTP geht da was? Danke für Tips.

    Viele Grüsse Riccarda

    1. @Riccarda: Sollte man sich wirklich mal aussperren, dann löscht man das Plugin per FTP. Eine „neue“ IP erhält man, in dem der Router neu gestartet wird. Dananch das Plugin wieder installieren und nicht vergessen die Sperrungen zurückzusetzen. Das war es auch schon.

Schreibe einen Kommentar

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

Du kannst Dich informieren lassen wenn es Folgekommentare gibt.