Beschreibung
Begrenzt die Anzahl der möglichen Anmeldeversuche sowohl über die normale Anmeldung als auch über Authentifizierungs-Cookies.
Standardmäßig erlaubt WordPress unbegrenzte Anmeldeversuche entweder über die Anmeldeseite oder durch das Senden spezieller Cookies. Dadurch können Passwörter (oder Hashes) relativ leicht mit Brute-Force-Angriffen geknackt werden.
Limit Login Attempts blockiert eine Internetadresse, sodass diese nach Erreichen einer festgelegten Anzahl von Wiederholungsversuchen keine weiteren Versuche mehr unternehmen kann, wodurch Brute-Force-Angriffe erschwert oder unmöglich gemacht werden.
Funktionen
- Begrenzt die Anzahl der Wiederholungsversuche beim Anmelden (für jede IP-Adresse). Vollständig anpassbar.
- Begrenzt die Anzahl der Anmeldeversuche mit Authentifizierungs-Cookies auf die gleiche Weise
- Informiert den Benutzer über verbleibende Wiederholungsversuche oder Sperrzeiten auf der Anmeldeseite.
- Optionale Protokollierung, optionale E-Mail-Benachrichtigung
- Verwaltet Server hinter Reverse-Proxys
- Es ist möglich, IP-Adressen mithilfe eines Filters auf die Freigabeliste zu setzen. Aber das solltest du wahrscheinlich nicht tun. 🙂
Übersetzungen: Bulgarisch, Brasilianisches Portugiesisch, Katalanisch, Chinesisch (traditionell), Niederländisch, Finnisch, Französisch, Deutsch, Ungarisch, Norwegisch, Persisch, Rumänisch, Russisch, Spanisch, Schwedisch, Türkisch
Das Plugin verwendet nur Standard-Aktionen und -Filter.
Screenshots



Installation
- Lade die Plugin-Dateien herunter und entpacke sie in das wp-content/plugin Verzeichnis.
- Aktiviere das Plugin über das WordPress-Admin-Interface.
- Passe die Einstellungen auf der Optionsseite nach Bedarf an. Wenn sich dein Server hinter einem Reverse-Proxy befindet, ändere diese Einstellung unbedingt.
Wenn du Fragen oder Probleme hast, schreibe bitte einen Beitrag hier: https://wordpress.org/tags/limit-login-attempts
FAQ
-
Warum werden fehlgeschlagene Anmeldeversuche nach einer erfolgreichen Anmeldung nicht zurückgesetzt?
-
Das ist ganz bewusst so vorgesehen. Andernfalls könnte man das „Admin”-Passwort mit Brute-Force-Angriffen knacken, indem man sich bei jedem vierten Versuch als eigener Benutzer anmeldet.
-
Was bedeutet diese Option bezüglich der Website-Verbindung und des Reverse-Proxys?
-
Ein Reverse-Proxy ist ein Server zwischen der Website und dem Internet (der möglicherweise das Caching oder Load-Balancing übernimmt). Das macht es etwas schwieriger, die richtige Client-IP-Adresse zu ermitteln, die blockiert werden soll.
Die Option ist standardmäßig so eingestellt, dass KEIN Proxy verwendet wird – was in den meisten Fällen zutreffen dürfte.
-
Woher weiß ich, dass sich meine Website hinter einem Reverse-Proxy befindet?
-
Wahrscheinlich nicht, sonst wüsstest du es. Auf der Optionsseite findest du eine ziemlich gute Schätzung. Verwende diese Option, es sei denn, du bist dir sicher, dass du es besser weißt.
-
Kann ich meine IP-Adresse auf die Freigabeliste setzen, damit ich nicht ausgesperrt werde?
-
Zuallererst eine Bitte: Überlege, ob du das wirklich brauchst. Allgemein gesagt ist es keine gute Idee, Ausnahmen in deinen Sicherheits-Richtlinien zuzulassen.
Allerdings gibt es jetzt einen Filter, mit dem du dies tun kannst: „limit_login_whitelist_ip”.
Beispiel:
function meine_ip_freigabeliste($allow, $ip) {
return ($ip == ‚meine-ip-adresse‘) ? true : $allow;
}
add_filter(‚limit_login_whitelist_ip‘, ‚meine_ip_freigabeliste‘, 10, 2);Beachte, dass wir weiterhin wie gewohnt Benachrichtigungen und Protokollierungen vornehmen. Dies soll dir ermöglichen, verdächtige Aktivitäten von IP-Adressen auf der Freigabeliste zu erkennen.
-
Ich habe mich beim Testen ausgesperrt, was soll ich jetzt machen?
-
Entweder warten, oder:
Wenn du weißt, wie man PHP-Dateien bearbeitet/ergänzt, kannst du die oben beschriebene IP-Freigabelisten-Funktion verwenden. Anschließend solltest du auf der Einstellungsseite des Plugins den Button „Sperren wiederherstellen” verwenden und die Freigabelisten-Funktion wieder entfernen.
Wenn du einen ftp- oder ssh-Zugriff auf die Website hast, benenne die Datei „wp-content/plugins/limit-login-attempts/limit-login-attempts.php“ um, um das Plugin zu deaktivieren.
Wenn du Zugriff auf die Datenbank hast (beispielsweise über phpMyAdmin), kannst du die Option „limit_login_lockouts“ in der WordPress-Optionstabelle löschen. In einer Standardkonfiguration würde dies so funktionieren: „UPDATE wp_options SET option_value = “ WHERE option_name = ‚limit_login_lockouts’“
Rezensionen
Mitwirkende und Entwickler
„Limit Login Attempts“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:
Mitwirkende„Limit Login Attempts“ wurde in 37 Sprachen übersetzt. Danke an die Übersetzer für ihre Mitwirkung.
Übersetze „Limit Login Attempts“ in deine Sprache.
Interessiert an der Entwicklung?
Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.
Änderungsprotokoll
1.7.2
Sicherheitskorrekturen.
1.7.1
This version fixes a security bug in version 1.6.2 and 1.7.0. Please upgrade immediately.
„Auth cookies“ are special cookies set at login that authenticating you to the system. It is how WordPress „remembers“ that you are logged in between page loads.
During lockout these are supposed to be cleared, but a change in 1.6.2 broke this. It allowed an attacker to keep trying to break these cookies during a lockout.
Lockout of normal password login attempts still worked as it should, and it appears that all „auth cookie“ attempts would keep getting logged.
In theory the „auth cookie“ is quite resistant to brute force attack. It contains a cryptographic hash of the user password, and the difficulty to break it is not based on the password strength but instead on the cryptographic operations used and the length of the hash value. In theory it should take many many years to break this hash. As theory and practice does not always agree it is still a good idea to have working lockouts of any such attempts.
1.7.0
- Added filter that allows whitelisting IP. Please use with care!!
- Update to Spanish translation, thanks to Marcelo Pedra
- Aktualisierte schwedische Übersetzung
- Getestet mit WordPress 3.3.2
1.6.2
- Fix bug where log would not get updated after it had been cleared
- Do plugin setup in ‚init‘ action
- Small update to Spanish translation file, thanks to Marcelo Pedra
- Tested against WordPress 3.2.1
1.6.1
- (WordPress 3.0+) An invalid cookie can sometimes get sent multiple times before it gets cleared, resulting in multiple failed attempts or even a lockout from a single invalid cookie. Store the latest failed cookie to make sure we only count it as one failed attempt
- Define „Text Domain“ correctly
- Include correct Dutch tranlation file. Thanks to Martin1 for noticing. Thanks again to Bjorn Wijers for the translation
- Updated POT file for this version
- Tested against WordPress 3.1-RC4
1.6.0
- Frohes neues Jahr
- Tested against WordPress 3.1-RC1
- Plugin now requires WordPress version 2.8+. Of course you should never ever use anything but the latest version
- Fixed deprecation warnings that had been piling up with the old version requirement. Thanks to Johannes Ruthenberg for the report that prompted this
- Removed auth cookie admin check for version 2.7.
- Make sure relevant values in $_COOKIE get cleared right away on auth cookie validation failure. There are still some problems with cookie auth handling. The lockout can trigger prematurely in rare cases, but fixing it is plugin version 2 stuff unfortunately.
- Changed default time for retries to reset from 24 hours to 12 hours. The security impact is very minor and it means the warning will disappear „overnight“
- Added question to FAQ („Why not reset failed attempts on a successful login?“)
- Screenshots aktualisiert
1.5.2
- Reverted minor cookie-handling cleanup which might somehow be responsible for recently reported cookie related lockouts
- Added version 1.x Brazilian Portuguese translation, thanks to Luciano Passuello
- Added Finnish translation, thanks to Ari Kontiainen
1.5.1
- Further multisite & WPMU support (again thanks to erik@erikshosting.com)
- Better error handling if option variables are damaged
- Added Traditional Chinese translation, thanks to Denny Huang bigexplorations@bigexplorations.com.tw
1.5
- Tested against WordPress 3.0
- Handle 3.0 login page failure „shake“
- Basic multisite support (parts thanks to erik@erikshosting.com)
- Added Dutch translation, thanks to Bjorn Wijers burobjorn@burobjorn.nl
- balint@vereskuti.info
- Added French translation, thanks to oVa ova13lastar@gmail.com
1.4.1
- Added Turkish translation, thanks to Yazan Canarkadas
1.4
- Protect admin page update using wp_nonce
- Added Czech translation, thanks to Jakub Jedelsky
1.3.2
- Added Bulgarian translation, thanks to Hristo Chakarov
- Added Spanish translation, thanks to Marcelo Pedra
- Added Persian translation, thanks to Mostafa Soufi
- Added Russian translation, thanks to Jack Leonid (http://studio-xl.com)
1.3.1
- Added Catalan translation, thanks to Robert Buj
- Added Romanian translation, thanks to Robert Tudor
1.3
- Support for getting the correct IP for clients while server is behind reverse proxy, thanks to Michael Skerwiderski
- Added German translation, thanks to Michael Skerwiderski
1.2
- No longer replaces pluggable function when cookie handling active. Re-implemented using available actions and filters
- Filter error messages during login to avoid information leak regarding available usernames
- Do not show retries or lockout messages except for login (registration, lost password pages). No change in actual enforcement
- Slightly more aggressive in trimming old retries data
1.1
- Added translation support
- Added Swedish translation
- During lockout, filter out all other login errors
- Kleinere Aufräumarbeiten
1.0
- Erstversion