Obwohl PostgreSQL keine integrierten Verschlüsselungsoptionen bietet, können Sie die Datenverschlüsselung im Ruhezustand mithilfe der Verschlüsselungsmethoden von Drittanbietern einrichten. Das heutige Tutorial konzentriert sich auf die Verwendung der TDE-Methode (Transparent Data Encryption), um die Verschlüsselung auf Dateisystemebene zu ermöglichen.
So richten Sie die Datenverschlüsselung im Ruhezustand in PostgreSQL ein
Beim Festlegen der Datenverschlüsselung im Ruhezustand in PostgreSQL besteht das Ziel darin, die Daten im Dateisystem unlesbar zu machen, indem ein Entschlüsselungsschlüssel erforderlich ist. Auf diese Weise wird ein unbefugter Zugriff ausgeschlossen.
Wenn PostgreSQL auf Ihrem Server ausgeführt wird, können Sie die Verschlüsselung auf Dateisystemebene mit Tools von Drittanbietern wie dem Linux Unified Key Setup (LUKS) einrichten. Bei uns finden Sie die passende Lösung für Ihr System. Hier arbeiten wir mit Ubuntu und richten die Datenverschlüsselung mit den folgenden Schritten ein.
Schritt 1: Installieren Sie das Filesystem Encryption Tool
Nachdem Sie die Verschlüsselungsmethode ausgewählt haben, müssen Sie die erforderlichen Tools installieren. Wir wählen die Verschlüsselungsmethode auf Dateisystemebene und installieren LUKS. Um LUKS zu installieren, installieren Sie das Cryptsetup wie folgt:
Sudo apt-get installieren cryptsetup
Drücken Sie „y“, um die Installation fortzusetzen und sicherzustellen, dass alles wie erwartet installiert wird.
Schritt 2: Richten Sie einen verschlüsselten Container ein
Da wir die Verschlüsselung auf Dateisystemebene einrichten, müssen wir auf unserer Festplatte ein verschlüsseltes Verzeichnis erstellen, das die PostgreSQL-Daten enthält. Überprüfen Sie die verfügbaren Geräte auf Ihrem Betriebssystem mit dem folgenden Befehl:
Sudo fdisk -l
Wählen Sie als Nächstes das entsprechende Gerät aus und führen Sie den folgenden Befehl aus. Hier verwenden wir die /dev/sdb Gerät. Sie werden aufgefordert, die Aktion zu bestätigen, indem Sie „JA“ eingeben und dann eine Passphrase eingeben.
Anschließend müssen Sie es mit LUKS verschlüsseln, indem Sie den folgenden Befehl ausführen:
Schritt 3: Formatieren Sie den Container
Für den erstellten Container müssen wir ihn formatieren. Wir verwenden die Option „mkfs.ext4“, indem wir den folgenden Code ausführen:
Sudo mkfs.ext4 / Entwickler / Mapper / postgres_encrypted
Schritt 4: Montieren Sie den Container
Als nächstes mounten wir den verschlüsselten Container. Erstellen Sie zunächst ein Verzeichnis im /mnt/ wie folgt:
Sudo mkdir / mnt / postgresSobald das Verzeichnis erstellt ist, mounten Sie den verschlüsselten Container mit dem Befehl „mount“ und geben Sie den Pfad an.
Sudo montieren / Entwickler / Mapper / postgres_encrypted / mnt / postgres /Schritt 5: Verschieben Sie die PostgreSQL-Daten
Bisher haben wir einen verschlüsselten Container zum Speichern unserer PostgreSQL-Daten erstellt, müssen die Daten jedoch noch verschieben. Bevor wir die Daten verschieben, müssen wir den PostgreSQL-Dienst stoppen.
Sudo systemctl postgresql stoppenUm die PostgreSQL-Daten zu verschieben, führen Sie den folgenden „Kopieren“-Befehl aus und stellen Sie sicher, dass Sie sie in das zuvor erstellte Verzeichnis kopieren:
Sudo rsync -von / War / lib / postgresql / mnt / postgresSichern Sie als Nächstes die ursprünglichen PostgreSQL-Daten, indem Sie sie an einen Sicherungsort verschieben.
Sudo mv / War / lib / postgresql / War / lib / postgresql_backup
Anschließend müssen Sie für einen schnellen Zugriff einen symbolischen Link für das Verzeichnis erstellen.
Das ist es. Es ist uns gelungen, die PostgreSQL-Daten zu kopieren und in unseren verschlüsselten Container auf Dateisystemebene zu verschieben, um sicherzustellen, dass wir die Daten im Ruhezustand schützen.
Schritt 6: Bearbeiten Sie die PostgreSQL-Konfigurationsdatei
Das Datenverzeichnis in der Konfigurationsdatei spiegelt den wertvollen PostgreSQL-Datenspeicherort wider. Wir müssen es jedoch bearbeiten, damit es mit dem Speicherort der PostgreSQL-Daten in dem von uns erstellten verschlüsselten Container übereinstimmt. Öffnen Sie also die PostgreSQL-Konfigurationsdatei mit einem Texteditor. Suchen Sie den Abschnitt data_directory. Es sieht wie im Folgenden gezeigt aus, bevor wir es bearbeiten. Der Pfad kann je nach der auf Ihrem System installierten PostgreSQL-Version unterschiedlich sein.
Ändern Sie den Pfad so, dass er zu dem verschlüsselten Container führt, den wir in Schritt 4 erstellt haben. In unserem Fall lautet der neue Pfad wie folgt:
Schritt 7: Speichern, beenden und neu starten
Speichern und beenden Sie die PostgreSQL-Konfigurationsdatei. Als nächstes starten oder starten Sie PostgreSQL neu. Sie haben es geschafft, die Datenverschlüsselung im Ruhezustand in PostgreSQL einzurichten.
Das ist es! Sie können PostgreSQL weiterhin sicher verwenden und die neue Verschlüsselung auf Dateisystemebene genießen.
Abschluss
Zum Einrichten der Datenverschlüsselung im Ruhezustand in PostgreSQL müssen Sie festlegen, welche Verschlüsselungsmethode verwendet werden soll, und diese dann einrichten. Wir haben die TDE-Verschlüsselung mit LUKS ausgewählt, um eine Verschlüsselung auf Dateisystemebene einzurichten. Darüber hinaus haben wir jeden Schritt detailliert beschrieben, der zur Einrichtung erforderlich ist. Das ist es! Probieren Sie es aus und befolgen Sie die angegebenen Schritte.