Joomla 6 System Plugin zur Erfassung von Authentifizierungsversuchen je Quell IP Adresse mit automatischer Integration einer Rechen Captcha Validierung bei Schwellenwertüberschreitung sowie temporärer IP Sperrung bei persistenter Angriffsaktivität, wahlweise im Administrator Backend oder global auf der gesamten Website anwendbar.
Systemplugin für Joomla 6, das Anmeldeversuche pro IP Adresse zählt, danach ein Rechen Captcha verlangt und wiederholte Angreifer zeitweise sperrt im Backend und wahlweise auf der gesamten Website.
Wozu das Plugin gut ist
Angreifer probieren bei Brute Force Attacken automatisiert tausende Passwörter an der Anmeldeseite durch. Das Plugin bremst sie aus: Wer zu oft falsche Zugangsdaten sendet, muss zuerst eine Rechenaufgabe lösen und wird danach für einige Zeit komplett ausgesperrt. Normale Besucher und angemeldete Benutzer merken davon nichts.
So arbeitet der Schutz
Normale Versuche
Falsche Anmeldungen werden pro IP gezählt (Standard: 3). Bis dahin ändert sich nichts.
Captcha Phase
Ab jetzt erscheint im Login Formular eine Rechenaufgabe (z. B.
14 − 6
). Ohne richtige Antwort wird die Anmeldung verworfen (Standard: 2 weitere Versuche).
IP Sperre
Danach ist die IP für die eingestellte Zeit gesperrt (Standard: 24 Stunden). Anfragen erhalten eine Sperrseite mit HTTP Status 403.
Entsperren
Die Sperre läuft automatisch ab, oder du hebst sie in der Sperrliste auf. Eine erfolgreiche Anmeldung setzt den Zähler zurück.
Funktionen
Backend Schutz
Immer aktiv für nicht angemeldete Besucher. Eine gesperrte IP kommt nicht einmal mehr an die Anmeldeseite.
Frontend Schutz
Optional werden auch Anmeldungen auf der Website überwacht. Zusätzlich kann eine gesperrte IP aus dem gesamten Frontend ausgesperrt werden.
Rechen Captcha
Zufällige Plus /Minus Aufgabe mit zufälligem Feldnamen, nur einmal gültig, 15 Minuten gültig. Ohne Antwort oder bei Session Verlust wird abgelehnt.
Ausnahmeliste
Einzelne IPs und ganze Bereiche (CIDR) werden nie gezählt oder gesperrt. Dazu ein Schalter für Localhost.
Sperrliste
Übersicht aller erfassten IPs mit Fehlversuchen, Bereich, letztem Versuch und Status. Einzeln oder komplett aufheben.
Benachrichtigung
Optional eine E Mail pro Sperre und ein Eintrag im Joomla Aktionsprotokoll – auch beim Aufheben durch einen Administrator.
Proxy sichere IP Erkennung
Der Header
X Forwarded For
wird nur von vertrauenswürdigen Proxys akzeptiert und von rechts gelesen, damit er nicht gefälscht werden kann.
IPv6 tauglich
IPv6 Adressen werden pro
/64
Netz gezählt, weil ein Anschluss dort beliebig viele Adressen hat.
Ausfallsicher
Bei Datenbankproblemen sperrt das Plugin nicht und legt die Website nicht lahm.
Einstellungen
Reiter „Schutz“
| Einstellung | Standard | Bedeutung |
|---|---|---|
| Normale Anmeldeversuche | 3 | Fehlversuche, bevor das Captcha verlangt wird. |
| Anmeldeversuche mit Captcha | 2 |
Weitere Versuche mit Rechenaufgabe, danach Sperre.
0
= kein Captcha, direkt sperren.
|
| Sperrdauer (Sekunden) | 86400 | Wie lange eine IP gesperrt bleibt (86400 = 1 Tag). |
| Zähler zurücksetzen nach | 3600 | Nicht gesperrte IPs werden vergessen, wenn sie so lange nichts mehr versucht haben. |
| Frontend Anmeldungen überwachen | Ja | Zählt Fehlversuche auf der Website, zeigt das Captcha und sperrt bei Erreichen des Limits. |
| Gesperrte IPs aus dem Frontend aussperren | Ja | Ja: Die ganze Website ist für die gesperrte IP nicht erreichbar (403). Nein: Es werden nur Anmeldungen verhindert. |
| E Mail bei IP Sperre | Nein | Eine E Mail pro Sperre. Empfänger frei wählbar, leer = Absenderadresse der Website. |
| Aktionsprotokoll | Ja | Sperren und Aufhebungen im Joomla Aktionsprotokoll. |
Reiter „Netzwerk & Ausnahmen“
| Einstellung | Bedeutung |
|---|---|
| Localhost erlauben |
Nimmt
127.0.0.0/8
und
::1
von Captcha und Sperre aus.
|
| Erlaubte IP Adressen |
Eine IP oder ein CIDR Bereich pro Zeile,
#
beginnt einen Kommentar.
|
| X Forwarded For auswerten | Nur aktivieren, wenn die Website hinter einem Reverse Proxy liegt (z. B. Cloudflare). |
| Vertrauenswürdige Proxys | Adressen der Proxys. Der Header zählt nur, wenn die Verbindung direkt von einem davon kommt. |
# Erlaubte IP Adressen 203.0.113.7 # Büro 198.51.100.0/24 # Firmennetz 2001:db8:1234::/48 # Heimanschluss (IPv6)
Reiter „Sperrliste“
Zeigt alle aktuell erfassten IPs. Mit Aufheben wird eine einzelne IP freigegeben, mit Alle aufheben werden alle Einträge gelöscht. Die Aktionen laufen per AJAX, sind durch das Joomla Token gesichert und nur für Benutzer mit Bearbeitungsrecht an den Plugins möglich.
Installation
-
Im Backend unter
System → Erweiterungen → Installieren
die ZIP Datei
plg_system_skbruteforce_v1.0.0.ziphochladen. Dabei wird die Datenbanktabelle#__skbruteforce_attemptsangelegt. - Unter System → Plugins das Plugin System – SK Brute Force Guard aktivieren.
- Die eigene IP in Erlaubte IP Adressen eintragen, damit du dich bei Tests nicht aussperrst.
- Werte nach Bedarf anpassen und speichern.
Wichtige Hinweise
#__skbruteforce_attempts
öffnen und die Zeile mit deiner IP löschen. Alternativ das Plugin kurz über die Datenbank (
#__extensions
, Spalte
enabled
) deaktivieren.
- Proxy Betrieb: Liegt die Website hinter einem Proxy und der Schalter „X Forwarded For“ ist aus, sieht das Plugin nur die Proxy Adresse – dann würden alle Besucher gemeinsam gezählt und gesperrt. In diesem Fall den Schalter aktivieren und die Proxys eintragen.
- Gemeinsame IPs: Hinter Firmen oder Mobilfunknetzen teilen sich viele Personen eine Adresse. Eine Sperre betrifft dann alle.
- Ergänzung, kein Ersatz: Das Plugin ersetzt keine starken Passwörter und keine Zwei Faktor Anmeldung.
Technische Daten
| Name | plg_system_skbruteforce |
|---|---|
| Typ | Systemplugin |
| Joomla | 6.x |
| Namespace |
SK\Plugin\System\SkBruteForce
|
| Datenbank |
Tabelle
#__skbruteforce_attempts
(MySQL / PostgreSQL)
|
| Sprachen | de DE, en GB |
| Lizenz | GNU General Public License |
Wie bewertest du diesen Beitrag?