Bild mit dem Schriftzug: Proxmox Backup verschlüsselt

Proxmox Backupverschlüsselung ohne Proxmox-Backup-Server realisieren

Wenn es um IT-Sicherheit geht, ist Verschlüsselung das A und O, insbesondere wenn es um Backups sensibler Daten geht. In einer typischen Proxmox-Umgebung könnte man denken, dass man einen Proxmox-Backup-Server (PBS) benötigt, um Backups sicher zu verschlüsseln. Aber hier kommt die Überraschung: Es gibt eine superklasse Möglichkeit, verschlüsselte Backups zu erstellen, ohne dass der PBS im Spiel ist. Und das Ganze läuft direkt über Proxmox, indem wir ein kleines, aber extrem effizientes Tool namens gocryptfs nutzen.

Zunächst erkläre ich Ihnen, was es mit gocryptfs auf sich hat, was gocrypt ist und dann installieren wir gemeinsamt das Tool und verknüpfen es mit einem Samba Share, in meinem Falle die Hetzner StorageBox. Sie haben bestimmt schon von dieser StorageBox gehört. Hetzner bietet ein unschlagbare Preis-Leistung für den Storage in Deutschland. Deshalb habe ich die Box natürlich auch und ich habe sie auch genau so in meinem Proxmox zu laufen.

Achtung

Linux Befehle nicht einfach blind in die Konsole eingeben. Es ist immer zu Prüfen, welche Linux- und Proxmox-Version verwendet werden. Auch ist die Netzwerk-, IP-, Server- und Umgebungskonfiguration ausschlaggebend, ob und wie die hier angegebenen Tipps angewendet werden können. Es sollte sich auch mit jedem Punkt einzeln und intensiv befasst werden. Man kann nicht einfach alles "abarbeiten" und dann läuft es. Proxmox abzusichern braucht Zeit und muss mit äußerster Vorsicht vonstatten gehen. Außerdem ist die Sicherheit von Servern ein dauernder Prozess. Alles einrichten und die Kellertür zuknallen, ist nicht. 

Proxmox VE 8 Proxmox BS 3 Profibuch zum Clusteraufbau

Ich habe extra für den Aufbau von Clustern ein Buch geschrieben. Hier ist die Installation von 3 Proxmoxservern, die Installation von VMs, CTs und die Erstellung eines Clusters detailliert mit über 130 Screenshots beschrieben.

Alles in diesem Buch wird über die grafische Benutzeroberfläche (GUI) gelöst, ohne die Shell.

Proxmox VE 8 
Proxmox BS 3 Profibuch

Hochverfügbarkeits-Cluster Aufbau

Buch auf Amazon

Das E-Book kann über Kindle Unlimited kostenlos geladen und gelesen werden. E-Books erhalten kostenlose Updates,

Klickbares Buchcover mit Link zum Amazon E-Book Proxmox VE 8 Praxisbuch

Was ist gocryptfs?

gocryptfs ist eine Verschlüsselungssoftware für Linux, die speziell für die sichere Speicherung von Dateien auf Dateisystemebene entwickelt wurde. Es verwendet eine sogenannte „pass-through“-Verschlüsselung. Diese Methode erlaubt es Ihnen, auf Ihre Dateien zuzugreifen, während sie im Hintergrund automatisch verschlüsselt oder entschlüsselt werden. Jede Datei wird einzeln verschlüsselt, was gocryptfs besonders effizient und für die tägliche Nutzung attraktiv macht.

Wozu brauche ich gocryptfs?

Wenn Sie Ihre Daten auf einem entfernten Speicher wie einer Samba Share oder Hetzner StorageBox sichern, sollten diese unbedingt vor unberechtigtem Zugriff geschützt werden. Gerade wenn es um sensible oder private Informationen geht, bietet gocryptfs hier eine Lösung. Durch die Verschlüsselung Ihrer Dateien wird sichergestellt, dass niemand ohne Ihr Passwort auf die Inhalte zugreifen kann. Selbst wenn jemand Zugriff auf Ihre Daten erhält, sieht er nur verschlüsselte und somit unlesbare Dateien.

Wie funktioniert das?

gocryptfs funktioniert auf einer Dateisystemebene und erstellt zwei Verzeichnisse:

  1. Das verschlüsselte Verzeichnis, wo die verschlüsselten Dateien abgelegt werden.
  2. Das entschlüsselte Verzeichnis, das den Zugriff auf die Dateien im Klartext erlaubt, sobald Sie das richtige Passwort eingegeben haben.

Ein Beispiel: Sie speichern eine Datei in Ihrem entschlüsselten Verzeichnis. Im Hintergrund verschlüsselt gocryptfs diese Datei und speichert sie im verschlüsselten Verzeichnis (z.B. auf Ihrer Samba Share). Wenn Sie die Datei erneut lesen oder bearbeiten wollen, mounten Sie das verschlüsselte Verzeichnis und geben Ihr Passwort ein, damit die Dateien wieder entschlüsselt erscheinen.

Wie sicher ist das?

gocryptfs verwendet die AES-GCM-Verschlüsselung, eine hochsichere Methode, die sogar in Banken und militärischen Anwendungen zum Einsatz kommt. Die Sicherheit Ihrer Daten hängt primär von der Stärke des von Ihnen gewählten Passworts ab. Da jede Datei einzeln verschlüsselt wird, bleibt die Verschlüsselung auch dann effizient, wenn viele Dateien geändert oder hinzugefügt werden.

Was passiert mit meinen Daten, wenn mein PC kaputt geht?

Wenn Ihr PC kaputtgeht, sind Ihre Daten nicht verloren, solange Sie eine Kopie Ihrer verschlüsselten Dateien, beispielsweise auf einer Samba Share, gespeichert haben und Ihr Passwort kennen. Sie können gocryptfs auf jedem anderen Linux-System installieren, das verschlüsselte Verzeichnis mounten und mit Ihrem Passwort wieder auf Ihre Daten zugreifen.

Die Verschlüsselung bleibt bestehen, und Ihre Daten bleiben geschützt. Solange Sie also das Passwort und die verschlüsselten Dateien haben, können Sie immer auf Ihre Informationen zugreifen.

Zusammenfassung

gocryptfs bietet eine sichere, effiziente Möglichkeit, sensible Daten zu verschlüsseln, besonders wenn diese auf entfernten Speichern wie einer Samba Share liegen. Dank der AES-GCM-Verschlüsselung sind Ihre Daten sicher vor fremdem Zugriff, solange Sie Ihr Passwort kennen. Auch bei einem Hardwareausfall können Sie Ihre verschlüsselten Daten auf einem anderen System wiederherstellen.

Kostenlose IT-Sicherheits-Bücher - Information via Newsletter

Bleiben Sie informiert, wann es meine Bücher kostenlos in einer Aktion gibt: Mit meinem Newsletter erfahren Sie viermal im Jahr von Aktionen auf Amazon und anderen Plattformen, bei denen meine IT-Sicherheits-Bücher gratis erhältlich sind. Sie verpassen keine Gelegenheit und erhalten zusätzlich hilfreiche Tipps zur IT-Sicherheit. Der Newsletter ist kostenlos und unverbindlich – einfach abonnieren und profitieren!

Hinweis: Wenn Sie auf den Button klicken, werden Sie zu MailerLite weitergeleitet. Dort werden essentielle Cookies zur Sicherung der Funktion des Newsletterformulares gespeichert. Mit Ihrem Klick erteilen Sie das Einverständnis zur Verwendung dieser Cookies.

Zur Anmeldung

Installation von gocryptfs auf Proxmox-Server (Proxmox VE 8)

Wir installieren jetzt gemeinsam gocryptfs. Bitte führen Sie die Schritte so aus, wie hier beschrieben (Proxmox VE 8). Ich habe die Schritte ebenso durchgeführt und es funktioniert. Ich verwende eine Hetzner StorageBox mit 5 TB. Diese Installation ist auf diese Umgebung abgestimmt. Sie benötigen Ihre Zugangsdaten. Wenn Sie einen anderen SMB- oder Samba-Share-Ordner oder einen anderen Server verwenden, müssen Sie die Zugangsdaten entsprechend anpassen.

Als erstes aktualisieren sie ihren Proxmoxserver:

apt-get update
apt update
apt upgrade -y

Dann installieren sie cifs-utils - falls es nicht auf ihrem System vorhanden sein sollte:

apt install cifs-utils

Installieren sie gocryptfs:

apt install gocryptfs

Erstellen sie die Datei mit den Anmeldedaten zur StorageBox:

nano /root/.smblogin

Fürgen sie in die Datei den Username und das Passwort zu der StorageBox ein:

username=Ihr-Username
password=Ihr-Passwot

Sorgen sie dafür, dass nur der root-User Zugriff auf die Datei hat:

chmod +600 /root/.smblogin

Legen sie den Ordner an, der als Mountpoint für den Storage gilt:

mkdir -p /mnt/storagebox_crypted

Öffnen sie die fstab Datei:

nano /etc/fstab

Fügen sie diese Zeile als einzelne Zeile ein:
Da uid=0 und gid=0 ist, hat nur root Zugriff auf diese Ordner. Wenn sie diese Anleitung lokal verwenden und der Benutzer (sie) wollen Zugriff haben, ohne sich anmelden zu müssen, können sie uid und gid jeweils auf =1000 setzen - aber nur wenn sie wissen was sie tun.

//uxxxxxx.your-storagebox.de/backup /mnt/storagebox_crypted cifs credentials=/root/.smblogin,iocharset=utf8,rw,_netdev,uid=0,gid=0,file_mode=0660,dir_mode=0770 0 0

Testen sie ob der SMB Share sich bereits mounten lässt, die Ausgabe sollte ​"storagebox_crypted : successfully mounted" sein:

mount -a -vvv

Initialisieren sie, wer der Mount funktioniert hat gocryptfs mit dem Befehl:

gocryptfs -init /mnt/storagebox_crypted

gocrypt will dass ein Starkes Passwort vergeben, dass sie bitte umgehend in einem Tresor wie KeePass abspeichern. Am besten vorher. Wenn sie das Passwort eingegeben und dann noch einmal bestätigt haben, wird ein Schlüssel erzeugt, der auch angezeigt wird. Speichern sie diesen durch kopieren auch im KeePass. Dann legt gocrypt einige Konfigurations- und Schlüsseldaten auf dem Storage ab.

Erstellen sie das Unverschlüsselte Verzeichnis:

mkdir -p /mnt/StorageBox-NoCrypt

Legen sie die Datei zum automatischen ent- und verschlüsseln an und geben sie einfach in Klartext ihr Passwort von der Initialisierung in die Datei ein:

nano /root/.gocryptfspw

Sorgen sie dafür, dass nur root diese Datei verwenden kann:

chmod +600 /root/.gocryptfspw

Öffnen sie wieder die Datei fstab:

nano /etc/fstab

Fügen sie die folgende Zeile als einzelne Zeile ein:

/mnt/storagebox_crypted /mnt/StorageBox-NoCrypt fuse./usr/bin/gocryptfs rw,nofail,auto,x-systemd.idle-timeout=10,x-systemd.automount,allow_other,quiet,passfile=/root/.gocryptfspw 0 0

Testen sie wieder ob die Mountpoints funktionieren:

mount -a -vvv

storagebox_cryped solle "allready mounted" liefern und StorageBox-NoCrypt sollte ​"successfully mounted" leifern. 

Damit ist das schon mal erledigt und sollte funktionieren, ich habe es genau so noch mal getestet, und bei mir klappts.

Verschlüsseltes Proxmoxbackup erstellen Ordner und Dateinamen

Die Ordnernamen können natürlich angepasst werden, müssen sich dann aber auch in der fstab entsprechend umbenannt werden. Dasselbe gilt für die Passwortdatei (.gocryptfspw), wenn diese anders benannt wird, muss auch der Link aus der fstab ensprechend geändert werden.

Unverschlüsseltes Verzeichnis einhängen

Ich habe diese Anleitung eben noch einmal ausprobiert. Die funktioniert auf jeden Fall. 

Wenn sie die gocryptfs installiert, die Ordner angelegt, die Anleitung befolgt haben und mount -a -vvv meldet, dass ihre Ordner eingehangen wurden, dann gehen sie zu Datacenter -> Storage -> Add und wählen Directory aus. Wenn sie die Ordner nicht umbenannt und nach der Anleitung benannt haben, tragen sie in ID einen Namen ein z.B. HetznerXXTBCrypt und in Directory geben sie den unverschlüsselten Ordner an: /mnt/StorageBox-NoCrypt/.

Haben sie die Ordner anders benannt, geben sie den entsprechenden Ordenernamen an. Dann häkeln sie Enable an und klicken OK. Der Ordner wird als Storage in Proxmox eingehangen und wird im Linken Menü als Festplatte angezeigt. Dann markieren sie den Neuen Storage in der Tabelle im Rechten Fenster und klicken Edit. Hier stellen sie unter Content VZDump backup files ein. Danach können sie Unter Datacenter -> Backup ihre VMs und Container auf diesen Speicher einrichten.

Wenn in diesen unverschlüsselten Ordner nun durch Proxmox VM Backups reingeschrieben werden, werden diese Backups Live von gocrypt verschlüsselt und dann in die StorageBox hochgeladen. Das geht mit allen DAVs. Sie können auch einen normalen Ordner Lokal verwenden um zu verschlüsseln statt einen Hetzner Storage.

Erklärung der Funktionen der Zeilen in der fstab Datei 

Ich erkläre ihnen hier kurz, was diese Zeile in der fstab Datei macht:
//uxxxxxx.your-storagebox.de/backup /mnt/storagebox_crypted cifs credentials=/root/.smblogin,iocharset=utf8,rw,_netdev,uid=0,gid=0,file_mode=0660,dir_mode=0770 0 0

Die angegebene Zeile in der /etc/fstab definiert, wie ein Samba-Share (SMB) in das Dateisystem eingebunden wird. Lassen sie uns die einzelnen Teile der Zeile genauer betrachten:

//uxxxxxx.your-storagebox.de/backup: Dies ist der Pfad zu Ihrem Samba-Share. In diesem Fall verweist es auf den Backup-Ordner Ihrer Hetzner StorageBox, der über das Netzwerk freigegeben ist.

/mnt/storagebox_crypted: Dies ist das lokale Verzeichnis, in das der Samba-Share eingebunden wird. Nach dem Mounten sind die Dateien, die sich auf dem Server befinden, in diesem Verzeichnis zugänglich.

cifs: Dies ist der Typ des Dateisystems. CIFS steht für "Common Internet File System", das Protokoll, mit dem Windows-Freigaben (SMB) über das Netzwerk eingebunden werden.

credentials=/root/.smblogin: Diese Option gibt den Pfad zur Datei an, in der die Anmeldedaten (Benutzername und Passwort) für den Zugriff auf den Samba-Share gespeichert sind. So müssen die Anmeldedaten nicht in der /etc/fstab direkt angegeben werden.

iocharset=utf8: Diese Option legt fest, dass UTF-8 als Zeichensatz verwendet wird, um sicherzustellen, dass Sonderzeichen in Dateinamen korrekt angezeigt werden.

rw: Dies bedeutet, dass das Verzeichnis im Lese-/Schreibmodus eingebunden wird. Sie können also sowohl Dateien lesen als auch auf das Verzeichnis schreiben.

_netdev: Diese Option sorgt dafür, dass das Dateisystem erst dann eingebunden wird, wenn das Netzwerk verfügbar ist. Das ist wichtig, da der Samba-Share über das Netzwerk erreichbar ist.

uid=0,gid=0: Diese Optionen legen fest, dass der Benutzer mit der ID 0 (root) und die Gruppe mit der ID 0 (root) Eigentümer des eingebundenen Verzeichnisses und der darin enthaltenen Dateien sind.

file_mode=0660: Hiermit wird festgelegt, dass Dateien im Verzeichnis Lese- und Schreibrechte für den Besitzer und die Gruppe (660) haben, aber keine Rechte für andere Benutzer.

dir_mode=0770: Dies legt fest, dass Verzeichnisse im Mountpunkt Lese-, Schreib- und Ausführungsrechte (770) für den Besitzer und die Gruppe haben, aber keine Rechte für andere Benutzer.

0 0: Diese letzten zwei Werte bedeuten, dass das Dateisystem nicht auf Fehler überprüft wird und nicht für Backups berücksichtigt wird.

Zusammengefasst bindet diese Zeile einen SMB-Share von einem entfernten Server ein, stellt sicher, dass der Zugriff nur für den Root-Benutzer möglich ist, und verwendet gespeicherte Anmeldeinformationen, um den Zugriff zu ermöglichen.

Ich erkläre ihnen hier kurz, was diese Zeile in der fstab Datei macht:
/mnt/storagebox_crypted /mnt/​StorageBox-NoCrypt    fuse./usr/bin/gocryptfs rw,nofail,auto,x-systemd.idle-timeout=10,x-systemd.automount,allow_other,quiet,passfile=/root/.gocryptfspw 0 0

Die Zeile, ist eine Eintragung in der /etc/fstab, die festlegt, dass das Dateisystem gocryptfs automatisch gemountet wird. Lassen Sie uns die verschiedenen Teile der Zeile aufschlüsseln:

/mnt/storagebox_crypted: Dies ist das Verzeichnis, das die verschlüsselten Dateien enthält. Hier liegen Ihre verschlüsselten Daten.

/mnt/StorageBox-NoCrypt: Dies ist das Verzeichnis, in dem die entschlüsselten Dateien erscheinen. Sobald Sie gocryptfs verwenden, können Sie hier auf die unverschlüsselten Dateien zugreifen.

fuse./usr/bin/gocryptfs: Hier wird der Dateisystem-Typ angegeben, in diesem Fall ein FUSE-Dateisystem, das durch gocryptfs bereitgestellt wird.

rw: Gibt an, dass das Verzeichnis im Lesen-/Schreibmodus gemountet wird.

nofail: Wenn das Dateisystem aus irgendeinem Grund nicht gemountet werden kann, wird dies keinen Fehler verursachen und das Booten des Systems nicht blockieren.

auto: Das Dateisystem wird automatisch beim Systemstart eingebunden.

x-systemd.idle-timeout=10: Systemd wird das Dateisystem nach 10 Sekunden Inaktivität automatisch aushängen.

x-systemd.automount: Aktiviert die automatische Einbindung durch Systemd, wenn auf das Verzeichnis zugegriffen wird.

allow_other: Dies ermöglicht auch anderen Benutzern auf dem System, auf die Dateien im entschlüsselten Verzeichnis zuzugreifen.

quiet: Verhindert, dass unnötige Protokollmeldungen ausgegeben werden.

passfile=/root/.gocryptfspw: Hier wird die Passwortdatei angegeben, in der das Passwort für die Verschlüsselung gespeichert ist. Diese Datei wird beim Mounten verwendet, um das Passwort automatisch zu übergeben.

0 0: Diese letzten zwei Zahlen legen fest, dass das Dateisystem nicht auf Fehler überprüft und nicht beim Backup berücksichtigt wird.

Zusammengefasst sorgt diese Zeile dafür, dass gocryptfs das verschlüsselte Verzeichnis beim Systemstart automatisch einbindet und die entschlüsselten Dateien unter dem angegebenen Verzeichnis verfügbar macht, ohne dass manuell ein Passwort eingegeben werden muss.

Proxmox VE 8 Praxisbuch

Informationen, Tipps und Tricks für Proxmox-Einsteiger und Fortgeschrittene

Buch auf Amazon

Das E-Book kann über Kindle Unlimited kostenlos geladen und gelesen werden. E-Books erhalten kostenlose Updates,

Klickbares Buchcover mit Link zum Amazon E-Book Proxmox VE 8 Praxisbuch

Empfohlener Artikel Proxmox Sichern und Härten

Ich habe einen ausführlichen Artikel zum Thema: Proxmox Sichern und Härten geschrieben und denke, dass der eine oder andere Hinweis für Sie interessant sein könnte, wenn Sie sich mit Proxmox-Virtualisierung auseinadersetzen.

Ralf-Peter Kleinert - Buchautor für IT-Sichereit, Computersicherheit und Cybersecurity

Über den Autor: Ralf-Peter Kleinert

Über 30 Jahre Erfahrung in der IT legen meinen Fokus auf die Computer- und IT-Sicherheit. Auf meiner Website biete ich detaillierte Informationen zu aktuellen IT-Themen. Mein Ziel ist es, komplexe Konzepte verständlich zu vermitteln und meine Leserinnen und Leser für die Herausforderungen und Lösungen in der IT-Sicherheit zu sensibilisieren.

Mehr über mich, Ausbildung, Zertifizierungen

Meine Amazon Autorenseite

Aktualisiert: Ralf-Peter Kleinert 01.10.2024