Rolf B: Timestamps bei Eingabe der Buchstaben des Passworts

Beitrag lesen

Hallo Maython,

"BruteForce" Attacken

die fängst Du besser am Server ab. Ganz stumpfsinnig: Nach X Fehlversuchen wird der Account gesperrt oder in den Captcha-Modus versetzt.

Das kann allerdings auch nach hinten losgehen, wenn sich ein doofer Durchprobier-Bot auf dich stürzt. In vielen phpbb Foren ist die Mitgliederliste öffentlich, oder die Liste der angemeldeten User. Die kann man ernten und dann pro User automatisiert Passworte verproben. Eine automatische Sperre führt dazu, dass eine Menge User meckern, dass ihr Account gesperrt sei und Du vor lauter Entsperren nichts anderes mehr getan bekommst.

Bot-Abwehr ist eine Wissenschaft für sich. Vor allem, wenn man die Non-Bots möglichst wenig behindern will.

In dem Forum, wo ich mit einem solchen Bot konfrontiert war, hat es gereicht, ein hidden field ins login-Form zu setzen, wo ein Token drinstand. Das musste mit einem Token übereinstimmen, das in der Session gespeichert war. Stimmte es nicht, wurde der Login-Request ignoriert. Das hilft natürlich nichts, wenn der Bot mehr tut als stumpf Standardrequeste für diesen Forentyp zu posten, aber, wie gesagt, der Bot war doof und es hat gereicht.

Eine Alternative kann sein, dass nach einem Fehlversuch eine bestimmte Zeit (z.B. 10 Sekunden) gewartet werden muss. Ein Login von der gleichen IP innerhalb dieser Zeit wird wie ein Fehlversuch gewertet und die Strafzeit beginnt von vorn. Die IP Abfrage dient dazu, dass der korrekte User, der von einer anderen IP kommt, locker am Login vorbeispazieren kann, während der Bot gegen die Drehtüre läuft. Nützt natürlich auch nichts, wenn die Bots aus einem Netz kommen oder über TOR gehen und jeder Request von einem anderen Exit-Node kommt.

Es kann auch nötig werden, IP-Bereiche gegen Login zu sperren. Dafür gibt's Tools - siehe fail2ban.

Wie gesagt - eine Wissenschaft für sich.

Rolf

--
sumpsi - posui - obstruxi