none
Access 2000 Zugriffsschutz Backend geheim

    Frage

  • Hallo Expertenrunde!

    Vielleicht hat jemand eine Idee zu folgender Aufgabenstellung:

    Wir haben eine Access2000-Datenbank, die u.a. im wesentlichen aus zwei mdb-Dateien besteht:

    1. Die "Back-End". Hier sind die relevanten Tabellen drin.
    2. Die "Front-End". Hier ist der VBA-Code sowie alle Bildschirmformulare und Berichte, und die Backend per Tabellenverknüpfung (MSysObjects).

    Alle Mitarbeiter sollen die DB nutzen, dort aber nur ihre "eigenen" Daten sehen. "Fremde" Daten, also die von anderen Kollegen, dürfen nur von speziell berechtigten Mitarbeitern gelesen werden (Administratoren, Geschäftsführung). Die Daten sind streng geheim. Die Steuerung geschieht über die Benutzerkennung des eingeloggten Users.

    Um die Backend vor Zugriff zu schützen, haben wir folgende Konstruktion gewählt: das Dateiverzeichnis der Backend liegt innerhalb von einem "Sperr-Verzeichnis", auf das kein User Zugriffsrechte hat (auf einem zentralen Windows Server 2003). Dadurch können die User nicht mit dem Windows-Dateiexplorer an die Backend gelangen, weil sie ja nicht über das Sperrverzeichnis hinwegkommen. In der MSysObjects der Frontend stehen jedoch die kompletten Pfade drin, so dass die Frontend ihre Tabellen problemlos in der Backend findet. Für die Frontend stellt das Sperrverzeichnis also kein Hindernis dar.

    Natürlich ist die Frontend komplett Access-verbarrikadiert, also keine Shifttaste, kein DB-Fenster, kein VBA-Zugriff etc.

    Das funktioniert seit Jahren auch ganz prima. Die Sache hat nur einen Haken: wenn ein pfiffiger Benutzer auf die Idee kommt, die Frontend mit einem Hexa-Editor zu öffnen, sieht er die Pfade der Backends im Klartext. Und wenn er diesen dann auf einen Shell-Link legt, ist er an der Backend dran !!!

    Wie können wir uns davor schützen?

    Vielen Dank für Tipps

    Raimund Gryszik, Berlin

    Donnerstag, 6. Januar 2011 11:21

Antworten

  • Danke an alle !

    Der Hinweis auf den SQL-Server ist Wasser auf meine Mühle.

    Raimund

    • Als Antwort markiert IT-Designer Donnerstag, 6. Januar 2011 13:41
    Donnerstag, 6. Januar 2011 11:54

Alle Antworten

  • Hallo, Raimund,

    IT-Designer:

    Alle Mitarbeiter sollen die DB nutzen, dort aber nur ihre "eigenen" Daten sehen. "Fremde" Daten, also die von anderen Kollegen, dürfen nur von speziell berechtigten Mitarbeitern gelesen werden (Administratoren, Geschäftsführung). Die Daten sind streng geheim. Die Steuerung geschieht über die Benutzerkennung des eingeloggten Users.

    nutze einen SQL Server als Backend und gestatte Zugriffe nur über
    Views, die die Daten inhaltlich entsprechend filtern.

    Gruß - Mark

    Donnerstag, 6. Januar 2011 11:23
  • Hallo!

    IT-Designer schrieb:

    Die Daten sind streng geheim.

    [...]

    Das funktioniert seit Jahren auch ganz prima. Die Sache hat nur einen Haken: wenn ein pfiffiger Benutzer auf die Idee kommt, die Frontend mit einem Hexa-Editor zu öffnen, sieht er die Pfade der Backends im Klartext. Und wenn er diesen dann auf einen Shell-Link legt, ist er an der Backend dran !!!

    Wie können wir uns davor schützen?

    Meiner Ansicht nach ist ein Access-BE einfach nicht geeignet um
    "streng geheime" Daten zu speichern.
    Man kann zwar irrtümliche Zugriffe vermeiden - aber wenn jemand mit
    Absicht an die Daten will, bekommt er sie.
    (Auch der Shift-Schutz ist ja nur eine Irrtums-Absicherung, da er sich
    von außen deaktivieren lässt.)

    Wenn du verhindern kannst, dass sich ein User die BE-Datei auf einen
    USB-Stick kopiert oder per Email irgendwo hinschickt, wo er den Schutz
    in aller Ruhe knacken kann, könntest du die Tabellen zumindest so
    absichern, dass sie ein "normaler" User nicht öffnen kann.
    Den Zugriff auf die Daten für die User könntest du dann über eine
    Abfrage mit der Einstellung "WITH OWNERACCESS OPTION" durchführen.

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Donnerstag, 6. Januar 2011 11:36
  • Danke an alle !

    Der Hinweis auf den SQL-Server ist Wasser auf meine Mühle.

    Raimund

    • Als Antwort markiert IT-Designer Donnerstag, 6. Januar 2011 13:41
    Donnerstag, 6. Januar 2011 11:54