S3-Bucket mit Kopia nutzen
Diese Anleitung erklärt Schritt für Schritt, wie Sie einen S3-kompatiblen backup@bunker-Bucket mit Kopia als Backup-Ziel nutzen. Besonderer Fokus liegt auf lokaler Verschlüsselung, der Erstellung und Aufbewahrung von Snapshots sowie der Wiederherstellung mit dem Repository-Passwort.
Was ist Kopia?
Abschnitt betitelt „Was ist Kopia?“Kopia ist ein quelloffenes Backup-Programm, das inkrementelle, deduplizierte und clientseitig verschlüsselte Backups erstellt. Es unterstützt verschiedene Backend-Speicher („Repositories“), darunter S3-kompatible Dienste wie backup@bunker. Alle Daten werden vor dem Upload auf Ihrem Rechner verschlüsselt; wir sehen nur unlesbare Blöcke.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Kopia installiert (CLI und/oder KopiaUI). Siehe auch Was ist S3? und S3-Kompatibilität
- Ein backup@bunker-Bucket mit Access Key und Secret aus dem Dashboard (S3-Zugangsdaten, einmalig einblendbar)
- Ein sicheres Repository-Passwort, das Sie sich notieren (ohne dieses Passwort ist eine Wiederherstellung unmöglich)
Repository anlegen (Erstverbindung zum Bucket)
Abschnitt betitelt „Repository anlegen (Erstverbindung zum Bucket)“Ein Repository ist die Verbindung zwischen Kopia und Ihrem Speicher (hier: S3-Bucket). Beim Anlegen legen Sie das Repository-Passwort fest. Dieses Passwort wird nur lokal verwendet und leitet die Verschlüsselung; es wird niemals an den Server gesendet.
S3-Repository erstellen (Beispiel)
Abschnitt betitelt „S3-Repository erstellen (Beispiel)“kopia repository create s3 \ --bucket=b1.<hash> \ --access-key-id=<hash> \ --secret-access-key=<hash> \ --endpoint=https://s3.bunker1.internett.de \ --region=eu-central-1--bucket: Name Ihres backup@bunker-Buckets (b1.<hash>)--access-key-id/--secret-access-key: Access Key + Secret--endpoint:s3.bunker1.internett.de--region:eu-central-1
Kopia fragt Sie nach einem Repository-Passwort. Dieses Passwort:
- wird nur auf Ihrem Rechner verwendet,
- leitet die Verschlüsselungsschlüssel ab (siehe nächster Abschnitt),
- wird niemals an backup@bunker oder S3 gesendet,
- ist unverzichtbar für jede spätere Wiederherstellung.
Ohne dieses Passwort können Sie das Repository nicht öffnen und keine Backups wiederherstellen. Es gibt keine „Passwort zurücksetzen“-Funktion beim Speicheranbieter, weil dieser das Passwort nie kennt.
Repository verbinden (nach Neustart / neuem Rechner)
Abschnitt betitelt „Repository verbinden (nach Neustart / neuem Rechner)“Wenn das Repository bereits existiert, verbinden Sie sich so:
kopia repository connect s3 \ --bucket=b1.<hash> \ --access-key-id=<hash> \ --secret-access-key=<hash> \ --endpoint=https://s3.bunker1.internett.de \ --region=eu-central-1Hinweis: Access Key und Secret stammen aus den S3-Zugangsdaten im Dashboard (einmalige Einblendung pro Bucket).
Auch hier müssen Sie das gleiche Repository-Passwort eingeben. Nur dann kann Kopia die gespeicherten Metadaten und Inhalte entschlüsseln.
Wie die lokale Verschlüsselung funktioniert
Abschnitt betitelt „Wie die lokale Verschlüsselung funktioniert“Grundprinzip: Verschlüsselung vor dem Upload
Abschnitt betitelt „Grundprinzip: Verschlüsselung vor dem Upload“Alle Daten werden auf Ihrem Rechner verschlüsselt, bevor sie an S3/backup@bunker gesendet werden:
- Dateien werden in Blöcke zerlegt, komprimiert und mit einem Verschlüsselungsverfahren (Standard: AES-256-GCM) verarbeitet.
- Ein Verschlüsselungsschlüssel wird aus Ihrem Repository-Passwort abgeleitet (z. B. per Key-Derivation-Function wie Argon2). Das Passwort selbst wird nicht gespeichert.
- Nur die verschlüsselten Blöcke und verschlüsselten Metadaten (Manifeste, Inhaltsverzeichnisse) werden an S3 übertragen.
- backup@bunker sieht nur Ciphertext und kann ohne Ihr Passwort nichts lesen oder wiederherstellen.
Was genau wird verschlüsselt?
Abschnitt betitelt „Was genau wird verschlüsselt?“- Inhalt aller gesicherten Dateien
- Pfade, Dateinamen und Metadaten der Snapshots
- Manifeste (welche Blöcke zu welchem Snapshot gehören)
- Index-Strukturen für Deduplizierung
Ohne das Repository-Passwort sind diese Daten für uns und Dritte nutzlos.
Algorithmen (Überblick)
Abschnitt betitelt „Algorithmen (Überblick)“- Verschlüsselung: Standard ist
AES256-GCM-HMAC-SHA256; optional z. B. ChaCha20-Poly1305. - Schlüsselableitung: Das Repository-Passwort wird mit einem sicheren KDF in kryptographische Schlüssel überführt.
Details und Optionen finden Sie in der Kopia-Dokumentation.
Snapshots erstellen
Abschnitt betitelt „Snapshots erstellen“Ein Snapshot ist ein punktgenaues Abbild eines Ordners (oder mehrerer Quellen) zu einem bestimmten Zeitpunkt. Kopia speichert Snapshots inkrementell und dedupliziert: Nur geänderte Blöcke werden neu hochgeladen.
Einzelnen Snapshot manuell erstellen
Abschnitt betitelt „Einzelnen Snapshot manuell erstellen“kopia snapshot create /pfad/zum/ordnerBeispiel:
kopia snapshot create $HOME/DokumenteKopia:
- liest die Dateien unter dem angegebenen Pfad,
- zerlegt sie in Blöcke, komprimiert und verschlüsselt sie (lokal),
- vergleicht mit bereits im Repository vorhandenen Blöcken (Deduplizierung),
- lädt nur neue oder geänderte Blöcke zu S3 hoch,
- schreibt ein neues Snapshot-Manifest (verschlüsselt) ins Repository.
Jeder Snapshot hat eine eindeutige ID und einen Zeitstempel. Sie können beliebig viele Snapshots erstellen; wie viele davon dauerhaft behalten werden, steuern Sie über die Aufbewahrungsrichtlinie (Retention Policy) – siehe Abschnitt Aufbewahrung (Retention) und die Kopia-Dokumentation zu Retention.
Snapshot-Richtlinie (Policy) und geplante Snapshots
Abschnitt betitelt „Snapshot-Richtlinie (Policy) und geplante Snapshots“Über eine Policy legen Sie pro Quelle (z. B. Ordner) fest:
- Wann Kopia Snapshots erstellt (z. B. täglich per Cron/KopiaUI),
- wie viele Snapshots aufbewahrt werden (Retention, siehe unten),
- Optionen zu Kompression und Filterung.
Beispiel (Policy für ein Verzeichnis setzen):
kopia policy set /pfad/zum/ordner --snapshot-time="02:00" --snapshot-interval="24h0m0s"Damit wird täglich um 02:00 Uhr ein Snapshot erstellt (sofern ein Scheduler läuft, z. B. kopia server oder KopiaUI).
Aufbewahrung (Retention) – wie viele Snapshots bleiben erhalten?
Abschnitt betitelt „Aufbewahrung (Retention) – wie viele Snapshots bleiben erhalten?“Das betrifft nur Kopia-Snapshots in Ihrem Repository – nicht die Retention für Bucket-Snapshots im backup@bunker-Dashboard (Retention im Dashboard).
Ohne Aufbewahrungsregeln würden alle Snapshots dauerhaft liegen. Mit einer Retention Policy legen Sie fest, wie viele Snapshots pro Zeitraum behalten werden; ältere werden automatisch gelöscht.
Typische Einstellungen (Beispiel)
Abschnitt betitelt „Typische Einstellungen (Beispiel)“- Letzte N Snapshots behalten (z. B. letzte 7),
- Stündlich: z. B. 24 stündliche Snapshots,
- Täglich: z. B. 7 Tage,
- Wöchentlich: z. B. 4 Wochen,
- Monatlich: z. B. 12 Monate,
- Jährlich: z. B. 5 Jahre.
Kopia behält die neuesten Snapshots pro Kategorie und entfernt ältere. So haben Sie kurzfristig feine Granularität und langfristig Platzersparnis.
Retention per Policy setzen (Beispiel CLI)
Abschnitt betitelt „Retention per Policy setzen (Beispiel CLI)“kopia policy set /pfad/zum/ordner \ --keep-latest=7 \ --keep-hourly=24 \ --keep-daily=7 \ --keep-weekly=4 \ --keep-monthly=12 \ --keep-annual=5--keep-latest=7: Mindestens die letzten 7 Snapshots immer behalten.--keep-hourly=24: Bis zu 24 stündliche (älteste Stündliche können entfernt werden, wenn älter als die täglichen Regeln).--keep-daily=7: Bis zu 7 tägliche.--keep-weekly=4: Bis zu 4 wöchentliche.--keep-monthly=12: Bis zu 12 monatliche.--keep-annual=5: Bis zu 5 jährliche.
Die genaue Semantik (z. B. wann „täglich“ beginnt) steht in der Kopia-Dokumentation zu Retention. Nach dem Setzen der Policy wendet Kopia diese bei zukünftigen Läufen an und bereinigt alte Snapshots entsprechend.
Wiederherstellung – Rolle des Repository-Passworts
Abschnitt betitelt „Wiederherstellung – Rolle des Repository-Passworts“Um Backups wiederherzustellen, muss Kopia das Repository öffnen können. Dafür ist immer das Repository-Passwort nötig.
Ablauf der Wiederherstellung
Abschnitt betitelt „Ablauf der Wiederherstellung“- Repository verbinden (siehe oben) und Repository-Passwort eingeben.
- Kopia entschlüsselt damit die Manifeste und Indizes und kann Snapshots auflisten.
- Sie wählen einen Snapshot (z. B. über
kopia snapshot list) und stellen ihn wieder her.
Snapshots auflisten
Abschnitt betitelt „Snapshots auflisten“kopia snapshot listAusgabe enthält u. a. Snapshot-IDs, Quellpfade und Zeitstempel.
Vollständige Wiederherstellung in einen Ordner
Abschnitt betitelt „Vollständige Wiederherstellung in einen Ordner“kopia restore <SNAPSHOT-ID> /ziel/ordnerBeispiel:
kopia restore k1a2b3c4d5e6... /tmp/wiederherstellungKopia lädt die zu diesem Snapshot gehörenden verschlüsselten Blöcke von S3, entschlüsselt sie lokal mit den aus dem Repository-Passwort abgeleiteten Schlüsseln und schreibt die Dateien nach /ziel/ordner.
Einzelne Dateien oder Ordner wiederherstellen
Abschnitt betitelt „Einzelne Dateien oder Ordner wiederherstellen“Sie können einen Snapshot als virtuelles Dateisystem mounten (wo unterstützt):
kopia mount k1a2b3c4d5e6... /mnt/kopiaDann kopieren Sie nur die benötigten Dateien aus /mnt/kopia und unmounten anschließend.
Best Practices
Abschnitt betitelt „Best Practices“- Repository-Passwort: In einem Passwortmanager oder an einem sicheren Ort aufbewahren; niemals an Dritte oder an den Speicheranbieter geben.
- Wiederherstellung testen: Regelmäßig (z. B. jährlich) eine Test-Wiederherstellung auf einem anderen Rechner durchführen (Repository verbinden mit Passwort, Snapshot wiederherstellen).
- Keys sicher halten: Access Key und Secret wie ein Passwort behandeln; nicht in Repositories committen oder in Logs schreiben.
- Retention anpassen: Je nach Wichtigkeit der Daten und Speicherbudget Retention großzügig (mehr Snapshots) oder restriktiver wählen.
- Kopia aktuell halten: Updates von Kopia nutzen, um von Sicherheits- und Kompatibilitätsverbesserungen zu profitieren.
Mit dieser Einrichtung nutzen Sie backup@bunker als sicheres, S3-kompatibles Ziel für Kopia mit vollständig lokaler Verschlüsselung, klarer Snapshot- und Retention-Steuerung und Wiederherstellung nur mit Ihrem Repository-Passwort.