Wie Datenbank schützen vor "Raubkopie" ??

Forum für Fragen rund um die Installation, Konfiguration und Inbetriebnahme von Firebird.

Moderator: martin.koeditz

Antworten
Stepri
Beiträge: 3
Registriert: Mo 26. Sep 2022, 19:04

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
Groffy
Beiträge: 78
Registriert: Do 12. Apr 2018, 23:14

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
Benutzeravatar
martin.koeditz
Beiträge: 443
Registriert: Sa 31. Mär 2018, 14:35

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
Martin Köditz
it & synergy GmbH
bfuerchau
Beiträge: 485
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

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.
jhoehne
Beiträge: 39
Registriert: Di 11. Dez 2018, 09:19

Ab Firebird 3 kann man die ganze fdb Datei verschlüsseln.
--
Joachim
bfuerchau
Beiträge: 485
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

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?
k-d
Beiträge: 3
Registriert: So 11. Jun 2023, 11:28

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.
Firebird 2.5 Debian auf Synology NAS, Windows 10 Prof.
Delphi 6 - 10 Seattle, IBO 5.12.3
bfuerchau
Beiträge: 485
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

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.
k-d
Beiträge: 3
Registriert: So 11. Jun 2023, 11:28

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.
Firebird 2.5 Debian auf Synology NAS, Windows 10 Prof.
Delphi 6 - 10 Seattle, IBO 5.12.3
Antworten