php login wirklich sicher machen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Als Hacker gibt es einige Dinge die einen Brute-force Angriff über ein Formular praktisch unmöglich machen:

    1. IP speichern und nach 3x falsch 10 Minuten sperren (schon oft genannt und einfach zu umgehen, aber trotzdem doof für den Hacker, denn das zu umgehen braucht seinen Rechner Zeit)
    2. Bei 5(oder 10)maliger falscher Eiingabe bei einem Konto (hintereinander) das Konto 10 Minuten sperren (nicht zu umgehen über ein Formular)
    3. Eine Verzögerung von 3 Sekunden nach jeder falschen Eingabe (nicht zu umgehen, wurde schon genannt)
    4. Möglichkeit (etwas anders) Die Zeit und ein dazugehöriger Schlüssel (es reicht eine relativ einfache Verschlüsselung mit 8 Zeichen und der Hacker wird verzweifeln) werden beim Betreten der Seite generiert. Die Zeit muss > time()-180 sein und der Schlüssel muss korrekt sein (alleine nicht sehr sicher, aber trotzdem sehr nervig)

    Wenn du dies alles machst wird schon ein "gutes" 6-stelliges Passwort ausreichen und der Brute-Force Angriff dauert 5-10 Jahre.

    Kommentar


    • #17
      Original geschrieben von jmc
      Als Hacker gibt es einige Dinge die einen Brute-force Angriff über ein Formular praktisch unmöglich machen:

      1. IP speichern und nach 3x falsch 10 Minuten sperren (schon oft genannt und einfach zu umgehen, aber trotzdem doof für den Hacker, denn das zu umgehen braucht seinen Rechner Zeit)
      2. Bei 5(oder 10)maliger falscher Eiingabe bei einem Konto (hintereinander) das Konto 10 Minuten sperren (nicht zu umgehen über ein Formular)
      3. Eine Verzögerung von 3 Sekunden nach jeder falschen Eingabe (nicht zu umgehen, wurde schon genannt)
      4. Möglichkeit (etwas anders) Die Zeit und ein dazugehöriger Schlüssel (es reicht eine relativ einfache Verschlüsselung mit 8 Zeichen und der Hacker wird verzweifeln) werden beim Betreten der Seite generiert. Die Zeit muss > time()-180 sein und der Schlüssel muss korrekt sein (alleine nicht sehr sicher, aber trotzdem sehr nervig)

      Wenn du dies alles machst wird schon ein "gutes" 6-stelliges Passwort ausreichen und der Brute-Force Angriff dauert 5-10 Jahre.
      Der Großteil der Tipps funktioniert nur, wenn du davon ausgehst, dass der Hacker brav seine IP, seine Cookies und/oder seine Sessions behält. So nett sind aber die wenigsten. Meistens geschieht sowas mit speziellen Tools, die jede Verbindung über eine andere IP aufbauen und deshalb für den Server bzw. die Software wie ein komplett neuer unbekannter Besucher aussehen.

      Und die Rechenzeit ist das aller geringste Problem. Der Flaschenhals ist die Internetverbindung. Je nachdem welche langsamer ist, entweder die vom Server oder die vom Hacker. Aber Hacker werden vermutlich eher parallel gleichzeitig auf mehreren Rechner ihre Tools starten, die auch eine unabhängige Internetverbindung haben. Dann bleibt natürlich die Frage ob der Hacker eher versteckt agieren möchte oder brutal alles hochfährt, was er zu bieten hat. Letzteres ist natürlich effektiver, aber auch deutlich auffälliger (wenn zB. die Serverlast plötzlich auf das mehrfache ansteigt).

      Und wie gesagt, wenn ein Hacker klug ist versteift er sich nicht auf einen einzigen Account, sonder streut großflächig seine Versuche. Das heißt wenn du 10.000 Benutzer auf deinem System hast und du blockierst einen davon für 10 Minuten, hat der Hacker in den 10 Minuten zeit 9.999 andere Benutzeraccounts zu hacken.

      Das sinnvollste ist IMHO, wenn das System wirklich nur Passwörter zulässt, die einen ausreichenden Schutz bieten. Somit laufen die Wörterbuchangriffe ins Leere und Brute-force ist einfach zu langwierig und bandbreitenfressend, als das es sich auszahlen würde.

      Kommentar


      • #18
        Alle ausser dem 1. benötigen keine IP und kein Cookie.
        Bei dem Versuch alle anderen 9999 Accounts zu hacken werden diese auch alle für 10 Minuten gesperrt also was nützt dir das? Das heisst du hast nur 10 Versuche pro 10 Minuten pro Account.
        Bei sechs Zeichen sind es sum(62^k, k, 0, 6) Möglichkeiten also 57731386986 das kannst du meinetwegen durch 10000 oder 100000 Teilen (da sicherlich nicht alle Möglichkeiten ausprobiert werden müssen)
        Das wären bei einem Versuch pro Minute aber immer noch 577313 Minuten also 66 Jahre. Und dazu hast du noch die anderen Möglichkeiten insbesonder der Schlüssel, der bereits alle Hacker entweder zwingt die Loginseite immer auszulesen, das schaffst du mit heutigen Möglichkeiten einfach noch nicht.

        Kommentar


        • #19
          Original geschrieben von jmc
          Bei dem Versuch alle anderen 9999 Accounts zu hacken werden diese auch alle für 10 Minuten gesperrt also was nützt dir das? Das heisst du hast nur 10 Versuche pro 10 Minuten pro Account.
          ein versuch pro account ist ausreichend um ca. 250 von 10.000 zu knacken. von einem botnetz mit verschiedenen ips greift die ip-sperre ja nicht..

          Passwortdaten von Flirtlife.de kompromittiert
          Auffällig ist die starke Häufung der Ziffernfolge 1234, mit der insgesamt rund 2,5 Prozent aller Passwörter beginnen: Ein blinder Log-in-Versuch mit "123456" führt in fast 1,4 Prozent der Fälle zum Erfolg.
          von daher:
          Original geschrieben von h3ll
          Das sinnvollste ist IMHO, wenn das System wirklich nur Passwörter zulässt, die einen ausreichenden Schutz bieten. Somit laufen die Wörterbuchangriffe ins Leere und Brute-force ist einfach zu langwierig und bandbreitenfressend, als das es sich auszahlen würde.

          Kommentar


          • #20
            das passwort ist entscheined .. da stimme ich max vollkommen zu.

            OffTopic:
            und es heißt nicht hacker, sondern cracker .. man beachte die definition
            Gruß
            Uzu

            private Homepage

            Kommentar


            • #21
              Original geschrieben von jmc
              Alle ausser dem 1. benötigen keine IP und kein Cookie.
              Bei dem Versuch alle anderen 9999 Accounts zu hacken werden diese auch alle für 10 Minuten gesperrt also was nützt dir das?
              Das heißt, sobald jemand 10mal sein Passwort falsch eingibt, sperrst du ALLE Accounts? Stell dir vor Amazon würde sowas machen, dann könnte sich nie jemand einloggen, weil ständig irgendwelche Dussel ihr Passwort vergessen haben oder Möchgernhacker ihr Script laufen haben.

              Kommentar


              • #22
                @h3ll: Wer lesen kann ist klar im Vorteil und für die Zitation gilt, dass Weglassungen nicht den Sinn einer Aussage verändern dürfen.

                Kommentar


                • #23
                  Wenn du nur einzelne Account sperrst, kann der Hacker in der Zwischenzeit auf alle anderen Accounts losgehen. Also was willst du jetzt?

                  Kommentar


                  • #24
                    Original geschrieben von jmc
                    Bei dem Versuch alle anderen 9999 Accounts zu hacken werden diese auch alle für 10 Minuten gesperrt also was nützt dir das? Das heisst du hast nur 10 Versuche pro 10 Minuten pro Account.

                    Kommentar


                    • #25
                      Sind aber immer noch 100.000 Versuche pro 10 Minuten, was doch relativ viel ist (167 Versuche pro Sekunde). Damit sollte man innerhalb weniger Minuten einen Account treffen, der ein sehr einfaches Passwort verwendet.

                      Und wie ich bereits gesagt habe, ist der (IMHO) einzig wirksame Schutz erst gar keine einfachen Passwörter zuzulassen. Denn dann (habe ich auch schon gesagt) laufen die Wörterbuchangriffe ins Leere und es bleibt nur mehr die Brute-Force Methode, die aber sehr aufwändig und langwierig ist und die Erfolgsaussichten sehr gering sind.

                      Kommentar


                      • #26
                        Sind aber immer noch 100.000 Versuche pro 10 Minuten, was doch relativ viel ist (167 Versuche pro Sekunde). Damit sollte man innerhalb weniger Minuten einen Account treffen, der ein sehr einfaches Passwort verwendet.
                        Wie du vielleicht bemerkt hast, diskutiere ich hier auch gar nicht mit. Ich habe dich lediglich darauf aufmerksam gemacht, dass deine Aussage "Ein angegriffener Account sperrt alle" falsch war.

                        Und wie ich bereits gesagt habe, ist der (IMHO) einzig wirksame Schutz erst gar keine einfachen Passwörter zuzulassen. Denn dann (habe ich auch schon gesagt) laufen die Wörterbuchangriffe ins Leere und es bleibt nur mehr die Brute-Force Methode, die aber sehr aufwändig und langwierig ist und die Erfolgsaussichten sehr gering sind.
                        Du merkst es ja selber, in diesem Thread wird sich laufend wiederholt.

                        Kommentar


                        • #27
                          @h3ll

                          Ich kann dir ein Form mit den oben genannten Sicherheitsvorkehrungen erstellen, mit 10000 Accounts und jeweils ein Passwort von 6-8 Zeichen mit mindestens 1em Grossbuchstaben, 1em Kleinbuchstaben und 1er Zahl. Die Zeichen " _-.öäüÄÖÜ" sind ebenfalls erlaubt. Die Benutzernamen bestehen nur aus Gross und Kleinbuchstaben, 8-12 Zeichen.
                          Ich gehe meinetwegen sehr gerne die Wette ein, dass du das innerhalb eines Monates nicht schaffst.
                          Meinetwegen auch mit 100k statt 10k Accounts, aber dann wirds noch schwerer für dich werden, da dann evtl die gratisdatenbank, welche ich erstellen würde überfordert würde.
                          Deine 167 Versuche pro Sekunde bringen dir da gar nichts, denn du brauchst bei so vielen Accounts trotzdem bei einem Einzelnen Account die bestimmte Anzahl Versuche.
                          Mit meinen Angaben hast du auch schon mehr Vorgaben, als dass du es im Normalfall hast, also sollte es "noch einfacher" für dich sein.

                          Dass keine "einfachen Passwörter" benutzt werden sollen ist natürlich klar. Deswegen habe ich auch "ein "gutes" 6-stelliges Passwort" geschrieben. Das heisst z.B. 2 Zahlen, 2 Grossbuchstaben, 2 Kleinbuchstaben.

                          Kommentar


                          • #28
                            Bitte lies nochmal, was ich geschrieben habe. Ich hab bereits gesagt, dass "schwere" Passwörter ein guter Schutz sind.

                            Kommentar

                            Lädt...
                            X