Festplatten verschlüsseln unter Linux
Hier hat sich eine Kombination aus
cryptsetup und
LUKS bewährt:
Wiki 
.
Benötigt wird das Paket
cryptsetup. Und los gehts (im Beispiel wird eine externe Festplatte unter
/dev/sdh verwendet):
- Mit
fdisk /dev/sdh (mindestens) eine Partition auf der Platte erstellen.
-
cryptsetup -c aes-xts-plain -s 512 luksFormat /dev/sdh1 Definiert die Verschlüsselung.
-
cryptsetup luksOpen /dev/sdh1 extern Stellt die Partition unter /dev/mapper/extern zur Verfügung.
-
mkfs.ext3 -m 1 /dev/mapper/extern Erzeugt ein Dateisystem.
-
mount /dev/mapper/extern /mnt/extern Mountet das Dateisystem.
-
sudo umount /mnt/extern && sudo cryptsetup luksClose /dev/sdh1 Hängt die verschlüsselte Partition /dev/sdh1 aus.
Verschlüsselte Dateisysteme automatisch mounten
Dies ist ebenfalls möglich, wenn die Module
dm-crypt,
dm-mod,
aes,
xts geladen sind:
-
modprobe [dm-crypt|dm-mod|aes|xts] Lädt ein Modul in den Kernel.
-
echo [dm-crypt|dm-mod|aes|xts] >> /etc/modules Sorgt dafür, dass die Module automatisch beim Start geladen werden.
- Eintrag in
/etc/crypttab:
extern /dev/sda8 none luks
- Eintrag in
/etc/fstab nicht vergessen:
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/extern /mnt/extern ext3 errors=remount-ro 0 1
Root-Partition verschlüsseln
Wenn man ein System frisch installiert bietet sich folgender Trick an: Betriebssystem in die spätere
swap -Partition installieren,
root -Partition vorbereiten, umkopieren.
Nehmen wir folgendes Plattenlayout an:
/dev/sda1 /boot ext3
/dev/sda2 / ext3
/dev/sda3 none swap
Nehmen wir weiter an, das System ist in
/dev/sda3 installiert, wir haben mit Live-CD gebootet und
/dev/sda3 ist mit
cryptsetup eingerichtet und mit
mkfs.ext3 formatiert. Dann:
-
/etc/fstab und /etc/crypttab mit den entsprechenden Einträgen versehen:
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/root / ext3 relatime,errors=remount-ro 0 1
# /dev/mapper/swap none swap 0 0
/dev/sda1 /boot ext3 relatime,errors=remount-ro 0 2
bzw.
# <target name> <source device> <key file> <options>
root /dev/sda2 none luks
# swap /dev/sda3 /dev/urandom swap
-
mount /dev/mapper/root /mnt/root && mount /dev/sda3 /mnt/root-old Mountet das zukünftige und das alte Root-Dateisystem.
-
rsync -aXHA /mnt/root-old /mnt/root Kopiert die Dateien sauber (behält Hardlinks, Sockets, etc. korrekt bei).
-
mount -t sysfs /sys /mnt/root/sys
-
mount -t proc /proc /mnt/root/proc
-
mount -o bind /dev /mnt/root/dev
-
mount -o bind /dev/pts /mnt/root/dev/pts Mountet weitere wichtige Dateisysteme.
-
chroot /mnt/root Wechselt in die neue Root-Umgebung.
- Einträge der
/boot/grub/menu.lst anpassen:
# kopt=root=/dev/mapper/root ro
...
title Ubuntu 10.10, kernel 2.6.35-25-generic
uuid <UUID of boot-device>
kernel /vmlinuz-2.6.35-25-generic root=/dev/mapper/root ro quiet splash
initrd /initrd.img-2.6.35-25-generic
quiet
-
update-initramfs -u -kall Aktualisiert die Initramdisk. Siehe auch LinuxBoot.
Nach einem Neustart muss noch die
swap -Partition erstellt werden. Dazu kommentiert man die entsprechenden Zeilen in
/etc/fstab und
/etc/crypttab wieder ein.
Andere Möglichkeiten
Eine Variante mit LVMs:
Wiki 
.
Weitere Links: