PDA

Vollständige Version anzeigen : Tabellen vor indirektem Zugriff schützen


tschroeder
12.10.2011, 07:52
Hallo,

ich möchte fragen, wie man eine Access-Anwendung - genauer: die Tabellen - vor unberechtigtem Zugriff schützt.

Die Ist-Situation bei mir:

- Meine Anwendung besteht aus zwei Access-Dateien:

> einem Frontend
(mit Abfragen, Formularen, Berichten, Makros und Code-Modulen)

> einem Backend (Tabellen)

Gibt es eine Möglichkeit, die einzelnen Elemente vor indirektem Zugriff/Kopieren (damit meine ich: über den Import- und Verknüpfungsassistenten) zu schützen?

Gruß

Thomas

fhentzsc
12.10.2011, 08:23
meinst du jetzt die Daten auf dem Backend?

Gruß

Frank

CptChaos
12.10.2011, 09:13
Da verweise ich doch vertrauensvoll auf DonKarl 1.17 (http://www.donkarl.com?FAQ1.17)

tschroeder
12.10.2011, 13:15
Hallo Frank, Hallo Benny, :)

DonKarl 1.17 (http://www.donkarl.com/?FAQ1.17) bringt mich nicht wirklich weiter. Den Code und den Entwurf meiner Formulare schütze ich durch das Erstellen einer MDE. Alles klar, das weiß ich schon.

Es geht um das Backend, die Tabellen. Es gibt doch in Access diesen Assistenten zum Importieren und Verknüpfen von externen Tabellen. Der macht mir Angst.

Der Sachverhalt sieht so aus: Mein Frontend schütze ich per selbst programmiertem Login (mit VBA hartcodiert). Wunderschönes Teilprogramm. Die Formulare, Berichte und der Code etc. sind bei der MDE kompiliert. Alles prima. Daher mache ich mir um das Frontend keine Sorgen.

Mir macht der Import-/Verknüpfungs-Assistent Sorgen. Damit kann ich indirekt auf jede MDB/MDE zugreifen und mir alles raussaugen. Vor allem die Tabellen. Und in einer davon stehen die Passwörter drin.

Was mache ich nun? Meiner Projektleiterin sagen, dass die Sicherheitsfeatures von Access totaler Müll sind?

Könnte ich die Passwörter in meiner User-Tabelle verschlüsseln? Wäre das ein Anfang? Dann könnte man zwar von außen über den Assistenten die User-Tabelle "raussaugen", aber die verschlüsselten Passwörter würden dem Einbrecher nichts nützen. Er könnte aber die Tabellen verknüpfen und Änderungen in den Tabellen vornehmen, alles löschen ... so ein Murks, so ein verdammter ... :boah:

Was ist mit dem sog. "Access-Datenbankpasswort"? Taugt dieses Feature etwas? Gilt das Access-Datenbankpasswort wirklich nur für die aktuelle MDB/MDE? Und wie sicher ist es? Könnte ich damit den Import-/Verknüpfungsassistenten "aussperren" und den indirekten Zugriff auf meine Tabellen verhindern?

Gruß

Thomas

Atrus2711
12.10.2011, 14:11
Vor allem die Tabellen. Und in einer davon stehen die Passwörter drin.
Uncodiert?! :upps:

Meiner Projektleiterin sagen, dass die Sicherheitsfeatures von Access totaler Müll sind?
Sie sind jedenfalls ziemlicher Müll. Access ist kein Hochsicherheitssystem. Auch Datenbankpasswort, Verschlüsselung und Sicherheitssystem retten dich da nicht. In Access kommst du mit recht wenig Aufwand immer an die Tabellen heran. Access ist ein Vorhängeschloss - nett gegen Neugierige, aber kein Gegner für ernsthafte Schädiger. Angesichts des Preises aber auch kein Wunder. Ein Safe ist auch teurer als ein Vorhängeschloss.

Wenn du halbwegs sichere Schutzsysteme brauchst, lager die Daten auf ein echtes DBMS aus. Das Frontend kann i.d.R. Access bleiben.

CptChaos
12.10.2011, 15:39
Ich schließe mich Martin/Atrus an.
Wenn Du eine "Sicherheit" für die Daten haben willst/mußt, ist Access nicht bzw. nur sehr bedingt geeignet.

Thomas Möller
12.10.2011, 17:03
Hallo!

Könnte ich die Passwörter in meiner User-Tabelle verschlüsseln? Wäre das ein Anfang?

solange bis Du mit Deiner Lösung auf einen Datenbank-Server umgezogen bist, solltest Du die Passwörter auf jeden Fall verschlüsselt speichern. Aus dem Passwort generierst Du nach der Eingabe einen MD5-Hash. Diesen verglichst Du mit dem in der Tabelle gespeicherten MD5-Hash.

Diese Arbeit ist in keinem Fall überflüssig. Auch wenn Du später mit den Tabellen auf einen Datenbank-Server wechselst, solltest Du die Passwörter niemals im Klartext abspeichern. Der DB-Admin hätte sonst Zugriff darauf.

CU

Atrus2711
13.10.2011, 09:30
Hi,

und bei Nutzung des MSSQL-Servers wäre sogar die Ablage des Kennworts überflüssig, wenn man den zugriff auf den MSSQL-Server per Windows-Authentifizierung regelt. Die erfoglreiche Anmeldung an Windows wird dann an den Server durchgereicht. Dieses Single Sign On erleichtert die Handhabe und verbessert nebenbei die Sicherheit.