Vollverschlüsseltes System mit LUKS/dmcrypt und LVM unter Manjaro aufsetzen

Aus Bluelupo's Wiki
Wechseln zu: Navigation, Suche

Installation und Konfiguration

Diese Variante verschlüsselt das komplette System, außer das /boot Verzeichnis. Die Volumegroup VGsys wird verschlüsselt und danach der LVM konfiguriert wird. Das hat den Vorteil das die Online-Erweiterbarkeit des Logical Volume Managers erhalten bleibt. Nachteil ist, dass das Dateisystem mit dem /boot Verzeichnis außerhalb des LVM auf einer Partition laufen muss, da die Volumegroup (VG) als Ganzes verschlüsselt ist. Eine Anlage eines unverschlüsselten LV's ist hier nicht möglich.


Festplatte partitionieren

Zwei primäre Partitionen sda1 und sda2 anlegen mit dem bevorzugten Partitionierungstool. /dev/sda1 für das Bootverzeichnis /boot braucht nicht größer als 512 MByte zu sein. /dev/sda2 kann der Rest der Festplatte sein der verschlüsselt wird. Beide Partitionen sind vom Type Linux.

Festplattendevice mit Zufallswerten überschreiben

Um keine Rückschlüsse auf den Inhalt der Disk zulassen ist es ratsam die Disk mit Zufallswerten zu überschreiben. Diese Aktion kann unter Umständen, je nach Festplattengröße, viel Zeit in Anspruch nehmen.

# dd if=/dev/urandom of=/dev/sda2 bs=10M

Festplattendevice verschlüsseln und Dateisystem anlegen

Die Nachfrage beim cryptsetup Kommando mit YES (in Großbuchstaben) beantworten, das sonst keine Verschlüsseln durchgeführt wird. Hier das Cryptsetup für das Device /dev/sda2.

# cryptsetup luksFormat -c aes-xts-plain64:sha256 -y -s 512 /dev/sda2

Jetzt das LUKS Device öffnen.

# cryptsetup luksOpen /dev/sda2 cryptsda2

Hinweis: Bei Manjaro muss keine /etc/crypttab mehr angelegt werden, das wird in der Grub-Konfiguration erledigt.


PV, VG und LV's konfigurieren

Physical Volume, Volumegroup und Logical Volumes anlegen und die Dateisysteme erzeugen, zuletzt das Swap LV anlegen.

# pvcreate /dev/mapper/cryptsda2
# vgcreate -s128M VGsys /dev/mapper/cryptsda2
# lvcreate -n LVroot -L 10G /dev/VGsys
# lvcreate -n LVhome -L 5G /dev/VGsys
# lvcreate -n LVvar -L 4G /dev/VGsys
# lvcreate -n LVswap -L 2G /dev/VGsys


Installation des Systems

Nun kann wie gewöhnlich die Installation über den Manjaro Installer Thus gestartet werden. Nachfolgende Partitionen mit Einhängepunkt und FS-Typ (ext4) angeben:

  • Rootpartition /dev/VGsys/LVroot
  • Bootpartition /dev/sda1
  • Homepartition /dev/VGsys/LVhome
  • Homepartition /dev/VGsys/LVvar

Der Rest der Installation läuft wie gewöhnlich ab. Nach der erfolgreichen Installation bitte noch nicht das neue System starten, denn es müssen noch ein paar Arbeiten erledigt werden.

Nacharbeiten

Das installiertes Root- und Boot-Dateisystem temporär mounten.

# mkdir /mnt/manjaro
# mount /dev/VGsys/LVroot /mnt/manjaro
# mount /dev/VGsys/LVvar /mnt/manjaro/var
# mount /dev/sda1 /mnt/manjaro/boot


Die fstab unter /media/siduction/etc/fstab des installierten Systems anpassen.

/dev/mapper/VGsys-LVroot	/	ext4	defaults,noatime     0	1
/dev/mapper/VGsys-LVhome	/home	ext4	defaults,noatime     0	2
/dev/sda1			/boot	ext4	defaults,noatime     0	2
/dev/mapper/VGsys-LVswap	swap	swap		             0  0

Als nächstes müssen /proc, /run, /sys, /dev/ und /dev/pts wie folgt eingebunden werden für chroot-Umgebung.

# mount --bind /proc /mnt/manjaro/proc
# mount --bind /run /mnt/manjaro/run 
# mount --bind /sys /mnt/manjaro/sys
# mount --bind /dev /mnt/manjaro/dev
# mount --bind /dev/pts /mnt/manjaro/dev/pts

Ins eben installierte System via chroot wechseln um noch weitere Anpassungen vorzunehmen.

# chroot /mnt/manjaro

In der Datei /etc/mkinitcpio.conf in der Zeile mit HOOKS="..." folgendes eintragen (nach keymap).

keymap encrypt lvm2

Dann die Datei /etc/default/grub bearbeiten:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda2:VGsys root=/dev/VGsys/LVroot resume=/dev/VGsys/LVswap"
GRUB_DISABLE_LINUX_UUID=true

Dann das initrd-image für einen spezifischen Kernel erzeugen (siehe dazu in /etc/mkinitcpio.d/*).

# mkinitcpio -p linux41

Sowie die Grub-Config neu erzeugen.

# grub-mkconfig -o /boot/grub/grub.cfg

Im Livesystem die gemounteten chroot-Dateisystem, sowie die drei Installationsdevices aushängen.

# umount /mnt/manjaro/proc
# umount /mnt/manjaro/run
# umount /mnt/manjaro/sys
# umount /mnt/manjaro/dev/pts
# umount /mnt/manjaro/dev
# umount /mnt/manjaro/var
# umount /mnt/manjaro/boot
# umount /mnt/manjaro

Den LVM wieder deaktivieren und das Crypt-Dateisystem schließen

# vgchange -a n
# cryptsetup luksClose cryptsda2

Jetzt kann ein Reboot des neu installierten Systems durchgeführt werden.


Überprüfen der Konfiguration im laufenden System

Das Kommando lsblk listet die Struktur des Devices auf.

# lsblk 
NAME               MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
fd0                  2:0    1    4K  0 disk  
sda                  8:0    0  100G  0 disk  
├─sda1               8:1    0  500M  0 part  /boot
└─sda2               8:2    0 99,5G  0 part   
  └─VGsys          254:0    0 99,5G  0 crypt 
    ├─VGsys-LVroot 254:1    0   10G  0 lvm   /
    ├─VGsys-LVhome 254:2    0    3G  0 lvm   /home
    ├─VGsys-LVvar  254:3    0    4G  0 lvm   /var
    └─VGsys-LVswap 254:4    0    2G  0 lvm   [SWAP]
sr0                 11:0    1 1024M  0 rom   


Hier Informationen über das verschlüsselte LUKS/dmcrypt Device.

# cryptsetup luksDump /dev/sda2
LUKS header information for /dev/sda2

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64:sha256
Hash spec:      sha256
Payload offset: 4096
MK bits:        512
MK digest:      e3 b2 c1 26 04 ce ed bc 08 e7 18 40 77 6d 63 43 2b 5f a4 ca 
MK salt:        cc ea 21 08 71 e9 4e bc 33 63 01 47 53 6f 1e ef 
               36 e8 18 2f 8a 16 2f be 74 91 ca 04 f1 b5 22 6e 
MK iterations:  74000
UUID:           d74e19a5-7bfc-4587-a447-5c05dc28296f

Key Slot 0: ENABLED
       Iterations:             599531
       Salt:                   83 6e 96 b0 4e ac 35 31 6b 83 a8 97 17 b7 85 07 
                               52 21 c8 b8 4f cb 19 09 aa 7c 40 4b a8 20 ca c3 
       Key material offset:    8
       AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED


Weiterführende Informationen

Komplettverschlüsselung mit LUKS