Verschlüsseltes Backup: Unterschied zwischen den Versionen
imported>RudiWiesmayr Keine Bearbeitungszusammenfassung |
imported>Merthos vereinfacht, Passwort direkt im Skript angeben |
||
Zeile 10: | Zeile 10: | ||
== Vorgehen == | == Vorgehen == | ||
'''1. | '''1. Die externe Platte anhängen.''' | ||
'''2. Konsole auf die DS öffnen.''' | |||
'''3. Auf der externen Platte die notwendigen Verzeichnisse anlegen.''' | |||
'''3 | |||
<pre style="margin-left:20px">DS> cd /volumeSATA/satashare/ | <pre style="margin-left:20px">DS> cd /volumeSATA/satashare/ | ||
DS> mkdir @backup@ | DS> mkdir @backup@ | ||
DS> mkdir backup</pre> | DS> mkdir backup</pre> | ||
: | :Dieser Schritt ist nur beim ersten Mal durchzuführen. | ||
''' | '''4. Das verschlüsselte Dateisystem mounten.''' | ||
<pre style="margin-left:20px">DS> /usr/syno/sbin/mount.ecryptfs /volumeSATA/satashare/@backup@ /volumeSATA/satashare/backup | |||
<pre style="margin-left:20px">DS> mount | -o ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,no_sig_cache,ecryptfs_enable_filename_crypto,passwd=PASSWORD</pre> | ||
. | :(alles in einer Zeile) | ||
/ | |||
:( | |||
:Im Verzeichnis "@backu@" landen die verschlüsselten Daten, daher sollte man dort selber nichts anfassen. Der Zugriff erfolgt über das Verzeichnis "backup". | :Im Verzeichnis "@backu@" landen die verschlüsselten Daten, daher sollte man dort selber nichts anfassen. Der Zugriff erfolgt über das Verzeichnis "backup". | ||
''' | '''5. Durchführen des Backups.''' | ||
:Jetzt kann man in "<code>/volumeSATA/satashare/backup</code>" ein Backup durchführen, hierbei kann man das Backupprogamm seiner Wahl verwenden ([[Backup über RSync auf einen angeschlossenen Datenträger|rsync]], [[Rsnapshot|rsnapshot]] oder was auch immer). | :Jetzt kann man in "<code>/volumeSATA/satashare/backup</code>" ein Backup durchführen, hierbei kann man das Backupprogamm seiner Wahl verwenden ([[Backup über RSync auf einen angeschlossenen Datenträger|rsync]], [[Rsnapshot|rsnapshot]] oder was auch immer). | ||
''' | '''6. Das verschlüsselte Dateisystem aushängen''', wenn das Backup abgeschlossen ist und der Datenträger entfernt werden soll. | ||
<pre style="margin-left:20px">DS> umount /volumeSATA/satashare/backup/</pre> | <pre style="margin-left:20px">DS> /bin/umount /volumeSATA/satashare/backup/</pre> | ||
== Fertiges Script == | == Fertiges Script == | ||
Das folgende Script automatisiert den kompletten Vorgang (die Punkte | Das folgende Script automatisiert den kompletten Vorgang (die Punkte 4. bis 6.), zusätzlich mit: | ||
* automatisches Ausführen beim Anstecken der Platte (mittels [http://www.synology-forum.de/showthread.html?t=18360 autorun]) | * automatisches Ausführen beim Anstecken der Platte (mittels [http://www.synology-forum.de/showthread.html?t=18360 autorun]) | ||
* Fehlerprüfungen | * Fehlerprüfungen | ||
Zeile 83: | Zeile 67: | ||
echo "" >> $logfile | echo "" >> $logfile | ||
/ | /usr/syno/sbin/mount.ecryptfs $device/@backup@ $device/backup \ | ||
-o | -o ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,no_sig_cache,ecryptfs_enable_filename_crypto,passwd=PASSWORD | ||
if [ $? -eq 0 ] | if [ $? -eq 0 ] | ||
then | then | ||
Zeile 134: | Zeile 118: | ||
Die folgenden Stellen muss man ggf. anpassen: | Die folgenden Stellen muss man ggf. anpassen: | ||
* 2. Script - "<code>/volume1/backup/backup-sata-`date +%Y-%V`.log</code>": Das ist die Logdatei. Hier muss ggf. der Pfad angepasst werden. | * 2. Script - "<code>/volume1/backup/backup-sata-`date +%Y-%V`.log</code>": Das ist die Logdatei. Hier muss ggf. der Pfad angepasst werden. | ||
* 2. Script - "<code> | * 2. Script - "<code>PASSWORD</code>": Das Passwort für die Verschlüsselung. | ||
* 2. Script - "<code>synomail ...</code>": Die Mailbenachrichtigung erfolgt über die eingebaute Funktion der DS, also muss sie auch in der Systemsteuerung konfiguriert sein. Die Texte sind in "/usr/syno/synoman/webman/texts/ger/mails" (bzw. die Sprache, die für die DS eingestellt ist), hier müssten die beiden Einträge "SATABackupFailed" und "SATABackupSuccess" hinzugefügt werden. Alternativ die Zeilen rausnehmen (keine Mail) oder durch eine [[Statusmail von der Diskstation|alternative Variante]] ersetzen. | * 2. Script - "<code>synomail ...</code>": Die Mailbenachrichtigung erfolgt über die eingebaute Funktion der DS, also muss sie auch in der Systemsteuerung konfiguriert sein. Die Texte sind in "/usr/syno/synoman/webman/texts/ger/mails" (bzw. die Sprache, die für die DS eingestellt ist), hier müssten die beiden Einträge "SATABackupFailed" und "SATABackupSuccess" hinzugefügt werden. Alternativ die Zeilen rausnehmen (keine Mail) oder durch eine [[Statusmail von der Diskstation|alternative Variante]] ersetzen. | ||
* 3. Script: Dieses muss man an seine Gegebenheiten anpassen, welches Backupprogramm, welche Verzeichnisse, .... Wichtig ist, dass immer absolute Pfadangaben zu den Programmen verwendet werden müssen, da bei Ausführen der Suchpfad ggf. eingeschränkt ist. | * 3. Script: Dieses muss man an seine Gegebenheiten anpassen, welches Backupprogramm, welche Verzeichnisse, .... Wichtig ist, dass immer absolute Pfadangaben zu den Programmen verwendet werden müssen, da bei Ausführen der Suchpfad ggf. eingeschränkt ist. | ||
== Wiederherstellung == | == Wiederherstellung == | ||
'''Sofern auf | '''Sofern man Zugriff auf eine DS hat''' | ||
1. Externe Platte anhängen. | 1. Externe Platte anhängen. | ||
Zeile 151: | Zeile 130: | ||
2. Konsole auf die DS öffnen. | 2. Konsole auf die DS öffnen. | ||
3. Das verschlüsselte Dateisystem mounten. | 3. Das verschlüsselte Dateisystem mounten (siehe oben). | ||
4. Daten aus "<code>/volumeSATA/satashare/backup</code>" wiederherstellen, manuell kopieren oder wieder rsync, .... | 4. Daten aus "<code>/volumeSATA/satashare/backup</code>" wiederherstellen, manuell kopieren oder wieder rsync, .... | ||
5. Nach Abschluss das verschlüsselte Dateisystem wieder aushängen | 5. Nach Abschluss das verschlüsselte Dateisystem wieder aushängen (siehe oben). | ||
Version vom 20. Dezember 2012, 18:10 Uhr
Die hier beschriebenen Methode dient zur Verschlüssung eines Backups mit Hilfe von eCryptfs. Dieses ist seit DSM 2.3 mit in der Standard-Firmware enthalten. Sie kann prinzipiell für alle an der DS angeschlossenen Datenträger verwendet werden (interne, USB, eSATA).
Voraussetzungen
- DiskStation mit Unterstützung für verschlüsselte Ordner
- Zugriff auf die Konsole (Telnet / SSH)
- einen entsprechenden Datenträger für das Backup (in den folgenden Beschreibungen wird eine externe Platte am eSATA-Anschluss als Beispiel verwendet -
/volumeSATA/satashare/
)
Vorgehen
1. Die externe Platte anhängen.
2. Konsole auf die DS öffnen.
3. Auf der externen Platte die notwendigen Verzeichnisse anlegen.
DS> cd /volumeSATA/satashare/ DS> mkdir @backup@ DS> mkdir backup
- Dieser Schritt ist nur beim ersten Mal durchzuführen.
4. Das verschlüsselte Dateisystem mounten.
DS> /usr/syno/sbin/mount.ecryptfs /volumeSATA/satashare/@backup@ /volumeSATA/satashare/backup -o ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,no_sig_cache,ecryptfs_enable_filename_crypto,passwd=PASSWORD
- (alles in einer Zeile)
- Im Verzeichnis "@backu@" landen die verschlüsselten Daten, daher sollte man dort selber nichts anfassen. Der Zugriff erfolgt über das Verzeichnis "backup".
5. Durchführen des Backups.
- Jetzt kann man in "
/volumeSATA/satashare/backup
" ein Backup durchführen, hierbei kann man das Backupprogamm seiner Wahl verwenden (rsync, rsnapshot oder was auch immer).
6. Das verschlüsselte Dateisystem aushängen, wenn das Backup abgeschlossen ist und der Datenträger entfernt werden soll.
DS> /bin/umount /volumeSATA/satashare/backup/
Fertiges Script
Das folgende Script automatisiert den kompletten Vorgang (die Punkte 4. bis 6.), zusätzlich mit:
- automatisches Ausführen beim Anstecken der Platte (mittels autorun)
- Fehlerprüfungen
- Logging (es wird eine Logdatei pro Woche angelegt)
- Mailbenachrichtigung
- Auswerfen des Datenträgers nach Abschluss
Das Backup wird mittels autorun gestartet. Daher brauchen wir ein passendes autorun-Skript (/volumeSATA/satashare/autorun
):
#!/bin/sh /volume1/backupSATA $1 exit $?
Dieses startet das Mount-Skript, welches sich auf der DS befindet (weil dort Angaben zur Verschlüsselung drin sind).
Das zweite Script findet sich auf der DS (/volume1/backupSATA
) und steuert das Mounten:
#!/bin/sh if [ -z "$1" ] then exit 1 fi logfile="/volume1/backup/backup-sata-`date +%Y-%V`.log" device=$1 echo "########################################################################" >> $logfile echo "" >> $logfile echo "Starting backup on `date +%Y-%m-%d` `date +%k:%M:%S`" >> $logfile echo "" >> $logfile /usr/syno/sbin/mount.ecryptfs $device/@backup@ $device/backup \ -o ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,no_sig_cache,ecryptfs_enable_filename_crypto,passwd=PASSWORD if [ $? -eq 0 ] then echo "Encrypted filesystem mounted" >> $logfile else echo "Error while mounting the encrypted filesystem" >> $logfile echo "" >> $logfile /usr/syno/bin/synomail SATABackupFailed exit 1 fi $device/backup/run.backup $device >> $logfile 2>&1 echo "" >> $logfile echo "------------------------------------------------------------------------" >> $logfile echo "" >> $logfile /bin/umount $device/backup >> $logfile if [ $? -eq 0 ] then echo "Encrypted filesystem unmounted" >> $logfile else echo "Error while unmounting the encrypted filesystem" >> $logfile echo "" >> $logfile /usr/syno/bin/synomail SATABackupFailed exit 1 fi echo "" >> $logfile /bin/df -h $device >> $logfile echo "" >> $logfile echo "Backup finished on `date +%Y-%m-%d` `date +%k:%M:%S`" >> $logfile echo "" >> $logfile /usr/syno/bin/synomail SATABackupSuccess exit 100
Das dritte Script findet sich auf der Platte selbst ("/volumeSATA/satashare/backup/run.backup
"). Dadurch können verschiedene Platten mit unterschiedlichen Backupaufgaben verwenden werden.
echo "" echo "-- homes ---------------------------------------------------------------" /usr/syno/bin/rsync -avh --delete --exclude=#recycle --exclude=Thumbs.db /volume1/homes/ $1/backup/homes ...
Anmerkungen
Die folgenden Stellen muss man ggf. anpassen:
- 2. Script - "
/volume1/backup/backup-sata-`date +%Y-%V`.log
": Das ist die Logdatei. Hier muss ggf. der Pfad angepasst werden. - 2. Script - "
PASSWORD
": Das Passwort für die Verschlüsselung. - 2. Script - "
synomail ...
": Die Mailbenachrichtigung erfolgt über die eingebaute Funktion der DS, also muss sie auch in der Systemsteuerung konfiguriert sein. Die Texte sind in "/usr/syno/synoman/webman/texts/ger/mails" (bzw. die Sprache, die für die DS eingestellt ist), hier müssten die beiden Einträge "SATABackupFailed" und "SATABackupSuccess" hinzugefügt werden. Alternativ die Zeilen rausnehmen (keine Mail) oder durch eine alternative Variante ersetzen. - 3. Script: Dieses muss man an seine Gegebenheiten anpassen, welches Backupprogramm, welche Verzeichnisse, .... Wichtig ist, dass immer absolute Pfadangaben zu den Programmen verwendet werden müssen, da bei Ausführen der Suchpfad ggf. eingeschränkt ist.
Wiederherstellung
Sofern man Zugriff auf eine DS hat
1. Externe Platte anhängen.
2. Konsole auf die DS öffnen.
3. Das verschlüsselte Dateisystem mounten (siehe oben).
4. Daten aus "/volumeSATA/satashare/backup
" wiederherstellen, manuell kopieren oder wieder rsync, ....
5. Nach Abschluss das verschlüsselte Dateisystem wieder aushängen (siehe oben).
Wenn man keine DS mehr besitzt
Wie hier beschrieben vorgehen. Auch hierbei ist das ursprünglich eingegebene Passwort notwendig.