Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#16

AW: Datenbank-Passwörter speichern

  Alt 5. Aug 2015, 07:21
Am sichersten wäre es wohl, wenn jene, die die Paßwörter für die EierlegendeWollmillsausoftware (ELWMS) vergeben, diese irgendwo sicher aufbewahrten, zum Beispiel in einer gut geschützten Paßwort-Datenbank, zu der nur dieser kleine erlauchte Kreis selbst Zugang hat, oder in einer schriftlichen Liste im Safe. Irgendwo notieren muß man sich diese Passwörter, wenn es sich nicht um leicht zu merkende Zeichenketten handeln soll.

Im eigentlichen ELWMS bzw. der dazugehörigen Datenbank werden letztlich nur Hash-Strings abgespeichert, die aus Passwort und Benutzername erzeugt werden. Gibt der Anwender dann Benutzername und Paßwort richtig ein, wird daraus wieder derselbe Hash berechnet und in der Tabelle gesucht, ob er dort existiert. Neue Benutzer können dann natürlich nur von diesen wenigen Berechtigten angelegt werden. Hash-Strings können nicht zurückgerechnet werden, so daß aus dem Hash-Wert niemand die einzugebenden Zeichenketten ermitteln kann. Der Hash-Wert selbst nützt dem potentiellen Datendieb auch nichts, denn er muß ja Benutzername und Passwort eingeben, um die Funktionalität des Programms nutzen zu können.
Es geht nicht so um die Passwörter der Benutzer, die das Programm nutzen wollen. Da wird die Authentifizierung über den Domäne-Benutzer gesteuert, d.h. er muss sich am Programm genauso anmelden, wie an der Domäne.
Es geht eher darum, dass das Programm intern "wissen" muss, wie es an die verschiedenen Datenbanken dran kommt, und wie/wo man diese Info sicher speichert. Da wäre aber die Idee deiner Passwort-Datenbank (im Gegensatz z.B. zu einer Ini-Datei) eine Alternative.

Selbstverständlich solllte der direkte Zugriff auf die Datenbank, z.B. via Datenbank-Manager (IbExpert, SQL Server Manager usw.) ebenfalls gut gesichert sein. Wie das bei den einzelnen DBMS gelöst ist, muß du allerdings selber ermitteln. Firebird z.B. erlaubt keinen echten Schutz der Datenbank-Datei vor fremden Zugriffen, denn jeder, der sich dieser Datei bemächtigen kann, ist in der Lage, diese auf einem eigenen Firebirdserver zu öffnen. Werden ihm Rechte bei der Änderung von Datensätzen und/oder DB-Strukturen verwehrt, kann er das einfach umgehen, indem er ein Backup (fbk) dieser DB-Datei erzeugt und mit selbigem via Restore und eigener Benutzer- und Passwort-Kombination wieder ein FDB-Datei erzeugt, die danach aller Beschränkungen beraubt ist.
Die betroffenen Datenbanken (meist Oracle) liegen auf diversen Servern, die afaik abgesichert sind, d.h. da kommt ausser den Admins keiner dran (an das "System" der Datenbank mein ich damit).
Ralph
  Mit Zitat antworten Zitat