Verschlüsseltes Backup auf ext. Disk

Status
Für weitere Antworten geschlossen.

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
Keine Fragen, ich wollte mal meine Lösung vorstellen, vielleicht kann es ja der eine oder andere gebrauchen.

Ziel
Das Ziel ist ein Offsite-Backup mit Lagerung an einem nur bedingt vertrauenswürdigem Ort, es könnte also jemand ggf. Zugriff auf die Platten bekommen. Daher muss es verschlüsselt werden.

Voraussetzungen
  • Syno mit Unterstützung für verschlüsselte Ordner (eCryptfs)
  • Zugriff auf die Konsole (Telnet / SSH)
  • (extener Datenträger ;))

Umsetzung
  1. Erstellen eines verschlüsselten Ordners, ganz normal übers DSM. Der Name ist egal, wir brauchen davon nur den Schlüssel, daher kann der Ordner auch versteckt werden und es braucht auch keiner Rechte drauf. Wichtig ist, den Ordner zu verschlüsseln. Da der Schlüssel nur für die externen Platten verwendet wird, kann er auch dauerhaft auf der DS liegen. Dieser Ordner darf nicht gelöscht werden, weil dann auch der Schlüssel verloren geht.
  2. Externe Platte anhängen. Im folgenden verwende ich eine am eSata-Anschluss, geht aber auch genauso mit USB.
  3. Konsole auf die DS öffnen.
  4. Auf der externen Platte die notwendigen Verzeichnisse anlegen.
    Rich (BBCode):
    DS1010> cd /volumeSATA/satashare/
    DS1010> mkdir @backup@
    DS1010> mkdir backup
  5. Das verschlüsselte Dateisystem mounten. Die notwendigen Daten erfährt man durch die Eingabe von "mount".
    Rich (BBCode):
    DS1010> mount
    ...
    /volume1/@test@ on /volume1/test type ecryptfs (rw,ecryptfs_sig=d1a01d50c3f21e00,ecryptfs_fnek_sig=d1a01d50c3f21e00,ecryptfs_cipher=aes,ecryptfs_key_bytes=32)
    Relevant ist der Teil in Klammern. Daraus ergibt sich dann folgender Befehl (alles in einer Zeile):
    Rich (BBCode):
    DS1010> mount -t ecryptfs /volumeSATA/satashare/@backup@ /volumeSATA/satashare/backup -o rw,ecryptfs_sig=d1a01d50c3f21e00,ecryptfs_fnek_sig=d1a01d50c3f21e00,ecryptfs_cipher=aes,ecryptfs_key_bytes=32
    In "@backu@" landen die verschlüsselten Daten, der Zugriff selbst erfolgt über das Verzeichnis "backup".
  6. Jetzt kann man in "/volumeSATA/satashare/backup" ein Backup durchführen, rsync, rsnapshot oder was auch immer.
  7. Wenn man fertig ist, den verschlüsselten Ordner wieder aushängen.
    Rich (BBCode):
    DS1010> umount /volumeSATA/satashare/backup/
  8. Anschließend kann die Platte dann entfernt werden.

Fertiges Script
Hier das Script, das ich verwende, zusätzlich mit:
  • Fehlerprüfungen
  • Logging
  • Mailbenachrichtigung
  • Auswerfen des Datenträgers, nach Abschluss des Backups

Das Script ist in zwei Teile aufgeteilt. Dieses hier wird wird nachts vom Cron gestartet, und übernimmt das mounten.
Rich (BBCode):
#!/bin/sh

logfile="/volume1/backup/backup-sata-`date +%Y-%V`.log"
device="/volumeSATA/satashare"

if [ -e $device/do.backup ]
then
        echo "device connected, starting backup"
else
        echo "no device connected, aborting backup"
        return
fi

echo "########################################################################" >> $logfile
echo "" >> $logfile
echo "Starting backup on `date +%Y-%m-%d` `date +%k:%M:%S`" >> $logfile
echo "" >> $logfile

mount -t ecryptfs $device/@backup@ $device/backup \
-o rw,ecryptfs_sig=d1a01d50c3f21e00,ecryptfs_fnek_sig=d1a01d50c3f21e00,ecryptfs_cipher=aes,ecryptfs_key_bytes=32
if [ $? -eq 0 ]
then
        echo "Encrypted filesystem mounted" >> $logfile
else
        echo "Error while mounting the encrypted filesystem" >> $logfile
        echo "" >> $logfile
        synomail SATABackupFailed
        return
fi

$device/backup/run.backup $device >> $logfile 2>&1

echo "" >> $logfile
echo "------------------------------------------------------------------------" >> $logfile
echo "" >> $logfile

umount $device/backup >> $logfile
if [ $? -eq 0 ]
then
        echo "Encrypted filesystem unmounted" >> $logfile
else
        echo "Error while unmounting the encrypted filesystem" >> $logfile
        echo "" >> $logfile
        synomail SATABackupFailed
        return
fi

echo "" >> $logfile
df -h $device >> $logfile
echo "" >> $logfile
echo "Backup finished on `date +%Y-%m-%d` `date +%k:%M:%S`" >> $logfile
echo "" >> $logfile

synosata -umount sdg1
if [ $? -eq 0 ]
then
        echo "Drive unmounted" >> $logfile                                                                           
        echo "" >> $logfile
else
        echo "Error while unmounting the drive" >> $logfile
        echo "" >> $logfile
        synomail SATABackupFailed
        return
fi

synomail SATABackupSuccess

Das zweite Scripf findet sich auf der Platte selbst ("/volumeSATA/satashare/backup/run.backup"). Dadurch kann ich verschiedene Platten mit unterschiedlichen Backupaufgaben verwenden. Zusätzlich dient die Datei "/volumeSATA/satashare/do.backup" als Sicherheitsmechanismus. Wenn diese nicht existert, passiert auch nicht, für den Fall, dass man eine andere Platte angeschlossen ist.
Rich (BBCode):
echo ""
echo "-- homes ---------------------------------------------------------------"
rsync -avh --delete --exclude=#recycle --exclude=@eaDir/ --exclude=Thumbs.db /volume1/homes/ $1/backup/homes

...

Ablauf ist dann am Abend die Platte einstecken, über Nacht läuft das Backup, am Morgen auf dem Handy die Mail lesen und bei Erfolg die Platte rausnehmen. Das Ganze geht also (soweit es möglich ist) automatisch.


Anmerkungen
Die Mailbenachrichtigung erfolgt über die eingebaute Funktion (synomail), also muss sie auch in der Systemsteuerung konfiguriert sein. Die Texte sind in "/usr/syno/synoman/webman/texts/ger/mails", hier habe ich einfach die beiden weiteren hinzugefügt.

Das "synosata -umount sdg1" wirft die externe Platte aus. Ob das so wirklich so gedacht ist, kann ich nicht sagen, bislang hatte ich damit unter DSM 3.0 keine Probleme. Mit DSM 2.3 hat sich die Kiste aber vollkommen aufgehängt, so dass nur ein reset übrig blieb, von daher also Benutzung auf eigene Gefahr.


Kommentare oder Verbesserungsvorschläge sind gerne willkommen.

===EDIT===

Das Thema steht nun auch in unserem Wiki: http://www.synology-wiki.de/index.php/Verschlüsseltes_Backup
 
Zuletzt bearbeitet von einem Moderator:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Gut, gut!!!

Fragen:

Du entfernst die @eaDirs? Hat das keine Nebeneffekte, wenn man mal zurücksichern will?

Und, wie sieht das Vorgehen bei einer Wiederherstellung eines verschlüsselten Verzeichnisses aus, z. B. wenn dieses mal aus versehen gelöscht wurde?

Itari
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
Die @eaDirs müssten doch automatisch wieder erstellt werden, im Zweifel durch ein erneutes Triggern der Indizierung, oder? Sind jedenfalls keine für mich relevanten Daten drin.


Wenn der Ordner gelöscht wurde, muss man einfach einen neuen mit dem gleichen Schlüssel anlegen (gleiches Vorgehen auch wenn andere / neue DS). Der Ordner ist nur dazu da, damit das mount ohne Nachfragen funktioniert.

Wenn man keine DS (mehr) hat, dann wie hier beschrieben vorgehen. Also den eingegebenen Schlüssel sollte man sich auch merken.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Die @eaDirs müssten doch automatisch wieder erstellt werden, im Zweifel durch ein erneutes Triggern der Indizierung, oder? Sind jedenfalls keine für mich relevanten Daten drin.

Bei Photos z.B. sind da die mühsam generierten Vorschaubilder drinne. Mach es doch so, dass man auswählen kann, ob man mit oder ohne @eaDirs sichern möchte.

Wenn der Ordner gelöscht wurde, muss man einfach einen neuen mit dem gleichen Schlüssel anlegen (gleiches Vorgehen auch wenn andere / neue DS). Der Ordner ist nur dazu da, damit das mount ohne Nachfragen funktioniert.

Wenn man keine DS (mehr) hat, dann wie hier beschrieben vorgehen. Also den eingegebenen Schlüssel sollte man sich auch merken.

Vielleicht kann man (auch wenn trivial) das Vorgehen hierzu als 1-2-3-Liste beschreiben, dann wäre auch dieser Teil perfekt.

Itari
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
Hmm, gibt es hier kein Editieren? Hab gerade gesehen, dass da noch ein Überbleibsel von einem der letzten Tests drin ist. Das ",remount" muss wech, das Script bricht sonst da ab.

Bei Photos z.B. sind da die mühsam generierten Vorschaubilder drinne. Mach es doch so, dass man auswählen kann, ob man mit oder ohne @eaDirs sichern möchte.

Das eigentliche Backup muss eh jeder an seine Gegebenheiten anpassen (welche Verzeichnisse, ob löschen und auch die ausgeschlossenen). Ich denke mal, wer soweit kommt, sollte dazu auch in der Lage sein.

Vielleicht kann man (auch wenn trivial) das Vorgehen hierzu als 1-2-3-Liste beschreiben, dann wäre auch dieser Teil perfekt.

Sowas wie:

Wiederherstellen
Sofern auf der DS noch alles OK ist (verschlüssselter Ordner noch vorhanden):
  1. Externe Platte anhängen.
  2. Konsole auf die DS öffnen.
  3. Das verschlüsselte Dateisystem mounten.
    Rich (BBCode):
    DS1010> mount -t ecryptfs /volumeSATA/satashare/@backup@ /volumeSATA/satashare/backup -o rw,ecryptfs_sig=d1a01d50c3f21e00,ecryptfs_fnek_sig=d1a01d50c3f21e00,ecryptfs_cipher=aes,ecryptfs_key_bytes=32
  4. Daten aus "/volumeSATA/satashare/backup" wiederherstellen, manuell kopieren oder wieder rsync, ....
  5. Nach Abschluss das verschlüsselte Dateisystem wieder aushängen:
    Rich (BBCode):
    DS1010> umount /volumeSATA/satashare/backup/

Wenn der verschlüssselter Ordner auf der DS weg ist bzw. man eine neue DS hat:
  1. Verschlüsselten Ordner übers DSM anlegen. Hierbei den gleichen Schlüssel wie ursprünglich eingeben.
  2. Punkte 1-5 wie vorstehend.

Wenn man keine DS mehr hat:
Wie hier beschrieben vorgehen. Auch dazu ist der ursprünglich Schlüssel notwendig.

(Das jetzt hier aufzuschreiben halte ich nicht für so sinnvoll. Das sollte ehr generell im Wiki landen, weil das gleiche Vorgehen ist auch beim Wiederherstellen von regulären Backups mit verschlüsselten Ordnern notwendig.)​


Weiß jetzt nicht wie allgemein interessant das ist, aber wenn gewünscht würde ich das dann alles auch ins Wiki packen.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Das passt nun alles und könnte so ins Wiki :)

Itari
 

--Q--

Benutzer
Mitglied seit
23. Apr 2008
Beiträge
138
Punkte für Reaktionen
0
Punkte
16
Gibts denn die Möglichkeit, dass von der DS verschlüsselte Verzeichnisse auch beim Backup direkt verschlüsselt werden?
Ansonsten macht die Verschlüsselung ja (zB bei Diebstahl) wenig Sinn, wenn dann nachher auch eine unverschlüsselte Version der Daten als Backup rum liegt.
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
1
Punkte
84
@ --Q---
So ganz verstehe ich die Frage nicht. Das Backup ist doch verschlüsselt.

Ansonsten wenn es Dir darum geht, bereits auf der DS verschlüsselte Daten zu sichern, dann kannst Du das direkt mit den verschlüsselten Verzeichnissen machen. Die DS legt bei jeder verschlüsselten Freigabe zwei Verzeichnisse auf dem Volume an, einmal "Name" und dazu passend "@Name@". Wenn Du also das "@Name@" sicherst, dann bleibt alles die ganze Zeit verschlüsselt. Der einzige Nachteil ist, dass man dort nichts filtern/weglassen kann, weil man mit den Namen nichts anfangen kann.

@ itari
Jo, richtige Stelle, danke.
 

--Q--

Benutzer
Mitglied seit
23. Apr 2008
Beiträge
138
Punkte für Reaktionen
0
Punkte
16
Ich meinte jetzt nicht in Bezug auf deine Methode, sondern ganz allgemein.

Wenn ich die DS ein Verzeichnis mit Hilfe der im DSM integrierten Software ein Verzeichnis verschlüsseln lasse, ist dann ein erstelltes Backup auch verschlüsselt?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Wenn ich die DS ein Verzeichnis mit Hilfe der im DSM integrierten Software ein Verzeichnis verschlüsseln lasse, ist dann ein erstelltes Backup auch verschlüsselt?

Ja!

Aber es gibt ja Verzeichnisse (video, photo, music), die kannst nicht verschlüsseln und dann wäre es eben auch schön, wenn man wenigstens ihre Sicherung verschlüsselt. Dafür ist das hier vorgestelle Skript da.

Itari
 

--Q--

Benutzer
Mitglied seit
23. Apr 2008
Beiträge
138
Punkte für Reaktionen
0
Punkte
16
Verstehe. Danke.

Und wenn ich jetzt Videodateien habe, die ich nicht in den video-Ordner lege, welche Nachteile habe ich dann? Mir kommt grad in den Sinn, dass die Dateien dann zB nicht mehr via DLNA zur Verfügung gestellt werden, ist das so?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Verstehe. Danke.

Und wenn ich jetzt Videodateien habe, die ich nicht in den video-Ordner lege, welche Nachteile habe ich dann? Mir kommt grad in den Sinn, dass die Dateien dann zB nicht mehr via DLNA zur Verfügung gestellt werden, ist das so?

Jepp ... du stellst genau die richtigen Fragen. :)

Itari
 

--Q--

Benutzer
Mitglied seit
23. Apr 2008
Beiträge
138
Punkte für Reaktionen
0
Punkte
16
Weißt du zufällig auch, warum das so ist? Ich kann mir da jetzt auf die Schnelle keinen technischen Grund vorstellen.
 

Super-Grobi

Benutzer
Mitglied seit
28. Sep 2010
Beiträge
1.913
Punkte für Reaktionen
0
Punkte
62
itari weiß det sicher genauer, aber es hat wohl was mit dem Zeitpunkt des Dienst-Startes und der möglichen "Öffnung" der verschlüsselten Ordner zu tun.

Es kann noch nicht entschlüsselt werden wenn der Dienst startet, das geht erst später.
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.024
Punkte für Reaktionen
275
Punkte
393
Hallo,
alles was nicht in photo, music, video liegt wird nicht vom DLNA Server erfasst. Du könntest aber über Netzwerkfreigaben darauf zugreifen.

Gruß Götz
 

--Q--

Benutzer
Mitglied seit
23. Apr 2008
Beiträge
138
Punkte für Reaktionen
0
Punkte
16
Das is klar, dass die anderen Ordner nicht vom DLNA-Server erfasst werden.

Die Frage ist vielmehr, warum sich diese Ordner nicht verschlüsseln lassen. Das mit dem Dienste-Start leuchtet erst mal ein, aber ich sehe keinen Grund, wieso man das nicht ändern könnte, oder einfach den entsprechenden Dienst neu startet.
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.024
Punkte für Reaktionen
275
Punkte
393
Hallo,
Sinn eines DLNA Servers ist es Medien zu veröffentlichen ohne Einschränkungen bezüglich User/Clients. Wenn ich also etwas öffentlich mache brauche ich es auch nicht verschlüsseln.

Gruß Götz
 

--Q--

Benutzer
Mitglied seit
23. Apr 2008
Beiträge
138
Punkte für Reaktionen
0
Punkte
16
Sorry, aber das ist Quatsch. Ein DLNA-Server stellt die Medien bereit, aber doch nicht öffentlich für jedermann (wenngleich das möglich wäre). Ich würde doch meinen es geht hauptsächlich um die zur Verfügung-Stellung zB für einen Netzwerkmedienplayer oder DLNA-fähigen Fernseher.
Dazu vllt ein Zitat aus WIkipedia:
Die Digital Living Network Alliance (DLNA) ist eine internationale Vereinigung von Herstellern von Computern, Unterhaltungselektronik und Mobiltelefonen mit dem Ziel, die Interoperabilität von informationstechnischen Geräten unterschiedlicher Hersteller aus dem Bereich Heim- und Eigengebrauch sicherzustellen.
Heim- und Eigengebrauch!!!
Generell von der Absicht auszugehen, dass die Medien jedem, also der Öffentlichkeit zugänglich gemacht werden (sollen), halte ich für absoluten Schwachsinn.




Im Übrigen war die Frage nach technischen Barrieren.
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.024
Punkte für Reaktionen
275
Punkte
393
Hallo,
mit öffentlich ist hier auch nur Dein lokales Netz gemeint, aber in diesem sind die Inhalte für jenen User/Client zugänglich/öffentlich. Deswegen stellt sich für einen Medieserver gar nicht erst die Frage der Verschlüsselung.
Technisch wäre es sicherlich machbar, aber wozu? Erkläre doch bitte welchen Vorteil/Zweck Du darin siehst, sonst reden wir weiter aneinander vorbei.

Gruß Götz
 

--Q--

Benutzer
Mitglied seit
23. Apr 2008
Beiträge
138
Punkte für Reaktionen
0
Punkte
16
Ähm, der selbe Vorteil, wie bei allen anderen Ordnern, die verschlüsselt werden?!
Die Vorteile einer Verschlüsselung muss ich jetzt wohl nicht auszählen.


Bei anderen verschlüsselten Ordnern haben auch alle User (mit entspr. Rechten) im Netzwerk Zugriff, das ist doch keine Argumentation. Bei einer Verschlüsselung gehts ja wohl hauptsächlich um Schutz bei Diebstahl, der Schutz wird ja auch erst aktiv, wenn die DS ausgeschaltet war und das Passwort nicht wieder eingegeben wurde.
 
Status
Für weitere Antworten geschlossen.
 

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