Proxmox Backup Server: API-Token & Verschlüsselung | INTROSERV
EUR
european

EUR

usa

USD

German De
Ex. VAT Ex. VAT 0%

PBS: Sichere PVE-Verbindung über API und Verschlüsselung

Einführung

In diesem Tutorial erfahren Sie, wie Sie Proxmox VE mit dem Proxmox Backup Server über Proxmox-API-Tokens, auf Namespaces beschränkte Berechtigungen und clientseitige Verschlüsselung verbinden. Dieser Ansatz erhöht die Sicherheit von Proxmox VE, da Proxmox VE kein vollständiges PBS-Benutzerpasswort benötigt und der Backup-Server keinen Zugriff auf unverschlüsselte VM-Backup-Daten hat.

Sie konfigurieren eine sichere Authentifizierung per API-Token, binden den Proxmox-Backup-Server-Storage in Proxmox VE ein, aktivieren die clientseitige Backup-Verschlüsselung und richten Prune- und Garbage-Collection-Zeitpläne ein, damit der Datastore nicht den gesamten verfügbaren Speicherplatz belegt.

Voraussetzungen

Zielgruppe: Systemadministratoren mit mittleren Kenntnissen.
Geschätzte Dauer: 45 bis 60 Minuten.
Ziel: Am Ende dieses Tutorials ist ein sicheres Proxmox-Backup-Repository mit Proxmox VE verbunden – mit eingeschränktem API-Token-Zugriff, verschlüsselten VM-Backups und Aufbewahrungseinstellungen, die zu Ihrer Speicherkapazität passen.

Erforderliche Umgebung:

  • Proxmox VE 8.x oder neuer.
  • Proxmox Backup Server 3.x oder neuer.
  • Administrativer Zugriff auf die Weboberfläche oder die Shell von Proxmox VE.
  • Administrativer Zugriff auf die Weboberfläche oder die Shell des Proxmox Backup Servers.
  • Ein vorhandener PBS-Datastore.
  • Netzwerkverbindung von Proxmox VE zu PBS über TCP-Port 8007.
  • Ausreichende Datastore-Kapazität für den geplanten Aufbewahrungszeitraum der Backups.

In diesem Tutorial verwendete Beispielwerte:

Platzhalter Beispielwert Beschreibung
<PBS_HOST> pbs.example.com Hostname oder IP-Adresse des PBS
<PBS_PORT> 8007 Standard-API-Port des PBS
<DATASTORE> backup-store Name des PBS-Datastores
<NAMESPACE> pve-prod Namespace für diese Proxmox-VE-Quelle
<PBS_USER> pve-backup@pbs Für Proxmox VE angelegter PBS-Benutzer
<TOKEN_NAME> pve-token Name des API-Tokens
<TOKEN_ID> pve-backup@pbs!pve-token Vollständige PBS-API-Token-ID
<PVE_STORAGE_ID> pbs-secure In Proxmox VE angezeigte Storage-ID
<PBS_FINGERPRINT> AA:BB:CC:... Fingerprint des PBS-Zertifikats

Info

API-Tokens des Proxmox Backup Servers bestehen aus einer Token-ID und einem Secret. Das Secret wird nur einmal bei der Erstellung des Tokens angezeigt. Speichern Sie es daher sofort in einem Passwortmanager. Laut Proxmox-Dokumentation lassen sich API-Tokens leicht widerrufen und ermöglichen es, Berechtigungen pro Client einzuschränken.

Schritt 1: Das sichere Proxmox-Backup-Konzept planen

Legen Sie vor jeder Konfigurationsänderung fest, wie Proxmox VE auf PBS zugreifen soll.

Verwenden Sie folgendes Konzept:

Komponente Empfohlene Einstellung
Authentifizierung API-Token statt Benutzerpasswort
Zugriffsbereich Datastore-Namespace statt des gesamten Datastores
PBS-Rolle DatastoreBackup sowie DatastoreReader, falls Wiederherstellungen durchsucht werden sollen
Verschlüsselung Clientseitige Verschlüsselung in Proxmox VE aktiviert
Aufbewahrung (Retention) PBS-Prune-Job oder Retention-Richtlinie des Datastores
Speicherbereinigung Geplante Garbage Collection nach dem Pruning
Reaktion bei Kompromittierung Token widerrufen und durch ein neues ersetzen

Dieses Konzept folgt dem Prinzip der minimalen Rechtevergabe (Least Privilege). Der Proxmox Backup Server verwendet rollen- und pfadbasierte Berechtigungen. Zugriff kann für einen bestimmten Datastore oder einen Namespace-Pfad vergeben werden, zum Beispiel /datastore/<DATASTORE>/<NAMESPACE>.

Schritt 2: Einen dedizierten PBS-Benutzer erstellen

Melden Sie sich als root oder als anderer Administrator an der PBS-Shell an.

Erstellen Sie einen dedizierten Benutzer im PBS-Realm für Proxmox VE:

proxmox-backup-manager user create <PBS_USER> \ --comment "Proxmox VE backup user"

Erwartetes Ergebnis: leere Ausgabe oder Meldung

User '<PBS_USER>' created.

Prüfen Sie, ob der Benutzer existiert:

proxmox-backup-manager user list

Erwartetes Ergebnis:

userid enable expire comment <PBS_USER> 1 Proxmox VE backup user root@pam 1 Superuser

Info

Ein neu angelegter PBS-Benutzer oder API-Token hat standardmäßig keine Berechtigungen. Sie müssen ausdrücklich Zugriff zuweisen, bevor Proxmox VE ihn verwenden kann.

Schritt 3: Einen Namespace für Proxmox-VE-Backups erstellen

Mit einem Namespace trennen Sie einen Proxmox-VE-Host oder -Cluster innerhalb desselben Datastores von anderen Backup-Quellen. Das ist für eine sichere Authentifizierung bei Proxmox-Backups nützlich, da Berechtigungen auf genau diesen Namespace beschränkt werden können.

Sie können den Namespace über die PBS-Weboberfläche erstellen:

  1. Öffnen Sie die PBS-Weboberfläche.
  2. Gehen Sie zu Datastore.
  3. Wählen Sie <DATASTORE> aus.
  4. Öffnen Sie Content.
  5. Klicken Sie auf Add Namespace.
  6. Geben Sie <NAMESPACE> ein.
  7. Klicken Sie auf Create.

Erwartetes Ergebnis: PBS erstellt den Namespace unter dem ausgewählten Datastore.

Wenn Sie die Befehlszeile bevorzugen, verwenden Sie den Namespace-Befehl des PBS-Clients:

proxmox-backup-client namespace create <NAMESPACE> \ --repository root@pam@localhost:<DATASTORE>

Info

Beim Erstellen eines Namespace müssen Sie das Passwort eingeben. Für automatisierte Skripte setzen Sie die Umgebungsvariablen PBS_PASSWORD und PBS_FINGERPRINT.

Erwartetes Ergebnis: leere Ausgabe oder Meldung

Namespace '<NAMESPACE>' created.

Schritt 4: Einen API-Token erzeugen

Erstellen Sie einen API-Token für den PBS-Benutzer in der Weboberfläche über Configuration → Access Control → API Token → Add:

Alternativ erzeugen Sie den API-Token für den PBS-Benutzer über die CLI:

proxmox-backup-manager user generate-token <PBS_USER> <TOKEN_NAME>

Erwartete Ausgabe:

{ "tokenid": "<TOKEN_ID>", "value": "<TOKEN_SECRET>" }

Speichern Sie <TOKEN_SECRET> sofort. Es kann nach der Erstellung nicht erneut angezeigt werden.

Warning

Fügen Sie das Token-Secret nicht in Chat-Systeme, Dokumentationen, die Shell-History, Ticketsysteme oder Screenshots ein. Bewahren Sie es in einem Passwortmanager oder einem anderen freigegebenen Secret-Store auf.

Schritt 5: Minimale Berechtigungen zuweisen

Die Berechtigungen eines API-Tokens in PBS ergeben sich aus der ACL des Tokens und werden anschließend mit den Berechtigungen des übergeordneten Benutzers geschnitten. In der Praxis benötigen also sowohl der Benutzer als auch der Token passende Zugriffsrechte, und der Token kann nie mehr als sein übergeordneter Benutzer.

Erteilen Sie dem übergeordneten Benutzer Backup-Zugriff ausschließlich auf den gewünschten Namespace:

proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup \ --auth-id <PBS_USER>

Erteilen Sie dem Token dieselbe Backup-Rolle:

proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup \ --auth-id <TOKEN_ID>

Wenn Proxmox VE vorhandene, eigene Backups aus demselben Namespace durchsuchen und wiederherstellen soll, fügen Sie zusätzlich DatastoreReader hinzu:

proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader \ --auth-id <PBS_USER> proxmox-backup-manager acl update \ /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader \ --auth-id <TOKEN_ID>

Prüfen Sie die ACLs:

proxmox-backup-manager acl list

Erwartete Ausgabe:

ugid path roleid <PBS_USER> /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup <TOKEN_ID> /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup <PBS_USER> /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader <TOKEN_ID> /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader

Weisen Sie einem Proxmox-VE-Backup-Token nicht die Rolle Admin oder DatastoreAdmin zu, sofern es keinen konkreten betrieblichen Grund dafür gibt. Für die meisten verschlüsselten VM-Backups ist ein auf den Namespace beschränkter Token mit DatastoreBackup und optional DatastoreReader die sicherere Best Practice für Proxmox-Backups.

Schritt 6: Den Zertifikats-Fingerprint des PBS notieren

Wenn PBS ein selbstsigniertes Zertifikat verwendet, muss Proxmox VE den Fingerprint des PBS als vertrauenswürdig einstufen.

Führen Sie auf dem PBS-Server Folgendes aus:

proxmox-backup-manager cert info | grep Fingerprint

Erwartete Ausgabe:

Fingerprint (sha256): <PBS_FINGERPRINT>

Speichern Sie den Fingerprint für den nächsten Schritt.

Info

Die Proxmox-Dokumentation beschreibt den Fingerprint-Ablauf für selbstsignierte PBS-Zertifikate beim Hinzufügen von PBS-Storage zu Proxmox VE.

Schritt 7: PBS-Storage zu Proxmox VE hinzufügen

Melden Sie sich als root an der Proxmox-VE-Shell an.

Fügen Sie den PBS-Storage hinzu und verwenden Sie dabei die API-Token-ID als Benutzernamen. Geben Sie das Token-Secret ein, wenn Sie dazu aufgefordert werden:

pvesm add pbs <PVE_STORAGE_ID> \ --server <PBS_HOST> \ --port <PBS_PORT> \ --datastore <DATASTORE> \ --namespace <NAMESPACE> \ --username <TOKEN_ID> \ --fingerprint <PBS_FINGERPRINT> \ --password

Fügen Sie bei der Eingabeaufforderung das API-Token-Secret ein:

Enter Password: <TOKEN_SECRET>

Erwartetes Ergebnis: Proxmox VE fügt die PBS-Storage-Konfiguration hinzu.

Prüfen Sie den Storage:

pvesm status --storage <PVE_STORAGE_ID>

Erwartete Ausgabe:

Name Type Status Total Used Available % <PVE_STORAGE_ID> pbs active ...

Bei einem auf einen Namespace beschränkten API-Token können die Werte Total, Used und Available als 0 angezeigt werden, auch wenn der Status active lautet. Dieses Verhalten ist normal.

Sie können dies auch über die Proxmox-VE-Weboberfläche konfigurieren:

  1. Öffnen Sie Datacenter.
  2. Gehen Sie zu Storage.
  3. Klicken Sie auf Add.
  4. Wählen Sie Proxmox Backup Server aus.
  5. Setzen Sie ID auf <PVE_STORAGE_ID>.
  6. Setzen Sie Server auf <PBS_HOST>.
  7. Setzen Sie Datastore auf <DATASTORE>.
  8. Setzen Sie Namespace auf <NAMESPACE>.
  9. Setzen Sie Username auf <TOKEN_ID>.
  10. Setzen Sie Password auf das Secret des API-Tokens.
  11. Setzen Sie Fingerprint bei Bedarf auf <PBS_FINGERPRINT>.
  12. Klicken Sie auf Add.

Erwartetes Ergebnis: Der Storage erscheint unter dem Proxmox-VE-Storage und wird als aktiv gemeldet.

Schritt 8: Clientseitige Verschlüsselung aktivieren

Die clientseitige Verschlüsselung schützt die Backup-Daten, bevor sie Proxmox VE verlassen. PBS speichert verschlüsselte VM-Backups, der Schlüssel verbleibt jedoch auf der Proxmox-VE-Seite. Das erhöht die Sicherheit der Proxmox-VE-Backups, da ein kompromittierter PBS-Datastore allein die Inhalte der VM-Datenträger nicht preisgibt.

In der Proxmox-VE-Weboberfläche:

  1. Öffnen Sie Datacenter.
  2. Gehen Sie zu Storage.
  3. Wählen Sie <PVE_STORAGE_ID> aus.
  4. Klicken Sie auf Edit.
  5. Wechseln Sie zur Registerkarte Encryption und wählen Sie Auto-generate a client encryption key.
  6. Erzeugen Sie einen neuen Schlüssel, wenn es sich um ein neues, sicheres Backup-Repository handelt.
  7. Speichern Sie eine Kopie des Verschlüsselungsschlüssels in einem Passwortmanager oder einem Offline-Tresor für Secrets.
  8. Klicken Sie auf OK.

Erwartetes Ergebnis: Neue Backups in diesem PBS-Storage werden clientseitig verschlüsselt.

Danger

Der Verlust des Verschlüsselungsschlüssels kann verschlüsselte Backups unwiederbringlich machen. Bewahren Sie den Schlüssel getrennt vom Proxmox-VE-Host auf und testen Sie die Wiederherstellung, bevor Sie sich auf den Backup-Satz verlassen.

Empfohlener Umgang mit dem Schlüssel:

Maßnahme Begründung
Schlüssel außerhalb des Proxmox-VE-Clusters aufbewahren Schützt vor dem Verlust des Clusters
Dateiberechtigungen einschränken Verringert die lokale Angriffsfläche
Schlüssel offline sichern Ermöglicht die Notfallwiederherstellung (Disaster Recovery)
Schlüssel nicht ausschließlich auf dem PBS speichern Ausfall oder Kompromittierung des PBS darf die Wiederherstellung nicht blockieren
Wiederherstellung mit dem Schlüssel testen Bestätigt vor einem Ernstfall, dass die Wiederherstellung funktioniert

Schritt 9: Einen Proxmox-VE-Backup-Job erstellen

Erstellen Sie einen Backup-Job, der auf den verschlüsselten PBS-Storage schreibt.

In der Proxmox-VE-Weboberfläche:

  1. Öffnen Sie Datacenter.
  2. Gehen Sie zu Backup.
  3. Klicken Sie auf Add.
  4. Wählen Sie die zu schützenden Nodes, VMs oder Container aus.
  5. Setzen Sie Storage auf <PVE_STORAGE_ID>.
  6. Wählen Sie einen Zeitplan, zum Beispiel täglich um 02:00 Uhr.
  7. Stellen Sie den Modus passend zu Ihrer Workload ein.
  8. Lassen Sie die Retention leer, wenn PBS das Pruning übernimmt.
  9. Klicken Sie auf Create.

Erwartetes Ergebnis: Proxmox VE erstellt einen geplanten Backup-Job, der verschlüsselte Backups auf PBS schreibt.

Legen Sie die Aufbewahrung an einer einzigen Stelle fest. In den meisten PBS-Konzepten konfigurieren Sie die Retention auf PBS über Prune-Jobs oder Retention-Einstellungen des Datastores und lassen die Retention des Proxmox-VE-Jobs leer. So vermeiden Sie verwirrende Überschneidungen zwischen der Retention in Proxmox VE und dem Pruning auf PBS.

Schritt 10: Prune-Einstellungen konfigurieren

Das Pruning legt fest, welche Backup-Snapshots sichtbar und wiederherstellbar bleiben. Es entfernt nicht sofort alle nicht mehr referenzierten Chunks vom Datenträger. PBS-Prune-Jobs können über die Registerkarte Prune & GC oder mit proxmox-backup-manager prune-job konfiguriert werden. Laut Proxmox-Dokumentation wird die Prune-Job-Konfiguration in /etc/proxmox-backup/prune.cfg gespeichert.

Eine gängige Retention-Richtlinie für tägliche VM-Backups lautet:

Einstellung Wert Bedeutung
keep-daily 7 Ein Backup pro Tag für die letzten 7 Tage behalten
keep-weekly 4 Ein Backup pro Woche für die letzten 4 Wochen behalten
keep-monthly 6 Ein Backup pro Monat für die letzten 6 Monate behalten

Konfigurieren Sie diese Richtlinie für den Datastore:

proxmox-backup-manager prune-job create <JOB_ID> \ --store <DATASTORE> \ --ns <NAMESPACE> \ --keep-daily 7 \ --keep-weekly 4 \ --keep-monthly 6 \ --prune-schedule "03:00"

Erwartetes Ergebnis: PBS wendet die Retention an und führt das Pruning täglich um 03:00 Uhr aus.

Für einen kleineren Datastore verwenden Sie eine kürzere Richtlinie:

proxmox-backup-manager prune-job create <JOB_ID> \ --store <DATASTORE> \ --ns <NAMESPACE> \ --keep-daily 3 \ --keep-weekly 2 \ --keep-monthly 1 \ --prune-schedule "03:00"

Erwartetes Ergebnis: PBS behält weniger Wiederherstellungspunkte und belegt weniger Speicherplatz.

Warning

Setzen Sie keine großen Werte wie keep-daily 90, keep-weekly 52 und keep-monthly 36, ohne die erforderliche Kapazität berechnet zu haben. Die Deduplizierung von Backups hilft, macht den Speicherplatz aber nicht unbegrenzt.

Schritt 11: Den Speicherbedarf der Backups abschätzen

PBS dedupliziert Chunks, daher ergibt sich der Speicherverbrauch nicht einfach aus der vollen VM-Größe multipliziert mit der Anzahl der Backups. Dennoch benötigen Sie eine konservative Schätzung.

Verwenden Sie diese Formel:

Estimated required capacity = initial full protected data + changed data per backup * retained backup points + safety margin

Beispiel 1: Kleine Umgebung

Wert Menge
Geschützte VM-Daten 600 GiB
Durchschnittliche tägliche Änderungsrate 3 Prozent
Geänderte Daten pro Tag 18 GiB
Aufbewahrung (Retention) 7 täglich, 4 wöchentlich, 6 monatlich
Ungefähre Anzahl der behaltenen Wiederherstellungspunkte 17
Geschätzte geänderte Datenmenge 306 GiB
Sicherheitsreserve 30 Prozent

Berechnung:

600 GiB + (18 GiB * 17) = 906 GiB 906 GiB * 1.30 = 1177.8 GiB

Empfohlene Datastore-Kapazität: mindestens 1,2 TiB, besser 1,5 TiB oder mehr.

Beispiel 2: Größere Produktionsumgebung

Wert Menge
Geschützte VM-Daten 4 TiB
Durchschnittliche tägliche Änderungsrate 5 Prozent
Geänderte Daten pro Backup 204.8 GiB
Aufbewahrung (Retention) 14 täglich, 8 wöchentlich, 12 monatlich
Ungefähre Anzahl der behaltenen Wiederherstellungspunkte 34
Geschätzte geänderte Datenmenge 6.8 TiB
Sicherheitsreserve 30 Prozent

Berechnung:

4 TiB + (204.8 GiB * 34) = 10.8 TiB 10.8 TiB * 1.30 = 14.04 TiB

Empfohlene Datastore-Kapazität: mindestens 14 TiB, besser 16 TiB oder mehr.

Info

Diese Beispiele sind bewusst konservativ gewählt. Der tatsächliche Verbrauch hängt von der VM-Änderungsrate, dem Verhalten des Gastdateisystems, der Komprimierung, der Deduplizierung, der Backup-Häufigkeit und davon ab, wie oft große Dateien innerhalb der Gastsysteme neu geschrieben werden.

Schritt 12: Garbage Collection konfigurieren

Die Garbage Collection (GC) ist der Vorgang, der nicht mehr referenzierte Chunks tatsächlich aus dem Datastore entfernt. Das Pruning entfernt Backup-Snapshots gemäß den Retention-Regeln, Chunks können jedoch auf dem Datenträger verbleiben, wenn andere Snapshots sie noch referenzieren oder sie sich noch innerhalb des Sicherheitsfensters befinden.

Die Garbage Collection von PBS besteht aus zwei Phasen:

Phase Was passiert
Mark PBS liest die Indexdateien und aktualisiert die Zugriffszeit der referenzierten Chunks
Sweep PBS durchsucht die Chunks und entfernt Chunks, die älter als der Stichtag sind, sofern kein Snapshot sie referenziert

PBS verwendet einen Stichtag, der sich am ältesten laufenden Backup-Writer oder an 24 Stunden und 5 Minuten vor dem Start der GC orientiert. Chunks innerhalb dieser Karenzzeit werden als ausstehende Entfernungen protokolliert, statt sofort gelöscht zu werden. Das schützt laufende Backups und berücksichtigt das relatime-Verhalten des Dateisystems.

Planen Sie die GC nach dem Pruning:

proxmox-backup-manager datastore update <DATASTORE> \ --gc-schedule "04:30"

Erwartetes Ergebnis: PBS führt die Garbage Collection täglich um 04:30 Uhr aus.

Empfohlener Zeitplan bei einem täglichen Backup um 02:00 Uhr:

Aufgabe Beispielzeit Zweck
Proxmox-VE-Backup 02:00 Verschlüsselte VM-Backups erstellen
PBS-Prune 03:00 Retention-Richtlinie anwenden
PBS-Garbage-Collection 04:30 Nicht referenzierte Chunks freigeben, sobald dies sicher ist

Warning

Eine GC unmittelbar nach dem Prune garantiert keine sofortige Freigabe von Speicherplatz. Einige Chunks bleiben absichtlich als ausstehende Entfernungen bestehen, bis sie alt genug sind, um sicher gelöscht zu werden.

GC-Status prüfen:

proxmox-backup-manager garbage-collection status <DATASTORE>

GC bei Bedarf manuell starten:

proxmox-backup-manager garbage-collection start <DATASTORE>

Erwartetes Ergebnis: PBS startet einen Garbage-Collection-Task auf Datastore-Ebene. Die offizielle PBS-Dokumentation beschreibt diese Befehle ebenfalls, ebenso die Option in der Weboberfläche auf der Registerkarte Prune & GC des Datastores.

Schritt 13: Ein Test-Backup ausführen

Führen Sie den Backup-Job manuell in Proxmox VE aus:

  1. Öffnen Sie Datacenter.
  2. Gehen Sie zu Backup.
  3. Wählen Sie den Backup-Job aus.
  4. Klicken Sie auf Run now.
  5. Bestätigen Sie die Aktion.

Erwartetes Ergebnis: Der Backup-Task wird erfolgreich abgeschlossen.

Sie können dies auch in der Proxmox-VE-Shell prüfen:

pvesm status --storage <PVE_STORAGE_ID>

Erwartete Ausgabe:

Name Type Status <PVE_STORAGE_ID> pbs active

Öffnen Sie auf PBS:

  1. Datastore.
  2. <DATASTORE>.
  3. Content.
  4. <NAMESPACE>.

Erwartetes Ergebnis: Das neue VM- oder Container-Backup erscheint im Namespace.

Überprüfung

Prüfen Sie die Token-Berechtigungen auf PBS:

proxmox-backup-manager user permissions <TOKEN_ID> \ --path /datastore/<DATASTORE>/<NAMESPACE>

Erwartetes Ergebnis: Der Token zeigt Datastore-Berechtigungen ausschließlich für den Ziel-Namespace.

Prüfen Sie den Storage-Zugriff von Proxmox VE aus:

pvesm status --storage <PVE_STORAGE_ID>

Erwartetes Ergebnis:

<PVE_STORAGE_ID> pbs active

Prüfen Sie, ob die Backups verschlüsselt sind:

  1. Öffnen Sie Proxmox VE.
  2. Wählen Sie das VM-Backup im PBS-Storage aus.
  3. Vergewissern Sie sich, dass Wiederherstellungen von Proxmox VE aus möglich sind.
  4. Vergewissern Sie sich, dass der Schlüssel außerhalb des Clusters gesichert ist.

Prüfen Sie die Prune- und GC-Konfiguration:

proxmox-backup-manager datastore show <DATASTORE>

Erwartetes Ergebnis: Die Datastore-Konfiguration zeigt die Zeitpläne für Prune und Garbage Collection.

Vorgehen bei Kompromittierung des API-Tokens

Wenn das Token-Secret offengelegt wurde, widerrufen Sie es sofort.

Löschen Sie den Token auf PBS:

proxmox-backup-manager user delete-token <PBS_USER> <TOKEN_NAME>

Erwartetes Ergebnis: PBS entfernt den Token.

Erstellen Sie anschließend einen Ersatz-Token:

proxmox-backup-manager user generate-token <PBS_USER> <NEW_TOKEN_NAME> proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup --auth-id '<PBS_USER>!<NEW_TOKEN_NAME>' proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader --auth-id '<PBS_USER>!<NEW_TOKEN_NAME>'

Aktualisieren Sie das Storage-Passwort in Proxmox VE:

pvesm set <PVE_STORAGE_ID> --username '<PBS_USER>!<NEW_TOKEN_NAME>' pvesm set <PVE_STORAGE_ID> --password

Fügen Sie bei der Eingabeaufforderung das neue Token-Secret ein.

Erwartetes Ergebnis: Proxmox VE verwendet den neuen Token für die sichere Authentifizierung per API-Token.

Info

API-Tokens sind für ein einfaches Widerrufen ausgelegt, falls ein Client kompromittiert wird. Das ist einer der wichtigsten Gründe, Tokens zu verwenden, anstatt ein Benutzerpasswort in Proxmox VE zu speichern.

Änderungen rückgängig machen

Danger

Sichern Sie vor dem Löschen des Storage eine Kopie des Verschlüsselungsschlüssels außerhalb des Clusters.

Entfernen Sie den Proxmox-VE-Storage-Eintrag:

pvesm remove <PVE_STORAGE_ID>

Erwartetes Ergebnis: Proxmox VE entfernt die PBS-Storage-Konfiguration. Vorhandene Backups auf PBS bleiben im Datastore erhalten.

Löschen Sie den API-Token:

proxmox-backup-manager user delete-token <PBS_USER> <TOKEN_NAME>

Erwartetes Ergebnis: PBS widerruft den API-Token.

Entfernen Sie die ACL-Einträge:

proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreReader \ --auth-id <ID> --delete 1 proxmox-backup-manager acl update /datastore/<DATASTORE>/<NAMESPACE> DatastoreBackup \ --auth-id <ID> --delete 1

Erwartetes Ergebnis: PBS entfernt die Namespace-Berechtigungen.

Entfernen Sie den dedizierten Benutzer, wenn er nicht mehr benötigt wird:

proxmox-backup-manager user remove <PBS_USER>

Erwartetes Ergebnis: PBS entfernt den Benutzer.

Warning

Löschen Sie den Namespace oder den Datastore nur, wenn Sie die Backup-Daten bewusst entfernen möchten. Das Entfernen der Zugriffskonfiguration ist nicht dasselbe wie das Löschen von Backups.

Fehlerbehebung

Proxmox VE zeigt den PBS-Storage als inaktiv an

Prüfen Sie den Netzwerkzugriff:

nc -vz <PBS_HOST> 8007

Erwartete Ausgabe:

Connection to <PBS_HOST> 8007 port [tcp/*] succeeded!

Prüfen Sie den Fingerprint des PBS:

proxmox-backup-manager cert info | grep Fingerprint

Wenn sich der Fingerprint geändert hat, aktualisieren Sie ihn in Proxmox VE:

pvesm set <PVE_STORAGE_ID> --fingerprint <PBS_FINGERPRINT>

Authentifizierung mit dem API-Token schlägt fehl

Vergewissern Sie sich, dass der Benutzername die vollständige Token-ID ist:

<PBS_USER>!<TOKEN_NAME>

Beispiel:

pve-backup@pbs!pve-token

Vergewissern Sie sich, dass das Passwortfeld das Token-Secret enthält und nicht das Passwort des PBS-Benutzers.

Prüfen Sie die Berechtigungen:

proxmox-backup-manager acl list

Der Token muss ACL-Einträge auf dem Namespace-Pfad haben, und der übergeordnete Benutzer muss ebenfalls kompatible Berechtigungen besitzen.

Backup schlägt mit Berechtigungsfehlern fehl

Prüfen Sie den Namespace-Pfad:

/datastore/<DATASTORE>/<NAMESPACE>

Verwenden Sie beim Zuweisen von ACLs nicht den Dateisystempfad des Datastores, etwa /mnt/datastore/<DATASTORE>. PBS-ACL-Pfade verwenden das Format /datastore/<DATASTORE>.

Der Datastore wächst nach dem Pruning weiter

Das ist in der Regel zu erwarten, wenn die GC noch nicht gelaufen ist oder sich Chunks noch innerhalb des Sicherheitsfensters befinden. PBS löscht Chunks nicht sofort nach dem Prune, da sie möglicherweise noch von anderen Snapshots referenziert oder durch das GC-Stichtagsfenster geschützt sind.

GC-Status prüfen:

proxmox-backup-manager garbage-collection status <DATASTORE>

Falls die GC nicht geplant ist, konfigurieren Sie sie:

proxmox-backup-manager datastore update <DATASTORE> \ --gc-schedule "04:30"

Verschlüsselte Backups lassen sich nicht wiederherstellen

Vergewissern Sie sich, dass der Proxmox-VE-Storage weiterhin Zugriff auf den Verschlüsselungsschlüssel hat.

Prüfen Sie Ihr internes Inventar der Backup-Schlüssel. Wenn der ursprüngliche Proxmox-VE-Cluster verloren gegangen ist, benötigt die Wiederherstellung den gesicherten Verschlüsselungsschlüssel. Ohne ihn kann die clientseitige Backup-Verschlüsselung die Wiederherstellung verhindern.

Fazit

Sie haben eine sichere Verbindung von Proxmox VE zum Proxmox Backup Server eingerichtet – mit einem dedizierten PBS-Benutzer, Proxmox-API-Tokens, auf Namespaces beschränkten Berechtigungen und clientseitiger Verschlüsselung. Außerdem haben Sie Prune- und Garbage-Collection-Zeitpläne konfiguriert, damit die Backup-Verschlüsselung in Proxmox auch bei wachsender Backup-Historie tragfähig bleibt.

Diese Konfiguration verbessert die Authentifizierung der Proxmox-VE-Backups, schützt verschlüsselte VM-Backups vor serverseitiger Offenlegung und bietet ein praxistaugliches, sicheres Backup-Repository für die langfristige Konfiguration des Proxmox Backup Servers.

Empfohlene nächste Schritte:

  • Testen Sie eine vollständige VM-Wiederherstellung.
  • Testen Sie eine Wiederherstellung auf Dateiebene.
  • Speichern Sie den Verschlüsselungsschlüssel an mindestens zwei sicheren Orten.
  • Überwachen Sie das Datastore-Wachstum nach jedem Prune- und GC-Zyklus.
  • Fügen Sie PBS-Verify-Jobs hinzu, um stille Backup-Beschädigungen zu erkennen.
  • Dokumentieren Sie den Prozess zum Widerruf von Tokens in Ihrem Incident-Response-Plan.

Dokumentversion: 1.0
Zuletzt aktualisiert: Juni 2026
Verantwortlich: Team für technische Dokumentation

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA