Autor Beitrag
pingi007
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Di 22.02.05 15:26 
Hallo!

Ich habe ein etwas kniffliges Problem. Ich muss eine Delphiappliaktion welche mit dem Firebirdserver arbeitet weitergeben.

Die Datenbankdatei (*.gdb bzw. *.fdb) welche mit weitergegeben wird soll unter keinen Umständen von dem Kunden von Hand geöffnet werden können. Das heißt nimmt der Anwender meine
GDB-datei und kopiert er diese auf eine Maschine mit Interbase oder Firebird wird
die Datenbank mit den bekannten SYSDBA und masterkey zu öffnen sein.

!! DAS MUSS ICH VERHINDERN KÖNNEN!!


Meine Frage: wie kann man eine GDB so weitergeben, daß nur meine Applikation selbst
volle Zugriffsberechtigung hat?


Für Tipps und Tricks wäre ich sehr dankbar!

Euer Pingi007
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Di 22.02.05 20:50 
Das Passwort des SYSDBA ist IMHO Datenbankabhängig, d.h. wenn Du das änderst, sollten die Anwender nicht so ohne weiteres auf die Datenbank zugreifen können.
pingi007 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Di 22.02.05 21:46 
UGrohne hat folgendes geschrieben:
Das Passwort des SYSDBA ist IMHO Datenbankabhängig, d.h. wenn Du das änderst, sollten die Anwender nicht so ohne weiteres auf die Datenbank zugreifen können.


Hallo ... und danke für die Antwort.

aber leider verhält es es - nach ein paar Versuchen - wie folgt:

Ich habe die Datenbank XXXX.gdb auf meinem Entwicklungsrechner als User SYSDBA mit einem Kennwort yyyyyyy in Benutzung. Meine Anwendung greift mit diesen Angaben sauber darauf zu.

Ich kopiere die Datenbank, kopiere dies auf einen neu installierten rechner und setze diese auf einen frisch installierten Firebirdserver auf.

Jetzt melde ich mich an der Datenbank (z. B. EMS) an. Dazu verwende ich die allgemeinen Zugangsdaten: SYSDBA und masterkey .

Und es klappt! Und genau das ist es was ich nicht brauchen kann. Denn damit kann diese Datenbank von jedem
ADMIN gelesen werden.

Jetzt hab mal im Internet ein bisschen herumgestöbert. Und da liest man eigentlich nur daß ein Datenbank
zwar Usern zugewiesen werden kann. Jedoch dem SYSDBA kann man die Zugriffsrechte nicht entziehen! Die
Zugansgdaten werden zusätzlich in der Datei security.dbf gehalten.


Vielleicht fällt euch dazu was ein... :roll:
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Di 22.02.05 21:54 
OK, dann bin ich auch um eine Erfahrung reicher *g*

Der einzige Weg, der mir dann einfallen würde, wäre eine Verschlüsselung. Dabei kommt es eben darauf an, wie groß die Datei ist. Sollten es nur ein paar 100kB sein, ist das kein großes Problem, ab ein paar MB wird das dann aber zu einem Geduldspiel beim Starten. Außerdem hast Du dann immer noch das Problem, dass die DB auch noch während das Programm läuft kopiert werden könnte.

Also wäre die einzige Möglichkeit, den Inhalt (am besten nur den Wichtigen Teil davon) in der Datenbank zu verschlüsseln.
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Mi 23.02.05 11:55 
Hi,

Du hast richtig vermutet: Sobald jemand die User-Datenbank austauscht kann er ohne Probleme auf die Datenbank zugreifen. hat Vor- und Nachteile: Der Entwickler möchte u.u. die entwickelten Stored Proceudres schützen, der Anwender möchte u.u. auch ohne den Entwickler zu fragen auf die Daten zugreifen können um z.B. die Daten auszulesen und in einem anderen System zu importieren.

Hier www.volny.cz/iprenosil/interbase/ findest Du nen Artikel wie Du die Sicherheit der Interbase-User Datenbank erhöhen kannst. Die Tipps sollten aber grundsätzlich auf die FB-Security.dll anwendbar sein. Das Problem, dass der intelligente User die security.dll austauschen kann wirst Du aber nicht beheben können.

Grüße
Lemmy
pingi007 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 23.02.05 18:44 
Lemmy hat folgendes geschrieben:
Hi,

Du hast richtig vermutet: Sobald jemand die User-Datenbank austauscht kann er ohne Probleme auf die Datenbank zugreifen. hat Vor- und Nachteile: Der Entwickler möchte u.u. die entwickelten Stored Proceudres schützen, der Anwender möchte u.u. auch ohne den Entwickler zu fragen auf die Daten zugreifen können um z.B. die Daten auszulesen und in einem anderen System zu importieren.

Hier www.volny.cz/iprenosil/interbase/ findest Du nen Artikel wie Du die Sicherheit der Interbase-User Datenbank erhöhen kannst. Die Tipps sollten aber grundsätzlich auf die FB-Security.dll anwendbar sein. Das Problem, dass der intelligente User die security.dll austauschen kann wirst Du aber nicht beheben können.

Grüße
Lemmy


Zunächst vielen Dank für die nicht besonders gute Nachricht.
Den Link gehe ich mal komplett durch. Vielleicht kann man ja etwas davon
ableiten.

Grüße Pingi007
:wink: