Datenbanksicherheit auf Client PC's

Hallo zusammen

ich bin auf der Suche nach einem Datenbanksystem bei welchem es möglich ist die Datenbank auf den Rechner (Windows) auf welchem alle Benutzer zugriff haben zu installieren und trotzdem die Sicherheit erreichen kann dass die Benutzer die Datenbankstruktur weder ansehen noch kopieren können. Die Zugangsdaten zur DB sind auf einem USB Stick verschlüsselt abgelegt sodass der Benutzer keine Login Daten für die DB bekommt. Die gängigen Systeme machen die Sicherheit auf der Schnittstelle was aber in diesem Fall nicht ausreicht da die Datenbank nicht in einem geschützten Bereich ist. Soweit ich informiert bin ist es mit der Interbase DB möglich, jedoch möchte ich dies wenn möglich mit einer openSource DB abdecken.


Kann das PostgreSql auch? Wenn ja gibts vielleicht irgendwo ein application note oder Beispiele.


danke für eure Mühe


Gruss Norbert

Ich weiss nicht, wie Interbase das macht, aber bei PostgreSQL wäre mir kein Weg bekannt, wie der Admin nicht die Struktur (bzw. die Dateien) einsehen kann.

So ganz klar ist mir nicht, was Du willst. Der DB-Server läuft auf einem Server und die Clients übers Netz?

Was geht: Du kannst den Netztraffic verschlüsseln, Du kannst Rechte auf Tabellen vergeben etc. Was nicht geht: Du kannst das Schema der DB, also welche Tabellen etc. da sind, nicht verstecken.


Andreas

Ich bin mir nicht ganz sicher ob mein Anliegen richtig hinübergekommen ist. Es soll nicht so sein dass der Admin der Datenbank kein zugriff auf die Struktur hat, sondern dass der “normale” Pc Benutzer nicht durch irgendwelche tricks sich zugriff auf die Datenbank verschaffen kann. Dies ist ja z.b. bei Mysql sehr einfach da ich nur das DB File in ein anderes System mit Admin zugriff kopieren muss. Die Situation ist so dass die Datenbank direkt auf dem Client PC läuft da es sich hier um ein verteiltes System handelt welches viel Daten produziert welche später Synchronisiert werden können.

Danke für die infos.

Dazu brauchst Du Zugriff auf den Rechner, übers Netz geht das nicht. das gilt so wohl für alle DB-Systeme. Wenn Du aber physischen Zugang hast, kannst Du auch die Platte ausbauen und jedes Bit einzeln abhobeln. So what?

Andreas

Ok Danke. Das heisst also dass es mit postgreSQL nicht geht wenn ich physikalischen Zugriff auf die Platte habe. Dann werde ich wohl auf Interbase gehen müssen. Die haben eben die möglichkeit dass die Benutzer / zugriffsrechte direkt im jeweiligen Datenbankfile auf der Platte abgelegt werden. D.h. dann dass auch wenn jemand die ganze DB kopiert kann er nicht auf die Daten / Struktur zugreifen ohne die entsprechenden userdaten. Das mit den Bits abhobeln sehe ich da nicht als grosses Problem, da dies ja noch immer nicht die Struktur so wirklich zeigt und auch nicht viele User über dieses Knowhow verfügen.

Ich danke euch für eure schnellen Antworten

Gruss Norbert

MySQL und PostgreSQL unterscheiden sich da nicht.
Du kannst auch PostgreSQL über das Netzwerk ansprechen.


Die Situation ist so dass die Datenbank direkt auf dem Client PC läuft

Also hast du mit MySQL auch dieses Problem, oder?


Hast du jetzt konkret Angst das jeder Benutzer des Client PC auf die Daten zugreifen kann oder hast du Angst das der Admin des Client PC da drauf kommt?

ja genau das ist der Punkt!


Hast du jetzt konkret Angst das jeder Benutzer des Client PC auf die Daten zugreifen kann oder hast du Angst das der Admin des Client PC da drauf kommt?

Bei Mysql ist das so dass jeder zugriff hat. Es soll aber auch der Admin des Client PC’s kein zugriff haben sondern nur wirklich der Datenbankbenutzer / Datenbankadmin. Hierin liegt die Schwierigkeit. Der Kunde kennt die Datenbank Benutzerdaten NICHT! sodass er so nicht direkt auf die Datenbank kommt.

gruss Norbert

Das kannst du nur durch eine physikalische Trennung erreichen. Der Kunde darf keinen Zugriff auf die Datenbank und den Datenbankserver haben.

Alles andere ist auf die ein oder andere Weise knackbar.

Der Admin des Client-PCs ist in dem Falle genauso machtlos wie jeder andere Dödel am Client-PC.

Andreas