it-swarm-eu.dev

Ich sende nur Benutzername und Passwort über https. Ist das ok?

Wenn sich ein Benutzer auf meiner Website anmeldet, sendet er mir seinen Benutzernamen und sein Passwort über https. Abgesehen von der SSL gibt es keine besondere Verschleierung des Passworts - es befindet sich im Speicher im Browser im Klartext.

Gibt es noch etwas, was ich tun sollte? Sollte ich es irgendwie gehasht halten, auch im RAM?

53
Riley Lark

Das ist in Ordnung. Sie müssen nichts anderes tun. Es ist nicht erforderlich, es im RAM zu hashen oder zu verschleiern.

Sie sollten darauf achten, das Kennwort auf der Serverseite entsprechend zu hashen, bevor Sie es in einem dauerhaften Speicher (z. B. in einer Datenbank) speichern, und Sie sollten darauf achten, die richtigen Methoden für das Kennwort-Hashing zu verwenden. Siehe z. B. Wie werden Passwörter sicher gehasht? , Welche Methode zum Hashing von Passwörtern sollte ich verwenden? , Sicherste Passwort-Hash-Algorithmen? , Empfehlen Sicherheitsexperten bcrypt zur Kennwortspeicherung? .

Wenn Sie Ihren Benutzern zusätzliche Sicherheit bieten möchten, können Sie folgende Schritte ausführen:

  • Verwenden Sie standortweites SSL/TLS. Jeder Versuch, Ihre Site über HTTP zu besuchen, sollte sofort zu HTTPS umgeleitet werden.

  • Aktivieren Sie HSTS auf Ihrer Site. Dadurch werden Browser angewiesen, nur über HTTPS eine Verbindung zu Ihnen herzustellen. Paypal benutzt es. Es wird in neueren Versionen von Firefox und Chrome unterstützt.

Ich sage nicht, dass Sie diese Dinge tun müssen (obwohl Site-weites SSL/TLS einen großen Unterschied macht). Dies sind jedoch einige Optionen, die dazu beitragen können, die Sicherheit gegen einige gängige Angriffsmethoden zu erhöhen.

43
D.W.

Eine weitere Möglichkeit besteht darin, Client-Zertifikate zu verwenden. Der Server kann sich nur dann selbst garantieren, dass kein MitM vorhanden ist, wenn er ein Client-Zertifikat benötigt. Andernfalls muss er dem Kunden vertrauen, um das Fehlen eines MitM ordnungsgemäß zu überprüfen. Dies ist mehr als viele Dienste, denen man vertrauen sollte.

6
Steve Dispensa