PDA

Vollständige Version anzeigen : Datenbank-Kennwörter schützen


ralf1
26.10.2011, 19:15
Ich möchte meine Backend-Datei mit Kennwort schützen. Im Frontend sind zu den Verknüpfungen die Kennwörter abgelegt.

Ich habe jetzt gesehen, dass es relativ einfach ist, per VBA die Tabelleneigenschaften der Frontend-DB auszulesen. Hier ist zu jeder verknüpften Tabelle auch das Kennwort im Klartext für alle sichtbar gespeichert.

Wie kann ich denn verhindern, dass jemand eine eigene Access-DB erstellt und einfach aus meinem Frontend das Kennwort für das Backend rausholt?

kama
26.10.2011, 19:48
ch möchte meine Backend-Datei mit Kennwort schützen.
Wovor?
Wenn das Backend im Netz auf einem Server liegt, sollte der Zugriff über die Zugriffsrechte geregelt werden.
Ansonsten ist Access kein guter Platz für Daten die geschützt werden sollen.

ralf1
27.10.2011, 10:12
Es gibt für mich mehrere Gründe. Einerseits möchte ich die DB auch vor denen schützen, die eh zugreifen könnten und dieses auch wirklich nur über das Frontend machen sollen.
Ich möchte aber für das Backend offen sein. Wer mit der DB arbeitet, soll entscheiden wo er das Backend hinlegt. Nicht alle haben die Schutzmechanismen eines Servers. Ich möchte mich auch nicht auf einen SQL-Server festlegen.
Aber mein Problem ist eher das Frontend. Ich habe den Eindruck, dass man sich darüber Informationen verschaffen kann, die nicht zugänglich sein sollten. Und deshalb die Frage, was man tun kann, um den Zugriff auf die Tabellen-Einstellungen (wo ich z. B. das Kennwort im Klartext sehen konnte) zu verhindern und ob man es überhaupt verhindern kann.

CptChaos
27.10.2011, 10:19
Wie kama schon gesagt hat, für wirklich kritische oder sicherheitsrelevante Daten ist Access nicht das geeignete Medium.

DonKarl hat das Thema in seiner FAQ behandelt: http://www.donkarl.com?FAQ1.17

Letztlich kann man alles nur erschweren, wirklich verhindern wirst Du es nicht können.

Lanz Rudolf
27.10.2011, 16:14
Hallo
etwas was ich nicht ganz verstehe:
Wer mit der DB arbeitet, soll entscheiden wo er das Backend hinlegt.
für mich gehört die BE-DB(MDB) auf de Server
wenn dem nicht so ist dann vergibst Du Doch einen teil des Vorteils der FE/BE
Lösung (nämmlich das alle mit den Gleichen Daten arbeiten)
Das FE ist bei mir immer eine MDE! lockal (das hat viele gründe) und wird immer mit der Option /Runtime geöfnet ! (das Ganze MDE / Runtime hat auch andere Vorteile (Z.B. Performance)
so kommte der User nie auf die Tabellen (Abfrage) oder Programmier ebene. sollte das BE doch ausnamsweise verschoben werden hilft mir die Lösung Autolink (von HansChristian) die ich in alle FE einbaue.
Wenn das FE nicht als Runtime geöffnet wird Schliest es sich beim öffnen wider automatisch.

Louisleon
27.10.2011, 22:40
Wenn es Dir um die unverschlüsselten Passwörter in der Tabelle geht, die kannst Du z.B. mit MD5-Hash verschlüsseln.

Zum Rest schließe ich mich den Vorrednern an. Zugriffe auf Tabellen kann man bei Access so nicht unterbinden. Höchstens die Tabellen selbst verschlüsseln. Aber ob Du das wirklich willst (Performance!)?!

Ich hab mal eine kleine Beispiel-DB (http://www.ms-office-forum.de/forum/showpost.php?p=1247909&postcount=18)hier im Forum erstellt.

Und hier noch ein anregender Thread (http://www.ms-office-forum.net/forum/showthread.php?p=1309125#post1309125) zur Thematik!:)
Gruß

LL

ralf1
28.10.2011, 09:21
Erst einmal danke für Eure Hinweise.
Das mit der ACCDE habe ich ausprobiert. Hinsichtlich der Zugriffsschutzes auf Tabellen in der ACCDE gibt es aber keine Veränderungen. Die sind da genauso ungeschützt wie bei einer ACCDB.
Dass die Sicherheitshürden bei einer Access-Anwendung nicht allzu hoch sind, hatte ich schon gesehen. Aber es werden wirklich nur unbedarfte Anwender geblockt.
Wichtig ist m. E. nur, Access und seine Grenzen zu kennen und dann evtl. ganz bewusst Risiken einzugehen (oder eben nicht).
Nochmals danke für Eure Tips.