Vorsicht vor Overkill, es ist kontraproduktiv. Wenn Ihr Anmeldesystem zu unpraktisch oder ärgerlich ist, werden Benutzer aktiv versuchen, es zu umgehen. "Benutzer" umfasst hier Anwendungsentwickler und Serveradministratoren.
Anmeldeformular ist SSL-gesichert
Dieses Formular ist das wichtigste, aber nicht "allein" ". Theoretisch sollte die gesamte Site mit SSL gesichert werden, nicht nur das Anmeldeformular. SSL bietet Vertraulichkeit in Bezug auf Lauscher. Wenn es jedoch zu einem Cookie kommt, das Sie anschließend löschen, um die Sitzung aufrechtzuerhalten, muss ein Lauscher nur dasselbe Cookie senden, um eine Sitzung zu entführen. Wenn nur das Anmeldeformular SSL-geschützt ist, erhalten Sie hier nur eine Kombination aus einer gründlichen Anti-Phishing-Schulung: Sie erziehen die Benutzer dazu, ihr Passwort nicht an Websites zu senden, die keine haben SSL aktiv, und daher benötigen Sie selbst eine SSL-Site. Aber das ist marginal.
Passwort wird vor der Übertragung in sha256 konvertiert (bcrypt ist für JS / Browser-Client noch zu langsam)
Dieses Passwort ist nutzlos. Dies bedeutet lediglich, dass das SHA-256-Ergebnis das Kennwort ist. Wenn es von einem Angreifer ergriffen werden kann, kann sich der Angreifer damit anmelden, ohne das "wahre" Passwort zu kennen.
Hash-Passwort wird mit einem privaten Schlüssel verschlüsselt, der in der App als CONSTANT gespeichert ist / file
Diese Funktion ist nur dann ein Sicherheitsgewinn, wenn der Angreifer die Hash-Passwörter erhalten kann, nicht jedoch die Anwendungsdateien selbst. Ob dies eine realistische Situation ist, ist umstritten. Auf der anderen Seite ärgert dieser konstante Schlüssel Administratoren, wenn die Anwendung aktualisiert werden soll, und kann zusätzliche Ausfallzeiten verursachen (es ist so leicht, ihn bei der Bereitstellung zu vergessen ...). Dies macht auch die Vertraulichkeit der Anwendungsdateien zu einem wichtigen Ziel, was eher ungewöhnlich ist.
wird beim ersten Anmeldefehler erneut erfasst
Dies ist eher ärgerlich als sicher.
Anmeldesystem pro Gerät. Wenn der Benutzer also 5 verschiedene Anmeldungen versucht und alle falsch sind, ist er aus. Es sind nicht 5 pro Login.
Blockieren Sie keine Konten, sondern fügen Sie nur Verzögerungen hinzu (z. B. eine Minute). Andernfalls kann jeder das Konto von jedem sperren, was ein Problem darstellt. Das Zählen von Versuchen pro Gerät ist gut, aber subtil und kann nach hinten losgehen: Es gibt einige Netzwerke (einschließlich ISP) mit massivem NAT oder Proxy, die aus Serversicht zu Tausenden von Anmeldeanforderungen aus derselben Quelle führen IP.
2-stufige Authentifizierung per SMS, E-Mail? oder AlterEgo - möglicherweise einmal pro Gerät + Standort und zur Verwendung, wenn Sie Ihr Kennwort ändern möchten
Wenn Sie sich von einem anderen Ort als dem Verlauf anmelden, senden Sie eine SMS / E-Mail an den Benutzer
SMS können Benutzer stören: Sie funktionieren nicht gut für internationale Benutzer, sie benötigen ein funktionsfähiges Mobiltelefon vor Ort und einige Personen zahlen eine Gebühr für die SMS, die sie erhalten (dies hängt vom Land und dem Mobilfunkanbieter ab). . E-Mail ist geringfügig besser (aber natürlich nicht , wenn die Anwendung, die Sie schützen möchten, eine Webmail ist ...).
haben die Option, das Anmeldegerät zu speichern + Ort in der Historie (dh verwenden Sie diese Option nicht, wenn Sie sich in einem Netcafe oder einem öffentlichen Netzwerk usw. befinden), sodass Sie immer nach Ihrem 2-stufigen
gefragt werden sinken. Ein Key Logger ist einfach zu unsichtbar. Sie können nicht viel dagegen tun.
Denken Sie also, ich werde übertrieben?
Ja. Noch wichtiger ist jedoch, dass Ihnen auch die wichtige Funktion fehlt, nämlich Site-weites SSL.