[Hilfe] PHP Brute Force Schutz durch IP Sperre
|
Verfasser |
Nachricht |
|
Beiträge: 131
Bewertung: 5
Registriert seit: Oct 2012
Status:
offline
|
[Hilfe] PHP Brute Force Schutz durch IP Sperre
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
security researcher von secure-sites.de:
Projekte mit Funden gesichert:
-ebay.de
-amazon.com
-gmx.net
-icq.com
und noch viele mehr! Schau vorbei!
|
|
14.03.2014 16:05 |
|
|
Beiträge: 411
Bewertung: 11
Registriert seit: Jul 2011
Status:
offline
|
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre
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.
|
|
14.03.2014 16:11 |
|
|
Beiträge: 334
Bewertung: 4
Registriert seit: Sep 2010
Status:
offline
|
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre
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...
SponsorBoard
GEIZ - Geil Ein Idiot Zahlt
Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2014 16:19 von Scharock.
|
|
14.03.2014 16:18 |
|
|
Beiträge: 677
Bewertung: 0
Registriert seit: Feb 2013
Status:
offline
|
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre
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.)
Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2014 16:21 von sic_.
|
|
14.03.2014 16:19 |
|
|
Beiträge: 131
Bewertung: 5
Registriert seit: Oct 2012
Status:
offline
|
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre
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...
Flash Cookies würde ich wieder nicht nehmen. Mansche Plugins, Addons und Browser akzeptieren keine Cookies und nur Sessions. Und es gibt ja nur einen Account und das ist meiner! Und der soll garantiert nicht gesperrt werden xD
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.
Und es gibt ja nur einen Account und das ist meiner! Und der soll garantiert nicht gesperrt werden xD Und selbst wenn, da es nur einen Account gibt (meiner), kann es mir ja egal sein wenn für außerhalb iein LAN gebannt ist. Sie würden ja versuchen sich auf meinen Account einzuloggen! Hättest du was anderes? Wenn nein danke trz.
security researcher von secure-sites.de:
Projekte mit Funden gesichert:
-ebay.de
-amazon.com
-gmx.net
-icq.com
und noch viele mehr! Schau vorbei!
Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2014 16:23 von Maurice-KoL.
|
|
14.03.2014 16:22 |
|
|
Beiträge: 625
Bewertung: 7
Registriert seit: Aug 2010
Status:
offline
|
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre
Wenn du eine sichere Veschüsselung hast, bringt auch kein Bruteforce 
Und wenn dann gibts auch sowas wie htaccess Schutz!
Gruß Sysix
|
|
14.03.2014 16:30 |
|
|
Beiträge: 334
Bewertung: 4
Registriert seit: Sep 2010
Status:
offline
|
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre
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.
1. Den Login nicht auf die Startseite und auch nicht unter [Link: Registrierung erforderlich] machen
[Link: Registrierung erforderlich]
da kommt niemand hin 
Andere Alternative eine Whitelist oder wie Sysix schreibt eine sichere Verschlüsselung benutzen bcryt auf 5 Sekunden und fertig.
Wenns dir sehr wichtig ist, setz ihn auf 10 Sekunden und nimm ein sicheres Passwort.
Dann ist es unknackbar.
Am besten [Link: Registrierung erforderlich]
und ein 5 Sekunden bcryt.
Immer merken: md5, Sha... sind nicht für PW Verschlüsselungen gemacht 
SponsorBoard
GEIZ - Geil Ein Idiot Zahlt
|
|
14.03.2014 16:48 |
|
|
Beiträge: 1.465
Bewertung: 10
Registriert seit: Jan 2012
Status:
offline
|
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre
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.
|
|
14.03.2014 18:02 |
|
|
Beiträge: 178
Bewertung: 3
Registriert seit: Jan 2013
Status:
offline
|
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre
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.
http://rocket-messenger.com/banner.png(!https)
LG
com98
|
|
14.03.2014 18:15 |
|
|
Beiträge: 446
Bewertung: 0
Registriert seit: Nov 2010
Status:
offline
|
RE: [Hilfe] PHP Brute Force Schutz durch IP Sperre
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.
Wenn du eine sichere Veschüsselung hast, bringt auch kein Bruteforce 
Und wenn dann gibts auch sowas wie htaccess Schutz!
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.
Verschlüsselung bringt da überhaupt nichts.
MD5, SHA und wie sie alle heißen haben keinerlei Effekt auf die Sicherheit des Logins. Es ist nur eine weitere Sicherheitsvorkehrung falls es jemandem gelungen ist an die Datenbank zu kommen, sodass die Passwörter nicht im Klartext dort stehen.
Achte lieber auf MySQL Injections, etc., das kommt in der Praxis viel häufiger vor.
Oder lass die ganze Sache direkt sein, wenn man solche Fragen stellt, ist man nicht in der Lage ein CMS zu schreiben.
Dieser Post kann Spuren von Sarkasmus und Ironie enthalten.
|
|
14.03.2014 19:22 |
|
|