Hallo, bfuerchau.
Danke fürs Schauen und den Link.
Das wäre dann aber die IBSurgeon Ltd.
Ich hatte bei IBPhoenix angefragt. (Weil ich auf die Schnelle nicht erkennen konnte, ob IBSurgeon auch für Linux bereitstellt.) Aber auch IBPhoenix hat bei sich dort sinngemäß stehen: ... für Firebird 3.0 und höher ...
Wenn ich keine anderen Vorschläge erhalte, dann erstelle ich einen entsprechenden Symlink erstellen. Wird schon funktionieren ...
Viele Grüße
Gerd
Datenbank verschlüsseln / entschlüsseln FB 4.02 - Linux Mint v21.1 Cinnamon
Moderator: thorben.braun
Das ist nur zur Veranschaulichung für die kommenden Beiträge gedacht.
Man sieht hier die Strukturen von:
Firebird 3.0.10,
Firebird 4.0.2,
Firebird 5.0_Beta1 und
IBPhoenix Plug-in
Viele Grüße
Gerd
Man sieht hier die Strukturen von:
Firebird 3.0.10,
Firebird 4.0.2,
Firebird 5.0_Beta1 und
IBPhoenix Plug-in
Viele Grüße
Gerd
ISQL Version: LI-V5.0.1.1469
Linux Mint 22 Cinnamon 6.2.7
Linux Mint 22 Cinnamon 6.2.7
- martin.koeditz
- Beiträge: 474
- Registriert: Sa 31. Mär 2018, 14:35
Hallo Gerd,
ich freue mich schon auf deine Berichte. Laufen die FB-Instanzen bei dir parallel auf einer Maschine?
Gruß
Martin
ich freue mich schon auf deine Berichte. Laufen die FB-Instanzen bei dir parallel auf einer Maschine?
Gruß
Martin
Martin Köditz
it & synergy GmbH
it & synergy GmbH
martin.koeditz hat geschrieben: ↑Mo 19. Jun 2023, 08:30 Hallo Gerd,
... Laufen die FB-Instanzen bei dir parallel auf einer Maschine?
Gruß
Martin
Hallo Martin.
Das Bild "Strukturen_unmittelbar_nach_Entpacken.png" (s.o.) soll nicht zeigen, dass bei mir diese FB-Instanzen parallel auf einer Maschine laufen. Bei mir läuft 'nur' Firebird 4.0.2 unter Linux Mint v21.1 Cinnamon.
Dieses Bild soll zwei Sachen veranschaulichen und festhalten:
1. Es gibt Unterschiede im 'plugins'-Verzeichnis. Die sind so nicht dokumentiert, was das Testen wollen des Beispiels 'DbCrypt' in Fierebird 4 (und wohl auch in Firebird 5 Beta1) nicht leichter macht.
2. Es soll auch die Struktur des Plug-in IBP-DbCrypt (IBPhoenix) etwas visualisieren. Nur, damit man das mal sieht.
* * *
Zum aktuellen Stand der Dinge - für alle.
* * *
Von einem, der auszog, eine lokale Firebird 4 Datenbank zu verschlüsseln.
Die Dokumentation zum Plug-in IBP-DbCrypt ist aus meiner Sicht nicht gerade üppig. Die folgenden Quellen habe ich konsultiert:
:: Plug-in Seite von IBPhoenix
:: Plug-in Dateien
README.dbcrypt-ibphoenix.txt (23 Zeilen)
README.dbcrypt-services.txt (86 Zeilen)
KeyFile.conf (50 Zeilen)
firebird.conf.dbcrypt.in (6 Zeilen)
Callback.conf (5 Zeilen)
:: Firebird 4.0 Sprachreferenz
Bei meiner bisherigen Suche im Internet nach Informationen zum Plug-in IBP-DbCrypt wurde ich nicht wirklich fündig. Ich stoße da auf Suchergebnisse, die sich meist mit Plug-in-Meldungen beschäftigen. Zu diesen Meldungen komme ich aber unter "IV Baustellen".
I Plug-in
Handels-Name (vermutlich): IBP-DbCrypt
Bezugsort: IBPhoenix
Version: 1.2.5-2
Maschinen Architektur: x86_64
Plug-in-Auswahl für Betriebssystem: Linux 64 bit (hier: Linux Mint v21.1 Cinnamon, 64 bit)
Firebird - Version: 4.0 (hier: LI-V4.0.2.2816 Firebird 4.0)
Netzwerk: localhost
II Voraussetzungen und Vorgehen
Quelle: IBPhoenix
II/1 SSE2-Befehlssatz
Maschinen Architektur ermitteln mittels Befehlseingaben in das GNOME-Terminal:
Code: Alles auswählen
gerd@gerd-MS-7641:~$ uname -m
x86_64
Code: Alles auswählen
gerd@gerd-MS-7641:~$ lscpu
Architektur: x86_64
Der Aufruf des Dialogs "Systeminformation" (Programme-Menü - Einstellungen - Systeminformation) ist am einfachsten und bringt benötigte Zusatzinformationen.
model: AMD Athlon II X2 250
bits: 64
Flags: ht lm nx pae sse sse2 sse3 sse4a svm
Dies ist eine von mir stark gekürzte Darstellung der Ausgabe des Dialogs "Systeminformation".
Hier erfährt man, ob der Befehlssatz SSE2 unterstützt wird. Ja er wird.
II/2 libtommath-Bibliotheken müssen installiert sein.
1.2.0-6build3 ist die zurzeit aktuelle Version von libtommath1.
Über das Terminal kann man sich bei Bedarf detaillierte Informationen zum Paket libtommath1 anzeigen lassen, indem man dort eingibt:
Code: Alles auswählen
apt-cache show libtommath1
Nun, bekannt ist, dass Firebird während der Erstinstallation nach diesem Paket verlangt.
Falls es noch nicht installiert ist, lässt sich das mittels der folgenden Eingaben in das GNOME-Terminal ändern:
Code: Alles auswählen
sudo apt-get install libtommath1
Der Forum-Teilnehmer jhoehne hat seine Vorgehensweisen geschildert, die ich seinerzeit erfolgreich nachvollziehen konnte und die mir geholfen haben.
II/3 GLIBC_2.14+ erforderlich
Von der GNU-C-Bibliothek (GLIBC) liegt bereits die Version 2.37 vor. Ich gehe davon aus, dass sie Abwärskompatibel bis hin zur erforderlichen Version 2.14 ist. Meldungen, die GLIBC_2.14+ fordern, gab es bisher nicht.
Nur wer weis, was er tut, kann sich das Paket als gepacktes Archiv glibc-2.37.tar.xz (ca. 18 MB) von distrowatch herunterladen und installieren.
Im Folgenden eine Simulation - es wird nichts verändert:
Code: Alles auswählen
apt-get install -s libc6
...
libc6 ist schon die neueste Version (2.35-0ubuntu3.1).
...
III Aufgetretene Unklarheiten
Zur Veranschaulichung habe ich Vorgehensweisen und Meldungen unter 'IV Baustellen' mit jeweiligen Status erfasst.
:: Es steht geschrieben:
"Entpacken Sie die Verschlüsselungsbibliotheken und Konfigurationsdateien nach $(root_dir)/plugins"
Warum nur die Verschlüsselungsbibliotheken und Konfigurationsdateien? Welche genau wären das? Warum nicht auch die Plug-in-Verzeichnisse (z. B. bin oder include, ...)?
:: Warum wird im Plug-in im Verzeichnis "bin" das Firebird Tool "gbak" (840,6 kB) mitgeliefert?
Was passiert, wenn dieses Tool nach /opt/firebird/bin verbracht wird? Dort gibt es bekanntlich ein Tool mit dem gleichen Namen, nur ist es dort 2,5 MB groß und natürlich jünger, da Firebird 4.
:: Wie lautet denn nun der plugin_name, damit das DDL-Statement
Code: Alles auswählen
ALTER {DATABASE | SCHEMA} ENCRYPT WITH plugin_name [KEY key_name ]
Klar ist, benutzt man einen falschen 'plugin_name', erhält man Meldungen wegen fehlgeschlagener Aktualisierung der Metadaten.
IV Baustellen (Erledigt / Offen)
Erledigt
Plug-in Name für DDL-Statement
Nachdem ich offenbar den richtigen 'plugin_name' (AES128) herausgefunden hatte, kam diese Art Meldung nicht mehr:
IBP_DbCrypt (Falsch)
Code: Alles auswählen
SQL> ALTER DATABASE ENCRYPT WITH IBP_DbCrypt;
Statement failed, SQLSTATE = HY024
unsuccessful metadata update
-ALTER DATABASE failed
-Crypt plugin IBP_DBCRYPT failed to load
SQL>
Code: Alles auswählen
SQL> ALTER DATABASE ENCRYPT WITH libAES128.so;
Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, column 38
-.
SQL>
Erst ein DDL-Statement dieser Art bringt mich einen Schritt weiter, KEY wurde bewusst weggelassen:
AES128 (Richtig)
SQL> ALTER DATABASE ENCRYPT WITH AES128;
Statement failed, SQLSTATE = 08004
unsuccessful metadata update
-ALTER DATABASE failed
-Missing database encryption key for your attachment
-Plugin AES128:
-Crypt key is not set
SQL>
Offen
:: Meldung -Crypt key is not set
Obwohl ich einen Schlüssel MyKey.txt unter /opt/firebird/ angelegt und die KeyFile.conf mit KeyHolderPlugin = KeyFile bearbeitet habe. Hoffe, dass es nur eine Frage der Zeit ist.
Vorgehensweise:
Code: Alles auswählen
gerd@gerd-MS-7641:~$ isql
Use CONNECT or CREATE DATABASE to specify a database
SQL> CONNECT 'localhost:/home/gerd/Firebird/Datenbanken/adressen.fdb' USER 'sysdba' PASSWORD 'geheimes_passwort';
Database: 'localhost:/home/gerd/Firebird/Datenbanken/adressen.fdb', User: SYSDBA
SQL> ALTER DATABASE ENCRYPT WITH AES128 KEY KeyFile;
Statement failed, SQLSTATE = 08004
unsuccessful metadata update
-ALTER DATABASE failed
-Missing database encryption key for your attachment
-Plugin AES128:
-Crypt key is not set
SQL>
:: Eintrag firebird.log
"Value KeyFile configured for alias KeyHolderPlugin is not a fully qualified path name, ignored"
Deutsch: "Der für den Alias KeyHolderPlugin konfigurierte Wert KeyFile ist kein vollständig qualifizierter Pfadname und wird ignoriert."
Dieser Eintrag wird von Firebird seit dem Beginn der Nutzung des Plug-in geschrieben.
27.06.2023, 16:23 Uhr - Nachtrag:
Die "firebird.conf.dbcrypt.in" und die "KeyFile.conf" wurden jeweils durch ihre Originale ersetzt. Das erwartete Ergebnis trat ein. Der Eintrag in der "firebird.log" wird nun von Firebird nicht mehr vorgenommen.
Bis hier her erstmal.
Viele Grüße
Gerd
Zuletzt geändert von Gerd am Mi 28. Jun 2023, 10:57, insgesamt 1-mal geändert.
ISQL Version: LI-V5.0.1.1469
Linux Mint 22 Cinnamon 6.2.7
Linux Mint 22 Cinnamon 6.2.7
- martin.koeditz
- Beiträge: 474
- Registriert: Sa 31. Mär 2018, 14:35
Hallo Gerd,
vielen Dank für deinen (wieder mal) ausführlichen Beitrag. Bleibe gespannt, wie es ausgeht.
Gruß
Martin
vielen Dank für deinen (wieder mal) ausführlichen Beitrag. Bleibe gespannt, wie es ausgeht.
Gruß
Martin
Martin Köditz
it & synergy GmbH
it & synergy GmbH