Hallo Bernard,
ich programmiere gerade für eine Firma eine Seite, bei der man sich registrieren kann und dann auf den Server einige Objekte, in diesem Fall Bilder mit Beschreibungen und Daten, hochladen kann.
Das klappt auch alles schon sehr gut, aber im Moment ist es so das die Passwörter der Kunden noch unverschlüsselt in der Datenbank liegen.
Verhindere, dass die Datenbank kompromittiert wird - das Verschlüsseln der Passwörter kann natürlich ein Sicherheitsgewinn sein, sofern Passwörter und damit verbundene Daten getrennt sind (was anscheinend hier der Fall ist).
Passwort wird bei Anmeldung per Zufall generiert und dann in DB geschrieben und an den Kunden per mail gesendet.
Diese Möglichkeit würde ich dem benutzergewählten Passwort auch vorziehen.
Meine Frage ist:
1.) So kann der Administrator doch immer noch die Passwörter einsehen.
Klar ist mir das ich als Admin zwar eh Daten in der Datenbank ändern kann, z.B. hochgeladene Objekte,
Ja, eben?! Nicht die Passwörter, sondern die mit dem Benutzeraccount zusammenhängenden Daten (anscheinend die Bilder) sind privat. Und derjenige Administrator, die direkt die Datenbank und das angeschlossene Webanwendung wartet und programmiert, muss zwangsläufig Zugriff darauf haben. Dieser Person muss natürlich vertraut werden, dass sie verantwortungsvoll mit den Daten umgeht, das heißt die privaten Daten möglichst nicht liest beziehungsweise nicht mehr als bei akuten administrativen Eingriffen nötig.
aber man greift doch in ein Stück Privatsphere ein indem man die Passwörter sieht.
Klartextpasswörter sind das kleinere Problem, wenn es dir darum geht, die persönlichen Daten vor den Blicken der Admins zu schützen.
Sind bestimmt bei vielen Kunden nicht nur auf der Seite die Passwörter.
Was meinst du damit? Wenn sie automatisch vom System generiert werden, werden sie vom Benutzer vermutlich in der Regel nicht mehrfach eingesetzt. Natürlich darf der Entwickler und Systemadmin die Kundendaten nicht missbrauchen - wie gesagt.
Soll ich die Passwörter bevor sie in die DB geschrieben werden md5 verschlüsseln ?
Sofern du den Zugriff auf die Datenbank (welche vermutlich noch weitere heikle private Daten enthält) ausreichend reglementieren kannst, ist die Verschlüsselung der Passwörter selbst vernachlässigbar. Wenn du sie »hashen« willst, um »Angriffe« von *innen* abzuwehren, ist es unpassend, denn wer Zugriff auf die Datenbank hat, hat vermutlich auch direkten Zugriff auf die darüber nach außen gesicherten Benutzerdaten und braucht die Passwörter nicht einmal.
Mathias
ss:¬ zu:¬ ls:¬ fo:¬ de:¬ va:¬ ch:¬ sh:¬ n4:¬ rl:¬ br:¬ js:¬ ie:¬ fl:¬ mo:¬
Auflösung != Desktopgrösse != Browserfenstergrösse != Anzeigebereich. [psf 3.7]