Synology Diskstation als BorgBackup Server via SSH für Non-Admin Benutzer

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

luddi

Benutzer
Sehr erfahren
Registriert
05. Sep. 2012
Beiträge
3.369
Reaktionspunkte
689
Punkte
174
Nachdem ich privat selbst einige Linux Distributionen headless betreibe ist es ohnehin auch zwingend notwendig für diese Client Hosts eine gewisse Backup-Strategie aufzusetzen. Deshalb habe ich mich seit geraumer Zeit mit BorgBackup anfreunden können.
BorgBackup ist im ersten Moment nicht sofort zu verstehen aber wenn man hier einmal die nötige Erfahrung gesammelt hat ist dies für mich die Wahl der Tools für Backup-Archive.

Die wesentlichen Vorteile von BorgBackup sind:

1. Deduplication: Spart Speicherplatz, indem identische Datenblöcke nur einmal gespeichert werden.
2. Kompression: Unterstützt verschiedene Kompressionsalgorithmen (z.B. lz4, zlib, zstd).
3. Verschlüsselung: Starke, clientseitige Verschlüsselung (AES-256, Authenticated Encryption).
4. Effiziente inkrementelle Backups: Nach dem ersten Backup werden nur geänderte Daten übertragen.
5. Schnelle Wiederherstellung: Einzelne Dateien oder ganze Archive können schnell wiederhergestellt werden.
6. Remote-Backups: Backups können einfach auf entfernte Server per SSH übertragen werden.
7. Open Source: Frei verfügbar, aktiv entwickelt und gut dokumentiert.
8. Plattformunabhängig: Läuft auf Linux, macOS, BSD und teilweise Windows (z.B. WSL).

Auf diversen Linux-Plattformen wie Debian, Ubuntu ist dies ohnehin kein Problem BorgBackup zu installieren und Backups von einem Client Host entweder auf einer lokalen USB-Disk oder auf einem entfernten Ziel über SSH zu realisieren. Die einzige Voraussetzung für ein entferntes BorgBackup ist, dass auf dem entfernten Server Host auch BorgBackup installiert ist um den Borg Server zu erreichen. Dies ist auf offenen Plattformen überhaupt kein Problem und man kann Borg falls nicht vorhanden, über die Paketverteilung installieren.
Zudem bieten auch Webhosting-Anbieter wie z.B. Hetzner die Möglichkeit eine Storage Box als BorgBackup Ziel einzurichten.

Dank der SynoCommunity gibt es ein Borg Paket mit welchem problemlos Backups erstellt werden können. Wobei ich hier selbst ausschließlich mit dem root User operiert habe um Backups an entfernten Zielen wie z.B. die Hetzner Storage Box anzulegen. Auch hier gab es einige kleine Hürden bis man BorgBackup verstanden hat. Wie hier im Forum bereits zu lesen ist, kann es passieren dass z.B. der Speicherbedarf des /root Verzeichnis durch den Borg cache überläuft und dies zu Problemen führt.
Aber auch das ist über die Borg Parameter wie BORG_BASE_DIR, BORG_CACHE_DIR etc. zu definieren.

Somit ist man mit dem BorgBackup Paket der SynoCommunity in der Lage Backups von der Diskstation entweder auf ein lokales oder an ein entferntes Backup-Repository zu sichern.

Nun kommen wir aber zur eigentlichen Probelematik mit Synology.
Es ist bekannt, dass unter Synology DSM leider nur Benutzern der Admingruppe die Berechtigungen gewährt sind eine SSH Verbindung erstellen zu können.
Synology bietet zwar die Möglichkeit rsync aber eben nicht eine SSH (login-shell) von normalen Benutzern verwenden zu können.

Jedoch benötigt man für den Zugriff auf einen Borg-Server eine SSH Verbindung.

Ich habe hier im Forum ein paar wenige Beiträge finden können bei dem auch wie bei mir der Wunsch besteht das eigene Synology NAS als BorgBackup Server verwenden zu können.

Auch ein Wechsel des NAS habe ich in Erwägung gezogen nur um das Problem mit dem SSH-Login für normale User zu umgehen. Siehe Beitrag
Hier hatte ich leider auch keinen Erfolg und es wurde "hinfrickeln" in den Raum geworden. Ich stellte mir damals die Frage "nur wie?".

Nachdem ich selbst diese Motivation hatte mein eigenes NAS als BorgBackup Server verwenden zu wollen habe ich an einer Lösung gearbeitet.
Dabei ist das Projekt "synology-borg-server" entstanden mit dem man das eigene NAS als Server Host für BorgBackup mit einem Non-Admin Benutzer verwenden kann.


  1. Erhöhte Sicherheit:
    • Der Container läuft als Nicht-Root-Benutzer, wodurch das Risiko von Rechteausweitungen und Sicherheitslücken minimiert wird.
    • Die Authentifizierung per SSH-Schlüssel und die restrict-Option in authorized_keys sorgen dafür, dass jeder Client nur auf sein eigenes Backup-Repository zugreifen kann.
  2. Isolierung:
    • Docker-Container trennen den Borg-Server vom Hostsystem und anderen Diensten, was das Risiko von Störungen oder ungewolltem Datenzugriff verringert.
  3. Portabilität:
    • Die Lösung funktioniert auf jedem NAS oder Server mit Docker-Unterstützung (z.B. Synology, QNAP, UGREEN, TerraMaster) und ist einfach zu deployen oder zu migrieren.
  4. Einfache Updates und Wartung:
    • Updates für Borg oder Abhängigkeiten werden durch ein einfaches Aktualisieren oder Neubauen des Containers durchgeführt, ohne das Hostsystem zu beeinflussen.
  5. Vereinfachte Rechtevergabe:
    • Es ist nicht nötig, Backup-Nutzern Admin- oder Root-Rechte zu geben. Jeder Client arbeitet mit minimalen Rechten nur in seinem eigenen Repository.
  6. Konsistente Umgebung:
    • Der Container stellt eine einheitliche Laufzeitumgebung (Alpine Linux, spezifische Borg-Version) bereit, was Kompatibilitätsprobleme auf verschiedenen NAS-Plattformen reduziert.
  7. Feingranulare Zugriffskontrolle:
    • Die restrict-Option in authorized_keys erzwingt, dass jeder Client ausschließlich auf sein eigenes Backup-Verzeichnis zugreifen kann – auch bei Manipulationsversuchen.
  8. Einfache Wiederherstellung:
    • Bei Problemen kann einfach auf ein vorheriges Container-Image oder eine frühere Konfiguration zurückgerollt werden, ohne das Hostsystem zu beeinträchtigen.

Wer sich hierfür interessiert findet alle nötigen Informationen auf Github.

Link: luddinho/synology-borg-server

luddinho/synology-borg-server
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Benie

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat