Server- und Client-Backup
Restow sichert Linux- und macOS-Server sowie Client-Rechner mit einem kleinen Agenten, der restic steuert, in Ihre eigene Restow-Instanz. Die Funktion gehört zur Community-Edition und steht damit in jeder Edition zur Verfügung, und sie ist seit 0.1.0 (Beta) verfügbar. Die Backups sind dateibasiert, dedupliziert und verschlüsselt abgelegt, und sie werden so geprüft wie Postfach-Backups: Ein Backup, das nie zurückgelesen wurde, gilt nicht als bewiesen.
Was es tut
Der Agent ist ein kleines Go-Programm für Linux (systemd, x86_64 und aarch64) und macOS ab Version 13 (Intel und Apple Silicon). Er sichert die von Ihnen gewählten Ordner mit restic 0.19.1 in ein Repository auf Ihrer Restow-Instanz, dedupliziert, komprimiert und verschlüsselt. Bewusst dateibasiert: keine Datenträger-Images und kein Bare-Metal-Restore. Eine ganze Maschine wiederherzustellen heißt, das Betriebssystem neu zu installieren und die Dateien zurückzuspielen.
Wie ein Rechner hinzukommt
In der Restow-Weboberfläche legen Sie einen neuen Server oder einen neuen Client an. Restow zeigt einen Befehl mit einem Einmal-Token; das Token gilt 24 Stunden und nur für einen einzigen Einsatz. Sie kopieren den Befehl und führen ihn mit sudo auf dem Rechner aus. Das Installationsskript liefert Ihre eigene Instanz aus: Es lädt den Agenten und restic von dieser Instanz, prüft den SHA-256 beider Programme, bevor etwas installiert wird, richtet den Dienst ein (systemd oder launchd), meldet den Rechner an und startet ihn. Ein erneuter Aufruf repariert oder aktualisiert an Ort und Stelle. Weil das Token als Umgebungsvariable von sudo beim Skript ankommt, ist es kurz in der Prozessliste dieses Rechners sichtbar; es ist einmalig verwendbar und läuft ab.
Der Agent baut ausgehende HTTPS-Verbindungen zu Ihrer Restow-Instanz auf und zu nichts sonst, und er öffnet keinen Port auf dem Rechner. Unter macOS erlauben Sie dem Agenten in den Systemeinstellungen den „Vollen Festplattenzugriff“; ohne ihn werden geschützte Ordner übersprungen, und das Backup wird als teilweise gemeldet, mit dem Grund im Laufprotokoll.
Warum der Agent seine Backups nicht zerstören kann
„Nur anhängend“ erzwingt Ihre Restow-Instanz, es bleibt nicht dem Wohlverhalten des Agenten überlassen. Der Agent schreibt in ein restic-Repository, das die Instanz im Append-only-Modus anbietet: Er kann Backups hinzufügen, aber nicht löschen oder überschreiben. Die Ende-zu-Ende-Tests von Restow prüfen, dass forget, prune, Löschen und Überschreiben mit dem Zugang des Agenten verweigert werden und die gespeicherten Bytes unverändert bleiben. Aufbewahrung, Bereinigung und Integritätsprüfungen laufen ausschließlich auf dem Restow-Server.
Der Agent hält nie Zugangsdaten des Speicherziels, etwa S3-Schlüssel oder Mount-Pfade. Er kennt nur sein eigenes Agent-Geheimnis und das Passwort seines eigenen Repositorys. Jeder Rechner hat ein Repository und ein zufälliges Passwort; der Server bewahrt dieses Passwort mit dem Mandantenschlüssel verschlüsselt auf, sodass ein Administrator auch dann wiederherstellen kann, wenn der Rechner selbst nicht mehr existiert.
Restore
Ein Restore auf den Rechner landet immer in einem neuen Ordner und nie über vorhandenen Dateien: Das Ziel darf nicht existieren oder muss leer sein, sonst schlägt der Lauf fehl und nichts wird angefasst. Alternativ durchsuchen Sie ein Backup in der Restow-Oberfläche und laden Dateien oder Ordner als ZIP herunter. Durchsuchen, Downloads und Restore-Anforderungen stehen im Audit-Log. Das Repository ist ein gewöhnliches restic-Repository; ein Restore ohne Restow ist daher mit dem Repository-Passwort möglich. Ein Administrator kann sich dieses Passwort von Restow anzeigen lassen; bewahren Sie eine Kopie in einem Passwortmanager auf, denn ohne die Restow-Datenbank und ihren Master-Key lässt sich das Passwort nicht rekonstruieren. Die allgemeinen Restore-Regeln stehen auf der Restore-Seite.
Bewiesen wiederherstellbar
Nach jedem Backup hält der Agent den SHA-256 von bis zu 20 zufälligen Dateien fest. Später stellt der Server diese Dateien aus dem Snapshot wieder her und vergleicht die Hashes; das Ergebnis ist nur dann grün, wenn sie übereinstimmen. Dieses Ergebnis fließt in die Wiederherstellungsbereitschaft (Recovery Readiness) ein, denselben Status wie bei Postfächern, sodass ein Rechner nur dann als bewiesen gilt, wenn sein neuestes Backup zurückgelesen wurde. Mehr zum Ansatz steht auf der Verifizierungs-Seite.
Jede Woche prüft der Server außerdem jedes Repository und liest dabei pro Lauf ein Zwanzigstel der Daten, sodass das gesamte Repository über etwa fünf Monate gelesen wird. Auch die Aufbewahrung läuft auf dem Server; der Standard behält 30 tägliche, 12 wöchentliche und 12 monatliche Backups und lässt sich je Rechner ändern.
Alarme
Restow löst einen Alarm aus, über dieselben Kanäle wie bei jedem anderen Job (Glocke, E-Mail, Webhook), wenn:
- ein Server still ist: standardmäßig länger als 2 Stunden kein Kontakt;
- ein Client länger kein gutes Backup hatte: standardmäßig 7 Tage, denn ein Laptop ist nachts aus;
- ein Backup fehlschlägt oder ein Restore auf einem Rechner fehlschlägt;
- ein Restore-Test fehlschlägt oder eine Repository-Prüfung Schäden findet.
Profile und Hooks
Das Profil Server sichert täglich (Standardzeit 22:00 Uhr). Das Profil Client sichert, sobald der Rechner Ihre Restow-Instanz erreicht, höchstens alle 4 Stunden, und lässt sich in der Bandbreite begrenzen und so einstellen, dass es nur am Netzteil läuft (die Erkennung ist ein bestmöglicher Versuch). Optionale Pre- und Post-Hooks führen Befehle rund um ein Backup aus, zum Beispiel einen Datenbank-Dump. Hooks laufen als root und sind eine Administratorfunktion: Wer die Konfiguration eines Rechners in Restow ändern kann, kann auf diesem Rechner Befehle als root ausführen. Behandeln Sie diesen Zugang entsprechend.
Benannte Grenzen, nicht versteckte
- Noch kein Windows-Agent. Er ist geplant, siehe die Roadmap.
- Noch keine LVM-, ZFS- oder btrfs-Snapshots und unter macOS keine APFS-Snapshots. Die Konsistenz kommt aus den optionalen Hooks (zum Beispiel ein Datenbank-Dump); Dateien, die sich während des Lesens ändern, können im Snapshot inkonsistent landen.
- Noch kein mTLS: Jeder Agent authentifiziert sich mit einem eigenen Geheimnis über HTTPS. Ein gestohlenes Geheimnis erlaubt nicht, etwas zu löschen.
- Keine Image- oder Bare-Metal-Backups, mit Absicht: Das Backup ist dateibasiert.
- Der Agent läuft als root, weil er jede Datei lesen muss, die er sichert.
- Der Agent sucht alle 6 Stunden nach Updates und prüft jedes per SHA-256. Die Prüfsumme stammt von Ihrer eigenen Instanz. Sie schützt daher vor beschädigten Downloads, nicht vor einer kompromittierten Instanz, und Agent-Updates sind nicht signiert.
- Das ist eine Beta (0.1.0). Betreiben Sie es neben Ihren bestehenden Backups, bis Sie selbst daraus wiederhergestellt haben.
Dokumentation
Das Administrator-Handbuch enthält die Übersicht und die Installationsschritte, einschließlich der macOS-Berechtigung.
Häufig gefragt
Braucht der Agent einen eingehenden Port auf dem Rechner?
Nein. Der Agent baut nur ausgehende HTTPS-Verbindungen zu Ihrer eigenen Restow-Instanz auf und zu nichts sonst, und er öffnet keinen Port. Ihre Instanz verbindet sich nie mit dem Rechner: Aufgaben wie eine Restore-Anforderung reisen in der Antwort auf die regelmäßige Meldung des Agenten.
Kann der Agent seine eigenen Backups löschen oder ändern?
Nein. Ihre Restow-Instanz erzwingt „nur anhängend“ auf der Serverseite: Der Agent kann Backups hinzufügen, aber nicht löschen oder überschreiben, und er ruft nie forget oder prune auf. Aufbewahrung und Bereinigung laufen ausschließlich auf dem Restow-Server. Der Agent hält außerdem keine Zugangsdaten des Speicherziels, nur sein eigenes Agent-Geheimnis und das Passwort seines eigenen Repositorys. Eine Grenze wird offen genannt: Es gibt noch kein Client-Zertifikat. Ein gestohlenes Agent-Geheimnis (Root auf dem Rechner) würde erlauben, neue Backups in das Repository dieses Rechners zu schreiben und es zu lesen, aber nichts zu löschen.
Sichert Restow Windows-Rechner?
Noch nicht. Der Agent wird in 0.1.0 (Beta) für Linux und macOS ausgeliefert. Ein Windows-Agent ist geplant und steht auf der Roadmap; nichts Windows-Spezifisches ist Teil dieses Releases, und der Server lehnt das Anlegen eines Windows-Rechners ab.
Kostet das Server- und Client-Backup extra?
Es gehört zur Community-Edition und steht damit in jeder Edition zur Verfügung. Was die Editionen kosten, steht auf der Preisseite.