Seite 1 von 1

Wie Datenbank schützen vor "Raubkopie" ??

Verfasst: Di 27. Sep 2022, 11:31
von Stepri
Hallo!

Ich wollte fragen ob und wie es eigentlich möglich ist meine Datenbank, also die ".fdb"-Datei davor zu schützen, dass jemand andere diese einfach kopiert und für seine eigenen Programme nutzt?

Theoretisch kann ja jeder die .fdb Datei kopieren und über SYSDBA die Datenbank beliebig editieren und für seine Zwecke dann nutzen?

LG

Re: Wie Datenbank schützen vor "Raubkopie" ??

Verfasst: Di 27. Sep 2022, 12:12
von Groffy
Hallo Stepri,

wer auch immer physikalisch Zugriff auf die Datenbankdatei hat, kann sie auch kopieren. In einem Netzwerk sollte deshalb der Zugriff über einen Datenbank Alias eingerichtet werden, welcher keinerlei Informationen über den Speicherort der Datenbankdatei liefert. Der Zugriff auf den Inhalt der Datenbank sollte mit entsprechenden Passwörtern gesichert werden, hier vor allem das Vorgabe Administrator Passwort "masterkey" ändern! Deine Befürchtung jemand könnte die Datenbank für andere Anwendungen "missbrauchen" halte ich für unbegründet, Datenbanken sind in der Regel speziell für eine Anwendung entworfen worden, und sind nicht universell für andere Anwendungen geeignet.

Gruß Ulrich

Re: Wie Datenbank schützen vor "Raubkopie" ??

Verfasst: Di 27. Sep 2022, 16:04
von martin.koeditz
Was man jedoch nicht außer Acht lassen sollte, sind die "Schnüffler". Unter Umständen sind die enthaltenen Daten sehr sensibel. In diesem Falle könnte man mal über Verschlüsselung nachdenken. Der Overhead soll ja relativ gering sein.

Gruß
Martin

Re: Wie Datenbank schützen vor "Raubkopie" ??

Verfasst: Di 27. Sep 2022, 18:51
von bfuerchau
Ja, den Schutz erhält man mittels Verschlüsselung relevanter Daten.
Allerdings gestaltet sich die SQL-Abfrage da etwas schwierig, da Vergleiche außer "equal" oder "unequal" eher nicht zielführend sind. Verschlüsselte Daten lassen sich schlecht durchsuchen.
Denn grob gesagt kann eine Abfrage <Feld between "A" and "B" > in <Feld between "X" and "M" > übersetzt werden.
Und das Design einer DB macht auch kein Problem, die Daten zu extrahieren und anderweitig zu verwenden.
SQL-Server und andere DB's haben alle das selbe Problem mit dem Datenbank-Klau und daher ist eine Absicherung des Zugangs zur physischen DB immer ratsam.
Denn jede DB kann beim Zugriff auf einer Kopie mit den höchsten Rechten arbeiten.

Re: Wie Datenbank schützen vor "Raubkopie" ??

Verfasst: Mi 30. Nov 2022, 18:03
von jhoehne
Ab Firebird 3 kann man die ganze fdb Datei verschlüsseln.

Re: Wie Datenbank schützen vor "Raubkopie" ??

Verfasst: Do 1. Dez 2022, 10:35
von bfuerchau
Wie bereits beschrieben kann man dies tun. EIne EU-Richtlinie bzgl. des DSGVO sdhreibt dies i.W. auch vor was persönliche Daten angeht.
Abfragetechnisch ist das halt ein Problem.

Den größten Datenklau gibt es aber über nicht ausreichend geschützte Anwendungen oder inzwischen auch erlaubte Zugriffe per kostenlosem Power BI.

Bei der letzten Entnahme von mehreren Milliarden Whatsapp-Kontakten wurde ja uch nicht die DB geklaut sondern ein ungesicherter Zugriff verwendet.
Wie so häufig:
- Zusammengstoppelte SQL's statt Parameterabfragen, die durch SQL-Injection angreifbar sind.
- SQL's, die im Web-Client im Klartext zu lesen und somit angreifbar sind.

Und was den Alias-Schutz angeht, so ist der letztlich auch egal.
Denn wer immer als Admin an den Server kommt, kann auch die DB klauen.
Der Pfad zur DB gehört für Public (Jeder) exkludiert. Nur der FB-Server kann somit über sein Profil zugreifen.

Ürigens:
Was nützt der Beste Schutz der DB, wenn die (externe) Sicherung entwendet wird?

Re: Wie Datenbank schützen vor "Raubkopie" ??

Verfasst: So 11. Jun 2023, 11:59
von k-d
Das Ändern von 'masterkey' oder das Aussperren von SYSDBA bringt übrigens nichts. Wenn jemand die DB klaut, kann er ja einfach eine frische Systemdatenbank nehmen. Alle Nutzer befinden sich ja in dieser DB.

Gruß

K.-D.

Re: Wie Datenbank schützen vor "Raubkopie" ??

Verfasst: So 11. Jun 2023, 13:19
von bfuerchau
Ab 3.0 ist die Security besser geworden:
https://firebirdsql.org/file/documentat ... urity.html

Wichtig ist, dass der User SYSDBA/masterkey bei der Erstellung der DB entfernt werden kann. Man kann sich somit auch einen anderern Superuser einrichten.
Nach der o.a. Beschreibung nehme ich mal an, dass die Berechtigungen nicht mehr ausschließlich in der Security.fdb sondern auch in der Datenbank selber liegt.
Somit könnte die DB auch ohne Verschlüsselung sicher gegen Diebstahl sein.
Immerhin sind ja die Datenzeilen wiederum komprimiert, so dass ein direktes binäres Auslesen unmöglich erscheint.

Da nun aber die komplette Software online geladen und selber modifiziert werden kann, kann ich mir auch wieder eine Version erzeugen, die alle rollenbasierten Prüfungen einfach ignoriert.

Um Daten zu schützen muss man den Zugang eben so dicht wie möglich gestalten. Auch eine Verschlüsselung der Übertragung (gerade auch Intranet) sollte immer verwendet werden.

Aber was nützt es, wenn dann die jeweiligen Anwendungen den Excel-Export integeriert haben? Dagegen hilft dann auch keinerlei Security.

Re: Wie Datenbank schützen vor "Raubkopie" ??

Verfasst: So 11. Jun 2023, 14:49
von k-d
Eigentlich möchte ich bei 2.5 bleiben. Ich habe nur lokale Anwendungen laufen. Die Datenbanken sind irgendwo im Linuxgewusel. Es gibt auch keine Freigabe für Port 3050. Wenn ich von außerhalb zugreifen möchte, mache ich das mit Teamviewer, ggf. auch mal mit Laptop via VPN. Da sehe ich jetzt nicht unbedingt die Erfordernis zu verschlüsseln. Bei diesen Zugriffen ist die Übertragung ja eh verschlüsselt.