Voll-verschlüsseltes System – auch remote

Nach Anleitung hier: https://hamy.io/post/0009/how-to-install-luks-encrypted-ubuntu-18.04.x-server-and-enable-remote-unlocking/

Zuerst Ubunutu installieren mit “LVM auf ganzer Platte” (oder so ähnlich). Dann ist schon alles verschlüsselt, aber man muss die Passphrase immer in der Konsole eingeben. Das kann man ach remote machen:

Dropbear für initramfs installieren:
apt-get install dropbear-initramfs

Angepasste Files:

  • In /etc/initramfs-tools/initramfs.conf: Nichts – ist aber interessant.
  • In /etc/dropbear-initramfs/authorized_keys die public keys eintragen, von denen aus man später das System entsperren will.
  • In /etc/dropbear-initramfs/config ein paar zusätzliche Sicherheitsoptionen:
    DROPBEAR_OPTIONS="-s -j -k -I 60"
    Außerdem ließe sich hier der Port verstellen (-p 4748), damit es nicht zu “REMOTE HOST IDENTIFICATION HAS CHANGED”-Meldungen kommt. Das habe ich aber anders gelöst – s.u.
  • In /etc/default/grub wird eine statische IP für die initramfs-Phase eingesetellt (nicht nötig, wenn DHCP vorhanden): GRUB_CMDLINE_LINUX_DEFAULT="ip=212.11.233.24::212.11.233.30:255.255.255.224"

Danach immer update-initramfs -u bzw. update-grub.

Nach dem Reboot läuft dann der dropbear-sshd und man kann sich einloggen ssh -o UserKnownHostsFile=~/.ssh/known_hosts_martinif_initramfs root@myhost und das Crypt-Passwort mit cryptroot-unlock eingegeben. Da geht dann auch Cut-Paste 🙂

Noch einfacher geht es “in einem Rutsch” (dann hat man die Passphrase aber lokal in der Kommandozeile und der History stehen, was je nach Situation ein No-Go ist):

ssh -o UserKnownHostsFile=~/.ssh/known_hosts_myhost root@myhost "echo -ne \"superpassphrase\" > /lib/cryptsetup/passfifo"

Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.