[toc]

Einleitung

Bei wichtigen Daten die vor Dritten geschützt werden sollten ist es auf jeden Fall ratsam die Daten so gut es geht ab zu sichern.

Klassischer Fall: Das Laptop das unterwegs dabei ist kommt abhanden (Im Auto eingebrochen. Im Zug weg gekommen; Raub, Diebstahl…. etc.)

Im folgenden ein paar Beispiele wie man die Daten sicher verschlüsseln kann um den Zugriff durch Dritte zu verhindern.
Seit einigen Jahren sind die Tools so gut geworden das man nicht mehr von Hexenwerk sprechen kann.

Die Nachteile von Verschlüsselung

  • Leistungseinbruch (Lese/Schreibgeschwindigkeit, Up/Download Geschwindigkeit)
  • Höherer Stromverbrauch

Wenn man Verschlüsselung nicht braucht: Lassen!

Die Nachteile machen sich vereinzelt nur dann bemerkbar wenn die technische Ausstattung schwächer ausfällt. In Zeiten von Ökostrom und Dingen mit grünem Punkt dennoch ein wichtiger Faktor über die Sinnhaftigkeit und das Einsatzziel nach zu denken. Wirtschaftlich und in grossen Dimensionen betrachtet eher ein Unding das man eigentlich nicht will und selten wirklich gut vertreten kann.
Besonders in DE z.B. ist die WLAN Verschmutzung durch die Verschlüsselung mit WPA2 und co. nur eine Stromkosten und Up/Download Geschwindigkeits- Frage. Will man das? In diesem Beitrag: Ja! 🙂  sonnst eigentlich eher NEIN!

cryptsetup

Es gibt zwei Modelle/Aktionen unter cryptsetup: luks und dm-crypt. Luks wurde für die Masse eingeführt und jene Personen die die Details der Verschlüsselung und dm-crypt weniger verstehen oder sich nicht weiter damit befassen wollen: Eine Vereinfachung.
Die Verschlüsselungsqualität ist dennoch hoch genug, denn selten macht sich jemand tatsächlich den Aufwand eine verschlüsselte Festplatte zu decodieren was trotz Vereinfachung mitunter bis zu Jahren dauern wird. Sind wirklich wichtige Daten wie Staatsgeheimnisse auf dem Datenträger sollte man ggf. genauer in dm-crypt schauen.

Details liefert das Handbuch von cryptsetup: man cryptsetup

Los gehts

Installation

aptitude install cryptsetup
Der zu verschlüsselnde Datenträger, Imagedatei bzw. die Partition sollte ausgehängt werden und im folgenden dann mit Leer/Zufallsbytes geleert werden um eine mögliche Rekonstruktion von zuvor darauf gespeicherten Daten zu verhindern! WICHTIG: Bestehende Daten werden gelöscht und sind weg FÜR IMMER!!! DAHER BITTE GUT AUFPASSEN WAS IM FOLGENDEN GETAN WIRD! BACKUPS ALLER BETROFFENEN MEDIEN SIND UNBEDINGT NOTWENDIG BEVOR SIE FORTFAHREN.

su - # root werden

# Datenträger aushängen
# <N> = Nummer der Partition
umount dev/sda<N>

# Leeren existierender Daten
# Kann viel Zeit in Anspruch nehmen
dd bs=2M if=/dev/urandom of=/dev/Partition # oder /pfad/zur/imagedatei

Die eigentliche Verschlüsselung

cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat /dev/Partition # oder /pfad/zur/imagedatei
Und den Anweisungen folgen.

Öffnen des verschlüsselten Datenträgers

# <name> = FreierNameDesVerschlüsseltenDatenträgers 0-9, A-Z, a-z, -_ erlaubt.
cryptsetup luksOpen /dev/Partition <name>
Dadurch wird der device mapper angeworfen und erzeugt ein device in /dev/mapper/FreierNameDesVerschlüsseltenDatenträgers welches dann wieder als herkömmliches device angesprochen werden kann. In diesem Fall die Partition.

Nun den verschlüsselten Datenträger als „Normalen“ Datenträger behandeln (In diesem Fall als ext4 formatieren):
mkfs.ext4 /dev/mapper/FreierNameDesVerschlüsseltenDatenträgers

Datenträger Ein und Aushängen

Nun kann der Datenträger als „Festplatte“ (z.B. nach /mnt/ eingehängt werden:
mount -t ext4 /dev/mapper/FreierNameDesVerschlüsseltenDatenträgers /mnt

Datenträger aushängen:
umount /dev/mapper/FreierNameDesVerschlüsseltenDatenträgers

Verschlüsselten Datenträger schliessen (Wichtig! *)

cryptsetup luksClose FreierNameDesVerschlüsseltenDatenträgers
Erledigt!

  • Wichtig: Verschlüsselte Datenträger immer sorgfältig beim manuellen Betrieb wie hier beschrieben auch wieder aushängen bevor man das USB (o.a.) Kabel zieht. Anderen falls kann ein Defekt am verschlüsselten Datenträger auftreten und bedeuten das es zum absolutem Verlust der Daten kommt.

Sind diese Aufgaben erledigt und funktionieren wie gewünscht kann man das automatische Ein/Aushängen durch das Rechner Starten/Herunterfahren vorbereiten.
Wichtig zu wissen: Während des Boot Vorgangs wird man nach dem Passwort des verschlüsselten Datenträgers gefragt. Erst danach wird der Boot Vorgang fortgesetzt. Das kann unter Umständen schwierig werden wenn der Rechner nicht vor einem steht :-/ Dann sollten die Datenträger erst zu einem späteren Zeitpunkt eingehängt werden. (Z.B. mit pam-mount o.ä.)

Automatisches Einhängen während des Boot-Vorgangs

In der /etc/crypttab (falls nicht vorhanden bitte erstellen) werden die verschlüsselten Datenträger Geräte, seine Namen und Konfigurationsdaten (sofern vorhanden) hinterlegt. Bsp.:

# <target_name>    <source_device>  <key_file>    <options>     
FreierNameDesV...  /dev/sdd10       none          luks,retry=1

Speichern!

Nun noch die /etc/fstab anpassen. Z.b:

/dev/mapper/crypt-sdd10    /home    ext4    defaults    0    2

Reboot und fast unmittelbar nach dem Bootmanager (z.b. grub) werden sie nach dem Passwort zum entschlüsseln des Datenträgers gefragt. Nach der Bestätigung wird der Bootvorgang erst fortgesetzt!

Swap (Auslagerungsdateien verschlüsseln)

Die SWAP ist die Auslagerung wenn nicht mehr genug RAM zur Verfügung steht. Um zu verhindern das über diesen Weg an die Verschlüsselung gekommen werden kann sollte die SWAP auch verschlüsselt werden:

Unter Linux ist die SWAP in der Regel eine Partition, abschalten:

swapoff /dev/sda<N>

Mit Nullen überschreiben:

dd if=/dev/urandom of=/dev/sda<N> bs=1M

In die jew. configs eintragen:

/etc/crypttab:

crypt-swap  /dev/sda<N>    /dev/urandom    cipher=aes-cbc-essiv:sha256,size=256,hash=sha256,swap

/etc/fstab:

/dev/mapper/crypt-swap    none    swap    sw    0    0

Quellen

  • man cryptsetup
  • man crypttab
  • man fstab

Weiterführende Themen