Hallo miteinander!
Gibt es für das Contenido-Backend-Login eine Zeitsperre für vergebliche Anmeldeversuche?
Wenn nein, wird das nötig sein.
Mein Hintergrund ist der, dass auf Wordpress Installationen massenweise Brute Force Angriffe auf den Login gestartet werden, von verschiedensten IPs aus.
Auch wurde scheints neulich irgendeine eine APP oder etwas ähnliches gehackt, weil es am Login keine Sperr-Zeit gab, so war ein Brute Force scheints erfolgreich.
Und heute Nach fand wieder ein Angriff auf eine Kundeninstallation statt und diesmal etwas schlauer als sonst. Vermutlich haben die Hacker die Bots verbessert oder manuell angesteuert (weil im Abstand von wenigen Minuten die IP gewechselt wurde bei Sperrung).
Ohne Plugin das die Fehlversuche protokolliert, sperrt und benachrichtigt, wüsste ich gar nicht, was sich da am Login tut.
So aber kann ich es sehen und darauf reagieren.
Was sehe ich aber beim Contenido Login?
Nichts.
Aber nur weil ich nichts sehe, heißt es nicht, dass sich da nichts tut.
Schön wäre es, wenn man wie z.B. bei dem WP Plugin "Limit Login Attempts" Login-Fehlversuche und Sperrzeiten eintragen könnte als auch sämtliche Sperrungen in einer Datei oder Datenbank geloggt werden und man daraus gezielt eine IP dauerhaft sperren könnte. Bei zu vielen Fehlversuchen sollte eine Nachricht an den Admin gehen.
"Sichere Passwörter" nützen gar nicht so viel, wenn Bots ungestört über Wochen alle Millisekunde einen Login-Versuch starten können. Irgendwann trifft es.
Eine Sperrzeit würde das ganz erheblich einschränken und Brute Force nahezu unmöglich machen.
Gibt es das bei Contenido schon oder hab ich es nur nicht gefunden?
Andernfalls wäre es gut, wenn das schleunigst eingebaut wird.
Beim Frontend kann man sich notfalls selbst das Login-Modul so stricken, dass es sperrt.
VG,
Faar
Anmeldeversuche mit Zeit-Sperre
Anmeldeversuche mit Zeit-Sperre
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 4254
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Anmeldeversuche mit Zeit-Sperre
Hallo Faar,
das von Dir gesuchte Feature ist weder in der 4.8 noch in der 4.9 so eingebaut. Bei 4.8 gibt es auch keine Möglichkeit dies ohne einen Eingriff in den Core zu implementieren. Bei der 4.9 sieht das etwas anders aus, hier habe ich 2 Möglichkeiten bzw. Stellen an denen ich auch ohne direkte Änderungen am Core eine entsprechende Funktionalität einbauen könnte.
Falls Jemand auf ein entsprechendes PlugIn für CONTENIDO 4.9 Wert legt kann er sich ja einfach bei mir melden.
Zur Info: Derzeit loggt CONTENIDO in beiden Versionen ausschließlich erfolgreiche LogIns. Ein Log für erfolglose Versuche oder eine Zeitsperre ist nicht vorhanden.
Gruß aus Franken
Ortwin
das von Dir gesuchte Feature ist weder in der 4.8 noch in der 4.9 so eingebaut. Bei 4.8 gibt es auch keine Möglichkeit dies ohne einen Eingriff in den Core zu implementieren. Bei der 4.9 sieht das etwas anders aus, hier habe ich 2 Möglichkeiten bzw. Stellen an denen ich auch ohne direkte Änderungen am Core eine entsprechende Funktionalität einbauen könnte.
Falls Jemand auf ein entsprechendes PlugIn für CONTENIDO 4.9 Wert legt kann er sich ja einfach bei mir melden.
Zur Info: Derzeit loggt CONTENIDO in beiden Versionen ausschließlich erfolgreiche LogIns. Ein Log für erfolglose Versuche oder eine Zeitsperre ist nicht vorhanden.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Anmeldeversuche mit Zeit-Sperre
Ähm, das ist aber eher nur so für den Zeitvertreib, um zu sehen wer da was macht und wann er arbeitet?Oldperl hat geschrieben: Zur Info: Derzeit loggt CONTENIDO in beiden Versionen ausschließlich erfolgreiche LogIns. Ein Log für erfolglose Versuche oder eine Zeitsperre ist nicht vorhanden.
Aber für die Sicherheit bringt das wohl nichts.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 4254
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Anmeldeversuche mit Zeit-Sperre
Kommando zurück, die Lösung ist (leider) nicht als Plugin möglich, da Plugins erst nach erfolgreichem Login eingebunden werden. Daher gibt es eigentlich nur eine Stelle an der man sich da "einklinken" kann. Die Datei config.local.php im Konfigurationsverzeichnis (im Demomandanten: data/config/production)
Sollte die Datei nicht vorhanden sein dann eine so benannte leere PHP-Datei mit öffnendem PHP-Tag erstellen und folgendes Eintragen:
Ab sofort werden alle Versuche eines Login ins Backend, ob nun erfolgreich oder nicht, inclusive Remote-Adresse in die Logdatei 'login_attempts.log' geschrieben. So hast Du dann zumindest schon mal eine Info Wann und Woher Jemand versucht ins Backend zu kommen.
In der Log-Datei werden dann die Versuche in folgender Form gelogt und können im Backend unter Logs eingesehen werden.
Ortwin
Sollte die Datei nicht vorhanden sein dann eine so benannte leere PHP-Datei mit öffnendem PHP-Tag erstellen und folgendes Eintragen:
Code: Alles auswählen
/**
* write log for login attempts
*
* @author Ortwin Pinke
* @copyright PHP-Backoffice <www.php-backoffice.de>
*
*/
if($_POST['vaction'] == "login" && !empty($_POST['username'])) {
require_once($backendPath . '/classes/log/class.log.php');
require_once($backendPath . '/classes/log/class.log.writer.php');
require_once($backendPath . '/classes/log/class.log.writer.file.php');
$oLogWriter = cLogWriter::factory("File", array("destination" => $cfg['path']['contenido_logs'] . "login_attempts.log"));
$oLog = new cLog($oLogWriter);
$sMessage = "login attempt with username '".$_POST['username']."' from ".$_SERVER['REMOTE_ADDR'];
$oLog->log($sMessage);
}
In der Log-Datei werden dann die Versuche in folgender Form gelogt und können im Backend unter Logs eingesehen werden.
Gruß aus Franken[2015-06-12 12:12:42] [ INFO ] login attempt with username 'TheHacker' from 127.0.0.1
[2015-06-12 12:34:47] [ INFO ] login attempt with username 'sysadmin' from 127.0.0.1
[2015-06-12 12:34:55] [ INFO ] login attempt with username 'sysadmin' from 127.0.0.1
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Anmeldeversuche mit Zeit-Sperre
Danke, das funktioniert sogar!
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 4254
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Anmeldeversuche mit Zeit-Sperre
Na das hoffe ich doch!
Ich hab da schon ein paar Ideen wie man das noch ein wenig "aufmotzen" kann. Dazu wird es dann wohl doch noch ein Plugin geben. Dachte da an eine einstellbare IP-Sperre und/oder eine Anmelde-Verzögerung. Da man nicht direkt den Anmeldevorgang beeinflussen kann würde ich dazu die Auslieferung der Ergebnisseite verzögern.
Na mal schau' n...
Gruß aus Franken
Ortwin
Ich hab da schon ein paar Ideen wie man das noch ein wenig "aufmotzen" kann. Dazu wird es dann wohl doch noch ein Plugin geben. Dachte da an eine einstellbare IP-Sperre und/oder eine Anmelde-Verzögerung. Da man nicht direkt den Anmeldevorgang beeinflussen kann würde ich dazu die Auslieferung der Ergebnisseite verzögern.
Na mal schau' n...
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: Anmeldeversuche mit Zeit-Sperre
Zunächst vielen Dank an Ortwin für eine Zwischenlösung.
Wir haben diese - tolle - Idee bei uns intern eben diskutiert und sehen die Implementierung einer solchen "Limit login Attempts""-Funktion für eine spätere CONTENIDO-Version vor. Dabei geht es dann nicht nur um das Loggen von Fehlversuchen, sondern auch darum, dass es nach einer Anzahl X von Fehlversuchen für eine Zeit Y nicht mehr möglich ist, sich anzumelden.
Wir haben diese - tolle - Idee bei uns intern eben diskutiert und sehen die Implementierung einer solchen "Limit login Attempts""-Funktion für eine spätere CONTENIDO-Version vor. Dabei geht es dann nicht nur um das Loggen von Fehlversuchen, sondern auch darum, dass es nach einer Anzahl X von Fehlversuchen für eine Zeit Y nicht mehr möglich ist, sich anzumelden.
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG