[Hilfe] PHP Brute Force Schutz durch IP Sperre +- Sponsor-Board.de (https://www.sponsor-board.de) +-- Forum: Community (/forumdisplay.php?fid=56) +--- Forum: Hilfe (/forumdisplay.php?fid=102) +---- Forum: Scripting (/forumdisplay.php?fid=108) +---- Thema: [Hilfe] PHP Brute Force Schutz durch IP Sperre (/showthread.php?tid=46498) |
[Hilfe] PHP Brute Force Schutz durch IP Sperre - Maurice-KoL - 14.03.2014 16:05 HeyHo! Ich arbeite gerade an einem eigenen CMS! Aber das soll vorläufig eher privat bleiben und nicht für andere zugänglich sein. Ich habe alles fertig was ich wollte bis auf einen Bruteforce Schutz. Es gibt jetzt 2 Möglichkeiten. Entweder, ich nehme ein Captcha was sicherlich wirksam ist, oder ich nutze ein IP Bann Script. Also nach 10 Login Versuchen z.B. wird die IP in eine Datenbank eingetragen und wenn dann der 11. Login Versuch kommt, möchte ich das er auf eine andere Seite umgeleitet wird. Z.B.: die 404.php! Nun, leider habe ich keine Ahnung wie ich das machen soll :/ Habt ihr halbe Scripte oder verschiedene Tutorials damit ich mir das erarbeiten kann? Ich hab einiges zu dem Thema gefunden aber nie was gefunden was ich nutzen kann. mfg Maurice RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - ErroROnly - 14.03.2014 16:11 Wie wäre es wenn du einfach eine Variable hochzählen lässt wenn das Password falsch eingeben wurde und wenn die Variable dann denn Wert x erreicht hat lässt du die Ip Adresse in eine DB eintragen und wenn die IP dort schon drin steht dann soll er das weitere Interagieren verbieten mit deiner 404.php Seite. RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Scharock - 14.03.2014 16:18 Schwieriges Thema. IP nutzen kann man, ist aber nutzlos weil man die faken kann. Theoretisch kannst du einen Clienten nicht wiedererkennen wenn er weiß was er tut.Da hast du keinen Einfluss drauf. Normal macht man es so, dass man den Account sperrt und per aktivierungslink wieder aktivieren kann. Eine Sichere aber manchmal nervtötende Variante. Ansonsten gäbe es noch FlashCookies oder du nutzt alle möglichen Infos wie z.B. Auflösung, Browserinformationen... RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - sic_ - 14.03.2014 16:19 Der IP-Bann ist keine gute Idee, wenn Leute auf einer LAN sind haben sie nach außen die selbe IP, sprich alle werden gebannt. Im Grunde ist es doch einfach: User-Accounts werden bei dir auch in der Datenbank gespeichert, oder? Dann fügst du zwei Felder hinzu: attempts (int) und suspended_at (timestamp). Immer wenn ein Login fehlschlägt für den User (d.h. Email/Username korrekt, Passwort falsch) erhöhst du attempts (Versuche) um 1. Ist attempts >= einem bestimmten Wert, z. B. 3, dann setzt du es auf 0 zurück aber dafür suspended_at auf die aktuelle Zeit. Beim Login wird dann außerdem geprüft, ob ein User in den letzten Minuten (z. B. 15) suspended wurde und wenn ja, darf er sich nicht einloggen. (Bei einem erfolgreichen Login wird attempts immer auf 0 zurückgesetzt.) RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Maurice-KoL - 14.03.2014 16:22 Scharock schrieb: Schwieriges Thema.
IP nutzen kann man, ist aber nutzlos weil man die faken kann. Theoretisch kannst du einen Clienten nicht wiedererkennen wenn er weiß was er tut.Da hast du keinen Einfluss drauf. Normal macht man es so, dass man den Account sperrt und per aktivierungslink wieder aktivieren kann. Eine Sichere aber manchmal nervtötende Variante. Ansonsten gäbe es noch FlashCookies oder du nutzt alle möglichen Infos wie z.B. Auflösung, Browserinformationen...
simon_s schrieb: Der IP-Bann ist keine gute Idee, wenn Leute auf einer LAN sind haben sie nach außen die selbe IP, sprich alle werden gebannt.
Im Grunde ist es doch einfach: User-Accounts werden bei dir auch in der Datenbank gespeichert, oder? Dann fügst du zwei Felder hinzu: attempts (int) und suspended_at (timestamp). Immer wenn ein Login fehlschlägt für den User (d.h. Email/Username korrekt, Passwort falsch) erhöhst du attempts (Versuche) um 1. Ist attempts >= einem bestimmten Wert, z. B. 3, dann setzt du es auf 0 zurück aber dafür suspended_at auf die aktuelle Zeit. Beim Login wird dann außerdem geprüft, ob ein User in den letzten Minuten (z. B. 15) suspended wurde und wenn ja, darf er sich nicht einloggen.
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Sysix - 14.03.2014 16:30 Wenn du eine sichere Veschüsselung hast, bringt auch kein Bruteforce Und wenn dann gibts auch sowas wie htaccess Schutz! Gruß Sysix RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Scharock - 14.03.2014 16:48 Sysix schrieb: Wenn du eine sichere Veschüsselung hast, bringt auch kein Bruteforce
Und wenn dann gibts auch sowas wie htaccess Schutz! Gruß Sysix
Wenn es nur um deinen Account geht, ist das an sich sogar ziemlich einfach. RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Schwester Wombat - 14.03.2014 18:02 Das ist schon richtig, dass SHA nicht für Passwärter gemacht ist, einen praktischen Grund gegen SHA-3 gibts trotzdem net... Bei einigen meiner Passwörter komm ich auch über 55 Bytes - da kann ich bcrypt gar nicht nutzen. RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - com98 - 14.03.2014 18:15 Zusätzlich kann ich persönlich dir noch raten zu integrieren, das man wenn man das Passwort 3 Mal falsch eingegeben hat, z.B. 30 Sekunden bis zur nächsten Passworteingabe, nach 6 mal 60 Sekunden etc. warten muss. Allerdings gibts hier das Problem das es vom Benutzer leicht umgangen werden kann wenn du die IP Adresse oder Cookies nutzt, deshalb solltest du dich nicht allein auf diese Methode verlassen. Das in der Kombination mit alledem hier genannten wäre sicher schon sehr wirksam gegen so einige Brutforces, doch bedenke eins: Ein Hacker wird nicht zuerst versuchen dein Script mittels Brutforce anzugreifen, weil das ist zeitaufwändig und sicher nicht sehr elegant also wenn dein Script nicht schon sicher genug ist würde ich dir empfehlen zuerst da anzusetzen. RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - keving - 14.03.2014 19:22 Scharock schrieb: Schwieriges Thema.
IP nutzen kann man, ist aber nutzlos weil man die faken kann. Theoretisch kannst du einen Clienten nicht wiedererkennen wenn er weiß was er tut.Da hast du keinen Einfluss drauf. Normal macht man es so, dass man den Account sperrt und per aktivierungslink wieder aktivieren kann. Eine Sichere aber manchmal nervtötende Variante. Ansonsten gäbe es noch FlashCookies oder du nutzt alle möglichen Infos wie z.B. Auflösung, Browserinformationen...
Bullshit, implementiere ruhig eine IP Sperre, ist besser als nichts. Die IP zu ändern (per Proxy oder Reconnect) dauert verhältnismäßig lange, daher lohnt sich Bruteforce dann nicht mehr. Sysix schrieb: Wenn du eine sichere Veschüsselung hast, bringt auch kein Bruteforce
Und wenn dann gibts auch sowas wie htaccess Schutz!
WombatWeb schrieb: Das ist schon richtig, dass SHA nicht für Passwärter gemacht ist, einen praktischen Grund gegen SHA-3 gibts trotzdem net...
Bei einigen meiner Passwörter komm ich auch über 55 Bytes - da kann ich bcrypt gar nicht nutzen.
Wieder Bullshit und Bullshit, mit Bruteforce bekommt man jedes Passwort raus, Voraussetzung ist nur unendlich viel Zeit. RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Maurice-KoL - 14.03.2014 19:24 Ich habe jetzt einfach anstatt .md5() mehrfach .sha1 benutzt. Es soll ja inzwichen Möglich sein md5 umzukehren und md5 ist ja nur 32bits und sha1 dagegen 40bits lang! Klar sha1 kann inzwichen auch geknackt werden aber trz. ist es sicherer als md5. Wobei das eigtl. unwichtig ist xD Was haltet ihr von sleep() als Zusätzlichen Schutz? PS: Ganze Seite ist abgesichert gegen CE, FU, FI, XSS, SQLIs und vieles mehr. Also dort kann man schon nicht einbrechen. Ich suche selber Sicherheitslücken privat also Scripte gegen Hacking abzusichern ist kein Problem. RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Schwester Wombat - 14.03.2014 19:27 Nutze doch SHA-3 (Kaccak), da gibt es im Momentn icht mal thereotische Kollisionen. RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Maurice-KoL - 14.03.2014 19:30 WombatWeb schrieb: Nutze doch SHA-3 (Kaccak), da gibt es im Momentn icht mal thereotische Kollisionen.
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Stricted - 14.03.2014 20:21 WombatWeb schrieb: Nutze doch SHA-3 (Kaccak), da gibt es im Momentn icht mal thereotische Kollisionen.
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Schwester Wombat - 14.03.2014 20:33 Ja, ich habe aber auch länge Passwörter, weshalb ich bcrypt net nutzen werde. RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Maurice-KoL - 14.03.2014 20:37 WombatWeb schrieb: Ja, ich habe aber auch länge Passwörter, weshalb ich bcrypt net nutzen werde.
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Stricted - 14.03.2014 21:19 WombatWeb schrieb: Ja, ich habe aber auch länge Passwörter, weshalb ich bcrypt net nutzen werde.
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Maurice-KoL - 14.03.2014 21:25 Terrax2 schrieb: WombatWeb schrieb: Ja, ich habe aber auch länge Passwörter, weshalb ich bcrypt net nutzen werde.
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Stricted - 14.03.2014 21:33 Maurice-KoL schrieb: "Kritisch ist die Beschränkung der Länge des Passworts durch bcrypt auf 55 Bytes"
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - Maurice-KoL - 14.03.2014 21:40 Terrax2 schrieb: Maurice-KoL schrieb: "Kritisch ist die Beschränkung der Länge des Passworts durch bcrypt auf 55 Bytes"
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - sic_ - 14.03.2014 23:42 keving schrieb: Wieder Bullshit und Bullshit, mit Bruteforce bekommt man jedes Passwort raus, Voraussetzung ist nur unendlich viel Zeit.
Verschlüsselung bringt da überhaupt nichts. MD5, SHA und wie sie alle heißen haben keinerlei Effekt auf die Sicherheit des Logins.
Ich glaube ich verstehe was du im Kern meinst aber zumindest das letzte ist unhaltbar. Natürlich wird die Sicherheit erhöht wenn der Hashing-Algorithmus eine hohe Laufzeit (mehrere Sekunden) hat. Unendliche Zeit ist ein theoretisches Konstrukt. Es muss gar nicht diskutiert werden, dass wenn man Hürden aufbaut, es die Sicherheit erhöht, auch wenn es sie nicht komplett gewährleistet. Wenn du 5 Sekunden pro Login benötigst, dann musst du bei einem Passwort nur Gro/Kleinbuchstaben und genau 6 Zeichen im Schnitt Milliarden von Permutationen durchprobieren. Das müssen wir gar nicht mit konkreten Zahlen durchexerzieren, es ist offensichtlich, dass das einen Brut-Force-Angriff massive erschwert oder in der Praxis sogar unmöglich macht. keving schrieb: Oder lass die ganze Sache direkt sein, wenn man solche Fragen stellt, ist man nicht in der Lage ein CMS zu schreiben.
Der von dir unterstellte kausale Zusammenhang ist nicht korrekt. Es handelt sich um eine Art der Informationssuche. Ob man nun hier fragt oder Tutorials, Bücher, Dokumentationen liest, kann zum gleichen Wissen führen.
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre - keving - 15.03.2014 17:56 simon_s schrieb: keving schrieb: Wieder Bullshit und Bullshit, mit Bruteforce bekommt man jedes Passwort raus, Voraussetzung ist nur unendlich viel Zeit.
Verschlüsselung bringt da überhaupt nichts. MD5, SHA und wie sie alle heißen haben keinerlei Effekt auf die Sicherheit des Logins. Ich glaube ich verstehe was du im Kern meinst aber zumindest das letzte ist unhaltbar. Natürlich wird die Sicherheit erhöht wenn der Hashing-Algorithmus eine hohe Laufzeit (mehrere Sekunden) hat. Unendliche Zeit ist ein theoretisches Konstrukt. Es muss gar nicht diskutiert werden, dass wenn man Hürden aufbaut, es die Sicherheit erhöht, auch wenn es sie nicht komplett gewährleistet. Wenn du 5 Sekunden pro Login benötigst, dann musst du bei einem Passwort nur Gro/Kleinbuchstaben und genau 6 Zeichen im Schnitt Milliarden von Permutationen durchprobieren. Das müssen wir gar nicht mit konkreten Zahlen durchexerzieren, es ist offensichtlich, dass das einen Brut-Force-Angriff massive erschwert oder in der Praxis sogar unmöglich macht.
Du willst mir also erzählen, dass man durch Belastung des Servers eine höhere Sicherheit erzielt? Naja, im Grunde stimmt es, aber das hat nichts mit dem Hash zu tun. Eine künstliche Verzögerung würde das gleiche Ergebnis erzielen. Ob es benutzerfreundlich ist den User 5 Sekunden auf den Login warten zu lassen ist die andere Frage. simon_s schrieb: keving schrieb: Oder lass die ganze Sache direkt sein, wenn man solche Fragen stellt, ist man nicht in der Lage ein CMS zu schreiben.
Der von dir unterstellte kausale Zusammenhang ist nicht korrekt. Es handelt sich um eine Art der Informationssuche. Ob man nun hier fragt oder Tutorials, Bücher, Dokumentationen liest, kann zum gleichen Wissen führen.
Solche Sicherheitsvorkehrungen sind elementare Dinge. Bevor man so etwas nicht verstanden hat sollte man nicht auf die Idee kommen ein CMS zu schreiben. |