Chrigl's Weblog

Backup von Daten einer verschlüsselten Partition

Posted in Uncategorized by chris on September 9, 2009

Weil die Festplatte meines Notebooks mal wieder rum zickt habe ich heute mal ein Backup meiner home-Partition gemacht. Wieder einmal merkt man was man an einer vernünftigen lvm-basierten Installation hat. Einfach ein snapshot erzeugen und parallel zum Backup kann gemütlich und problemlos weitergearbeitet werden :-)

Irgenwann stand ich natürlich vor der Frage: Wie sichere ich die Daten meiner verschlüsselten Partition?

Eine Sicherung per dd oder ddrescue kommt nicht in Frage, weil ich nicht die gesamte Partition sichern wollte… vor allem weil sie 10GB groß ist, aber nur 194MB Daten enthält.

Jetzt ich hatte jetzt zwei weitere Ideen. 1. Ein tar erzeugen und sofort per GnuPG zu verschlüsseln. 2. Datei anlegen, die so groß ist, damit alle zu sichernden Daten reinpassen, diese dem OS als block device unterjubeln, verschlüsseln, Dateisystem drauf und dann Daten rein.

Kürzer ist sicherlich das erzeugen eines sofort verschlüsselten tars. Außerdem braucht man hier keine root Berechtigungen:

$ tar cf - -C /PATH/TO/Encrypted Documents | gpg --recipients YOUR_ID -e - \
> /PATH/TO/Backups/encrypted-documents.$(date +%Y%m%d).tar.gpg

Ja… ich weiß. Ich hätte auch in der verschlüsselten ein tar erzeugen können dieses dort verschlüsseln und dann auf die Backup-Disk schieben. Aber das geht nur so lange die Platte <50% belegt ist.

Trotzdem will ich die andere Lösung nicht vorenthalten:

Erst einmal eine Datei erzeugen. In meinem Fall 200MB.

$ dd if=/dev/zero of=/PATH/TO/Backups/encrypted-documents.$(date +%Y%m%d).dump \
bs=10M count=20 # oder wie es auch immer beliebt

Dann diese dem OS unterjubeln …

# losetup /dev/loop0 PATH/TO/Backups/encrypted-documents.$(date +%Y%m%d).dump

… und verschlüsseln …

# cryptsetup -c aes-cbc-essiv:sha256 -y -s256 luksFormat /dev/loop0
# cryptsetup luksOpen /dev/loop0 backup-enc

… Dateisystem erzeugen und mounten …

# mkfs.ext3 /dev/mapper/backup-enc
# mount /dev/mapper/backup-enc /mnt

… jetzt nach beliebig die nötigen Daten nach /mnt kopieren und gut ist. Achso… jetzt wieder zurück.

# umount /mnt
# cryptsetup luksClose backup-enc
# losetup -d /dev/loop0
Tagged with: ,