Crypsetup

Aus Vosp.info
Wechseln zu:Navigation, Suche

Vollverschlüsselung mit LVM, /boot unverschlüsselt

  • /boot unverschlüsselt
  • Verschlüsselte Partition enthält ein LVM
  • Tut Euch einen Gefallen: arbeitet immer mit UUIDs und niemals mit /dev/sd<x> in fstab oder crypttab!
  • Dadurch wird das System erheblich stabiler.

Setup der Verschlüsselung

  • Rechner mit grml starten
  • Zwei Partitionen erzeugen
fdisk /dev/sd<x>
    • /boot (ca. 125 - 500 M groß)
    • verschlüsselte Partition (Rest)
  • /boot
mkfs.ext4 /dev/sd<x>1
  • Verschlüsselte Partition erzeugen, viele Arumente möglich für chipher, Schlüssellänge usw.
cryptsetup luksFormat /dev/sd<x>2 

Es wird nach dem gewünschten Password gefragt.

  • Verschlüsslte Partition für weitere Bearbeitung öffnen
cryptsetup luksOpen /dev/sd<x>2 <cryptname>

Password eingeben

  • Das Verschlüsselte Device steht unter /dev/mapper/<cryptname> bereit

LVM aufsetzen

pvcreate /dev/mapper/<name>
vgcreate /dev/maper/<name> <vgname>
  • Volume Group starten
vgchange -ay 
  • LVM erzeugen (hier mit 5 GB)
lvcreate -L+5G -n <lvname> <vgname>
  • Dateisystem erzeugen, hier ext4
mkfs.ext4 /dev/<vgname>/<lvname>

System installieren

grml-debootstrap --target=/dev/<vgname>/<lvname> --grub=/dev/sd<x>

System startbar machen

  • Arbeitsverzeichnisse erzeugen
mkdir /newboot 
mkdir /newroot


mount /dev/sd<x>1 /newboot
mount /dev/<vgname>/<lvname> /newroot
cp -a /newroot/boot/* /newboot
umount /newboot
mount /dev/sd<x>1 /newroot/boot/
  • chroot in das neue System
mount -t sysfs sys /newroot/sys
mount -t proc none /newroot/sys
mount -o bind /dev /newroot/dev

Im chroot

chroot /newroot
  • /etc/crypttab bearbeiten
  • Beim Rechnerstart muss die verschlüsselte Partition geöffnet werden
  • UUID der verschlüsselten Partition in die /etc/crypttab einfügen
blkid |grep /dev/sd<x>2 >> /etc/crypttab
  • Die /etc/crypttab muss am Ende
vim /etc/crypttab
  • Sieht leer so aus,
 
 <target name>	<source device>		<key file>	<options>
  • Wird geändert zu
 
 <target name>	<source device>		<key file>	<options>
 <cryptname>	<UUID=<UUID aus blkid ohne Anführungszeichen>		none	luks
  • Die Zeile, die wir mit "blkid |grep /dev/sd<x>2 >> /etc/crypttab" eingefügt haben, löschen oder auskommentieren.
  • Das Keyfile sollte immer nur von root lesbar sein. Sollte das nicht der Fall, ändern.
chmod 600 /etc/crpttab
  • Initram updaten
update-initramfs -u


Grub installieren

update-grub
grub-install --no-floppy /dev/sd<x>
vim /boot/grub/grub.cfg
  • Vor dem Pfad zum Kernel und der initram steht /boot stehen, einfach löschen.
  • Beim Normalbetrieb des Systems sollte das niemals wieder ein Problem sein.


Neustart

  • Aus dem chroot ausloggen und Rechner neustarten.
  • Das System wird einmal, zweimal verblich nach dem root-LVM suchen und dann nach dem Password für die verschlüsselte Partition fragen.

Unwichtige Fragmente

Wichtig: /etc/cyrptab existiert nicht per default. Wird die Datei angelegt, muss ein verschlüsseltes root-Filesystem auch mit in die crypttab aufgenommen werden.

Ansonsten wird es bei einer Neuerzeugung der initram ignoriert und der Neustart läuft in die initram