Verschluesselte Backup-Festplatte

  • Impressum
  • Administration
  • Kontaktformular
  • Jabber
  • Tagcloud
  • Twitter
  • Soup
  • Github

roothausen

Verschluesselte Backup-Festplatte

18:25

Saturday, February 3. 2007

Achtung: Eine neuere Version dieses Artikel findet ihr hier

Das Backup wichtig ist und die vorhandenen Daten auf einem Computer prinzipiell immer den Wert einer zusaetzlichen Festplatte uebersteigen, sollte wohl den meisten klar sein.
Allerdings ist eine externe Festplatte auch ein Sicherheitsrisiko. Prinzipiell koennte jeder die Festplatte an seien PC anschliessen und haette Zugriff auf alle gespeicherten Daten. Dieses Problem laesst sich mit der Verschluesselug der betroffenen Daten loesen - wenn man bereit ist einen etwas geringeren Datendurchsatz in Kauf zu nehmen.
In der letzten Woche war ich nicht gerade untaetig. Ich habe zuerst mal meine Backup-Festplatte verschluesselt und das ganze dann in rsnapshot automatisiert.
Hier kommt mal ein kleines Howto dazu:
Vorbereitung
Zuerst muss im Kernel dmmod und dmcypt aktiviert sein. Dies ist bei den meisten Distributionen sowieso der Fall. Bei einem selbst gebauten Kernel benoetigt man folgende Optionen:

Device Drivers ---> Multi-device support (RAID and LVM) ---> [*] Multiple devices driver support (RAID and LVM) <> RAID support <M> Device mapper support <M> Crypt target support

Cryptographic options ---> --- Cryptographic API <M> SHA256 digest algorithm <M> Blowfish cipher algorithm <M> AES cipher algorithms (i586)
Zusaetzlich wird noch cryptsetup-LUKS benoetigt.
Danach werden die Daten auf der Festplatte zerstoert:
dd if=/dev/urandom of=/dev/sdc1
oder wer es schneller und dafuer etwas unsicherer will:
dd if=/dev/zero of=/dev/sdc1
/dev/sdc1 ist hierbei das Device der verwendeten Festplatte. Bei ersten Befehl wird die Festplatte oder Partition mit Zufallswerten ueberschrieben. Beim zweiten mit Nullen. Ich empfehle hierzu die Manpage von DD. Alternativ kann man auch mit dem Befehl shred arbeiten. Hier ist ein lesenswerter Artikel dazu.
Verschluesseln
Ist die Festplatte sauber, kann man mit sie cryptsetup formatieren:
cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat /dev/sdc1
Hiermit wird eine AES-Verschluesselung, SHA256 Hashes, ESSIV in Verbindung mit einem 256-Bit Schluessel verwendet.
Die Option "-s" gibt die Laenge des Schluessels an und die Option "-y" fordert den User auf eine Passphrase zu waehlen. Alternativ kann man mit "-d" auch ein Keyfile statt der Passphrase verwenden.
Weitere Optionen findet man in der Manpage.
Nun legt man sein Crypto-Device an:
cryptsetup luksOpen /dev/sdc1 backup
An dieser Stelle wird man nach der Passphrase gefragt, die man beim Formatieren eingegeben hat. Verwendet man ein Keyfile, muss man dieses ebenfalls mit "--key-file" angeben.
Der Befehl legt ein neues Device unter /dev/mapper an. In unserem Fall /dev/mapper/backup. Dieses kann man nun wie ein normales Blockdevice formatieren, mounten und beschreiben. Die Ver- und Entschluesselung laeuft transparent im Hintergrund ab.
Formatieren: mkfs.ext3 /dev/mapper/backup
Mounten: mount -t ext3 /dev/mapper/backup /mnt/tmp
Alle Daten die man nun in /mnt/tmp speichert, landen verschluesselt auf der Platte.
Will man die Platte wieder abhaengen geht man folgernder massen vor:
Festplatte unmounten: umount /mnt/tmp
Un danach Crypto-Device schliessen: cryptsetup luksClose /dev/mapper/backup
Jeder der jetzt auf die Daten der Festplatte zugreifen will, braucht die Passphrase bzw. das Keyfile.
Automation
Um diese komplette Prozedur nicht jedes mal aufs neue ausfuehren zu muessen, kann man das ganze auch automatisieren. Zuerst lege ich einen Eintrag in der /etc/fstab an:
/dev/mapper/backup /backup ext3 noatime,data=ordered,noauto,noexec 0 0
Danach kommen die Optionen in der /etc/rsnapshot.conf:

Specify the path to a script (and any optional arguments) to run right

before rsnapshot syncs files

# cmd_preexec /bin/cryptsetup luksOpen /dev/sdc1 backup && /bin/sleep 1 && /bin/mount /backup

Specify the path to a script (and any optional arguments) to run right

after rsnapshot syncs files

# cmdpostexec /bin/umount /backup && /bin/sleep 1 && /bin/cryptsetup luksClose backup
Hier muessen zwischen cmd
[pre|post]exec und dem eigentlichen Befehl TABs und keine Leerzeichen stehen, da rsnapshot seinen Dienst verweigert wenn letztere dort stehen.
Nun ein finaler Testlauf:

[root@wopr:~]# rsnapshot hourly Enter LUKS passphrase: key slot 0 unlocked. Command successful.


Weiterfuehrende Links:

  • DM-Crypt im Gentoo-Wiki
  • DM-Crypt im Ubuntuusers-Wiki
  • Luks Website
  • weiteres DM-Crypt Howto


Wichtig:
Ich uebernehme keine Verantwortung fuer Datenverlust. Ihr solltet euch beim loeschen und Formatieren absolut sicher sein, dass ihr das richtige Device verwendet und sich auf der Platte keine wichtigen Daten befinden!

Posted by admin in computer | Comments (6) | Trackbacks (0)
Defined tags for this entry: computer, howto, linux&unix, security, software
Related entries by tags:
  • Mobile devices or: How I Learned to Stop Worrying and Love the iOS
  • The VP8 Video Codec
  • My Bachelor Thesis: Scale the realtime web
  • Distributed contact management using HTTP
  • Gesichtserkennung/Eigenfaces
< Server Ausfall | Ich hasse sie ... >

Trackbacks
Trackback specific URI for this entry

No Trackbacks

Comments
Display comments as (Linear | Threaded)

*gutes howto!rsnapshot kannte ich noch nicht. steht jetzt aber auf meiner todo liste, dass ich mir das mal angucken muss.

hast du nicht auch deine restlichen platten verschküsselt?
werde mir das mal angucken wie ich alle lokalen crypten kann. habe gehört dmcrypt kann das jetzt auch on the fly. will wenigstens mein /home verschlüsselt haben und wenn ich mal ne größere platte finde wird der fileserver auch neu gemacht :-D

#1 alk (Homepage) on 2007-02-05 15:44 (Reply)

*Ich habs mal verlinkt bei uns, imo sehr gut :-)

#2 Oli (Homepage) on 2007-02-05 23:11 (Reply)

*Hast du auch mal Benchmarks gemacht? Oder ist dein Motto "Wer misst, misst Mist"? :-D

#3 Manuel (Homepage) on 2007-02-08 17:36 (Reply)

*Die kommen beim naechsten Howto

#4 pfleidi (Homepage) on 2007-02-08 18:57 (Reply)

*Hallo,

muss für die Automatisierung nicht auch ein Eintrag in der /etc/crypttab angelegt werden? Sonst wird die Platte ja eingebunden, ohne dass sie vorher mit luks geöffnet wurde. In einem How To für Ubuntu steht das so:

backup /dev/sdc1 none luks,retry=1,cipher=aes-cbc-essiv:sha256

#5 yan on 2007-05-25 14:24 (Reply)

*/bin/cryptsetup luksOpen /dev/sdc1 backup && /bin/sleep 1 && /bin/mount /backup

Das erledigt dieser Befehl. Ansonsten funktioniert das ganze natuerlich auch ueber die Crypttab.

#6 pfleidi (Homepage) on 2007-05-25 19:57 (Reply)

Add Comment

Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

You can use [geshi lang=lang_name [,ln={y|n}]][/geshi] tags to embed source code snippets.
Markdown format allowed
 
 

JavaScript String .fromCharCode

Calendar

« May '12 »
Mo Tu We Th Fr Sa Su
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Quicksearch

Kategorien

  • XML computer
  • XML misc
  • XML web
  • XML zeitgeist


All categories

Archiv

  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • Recent...
  • Older...

Feeds

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Comments

Links

Retinacast
Shackspace
Yaxim
Radio Tux
Kais Blog
Blumen Pfleiderer
Alk
paxos
filzo
Marc Seeger
polzifer
Moritz Haarmann

Tags

android bad world blog blogging browser changes code comic computer contentmanagement encryption feedreader firefox free fun google gui hardware howto html im jabber java life lighttpd linux linux&unix markup media misc mobile murphy networking newsbeuter opensource picture politics presentation privacy programming regular expression rss ruby s9y scala screenshot sdk security server shortys software stuff tail -f /var/log/life test tool tv unix video web webdesign webwide windows xml zeitgeist

Lizenz

Creative Commons License - Some Rights Reserved