====== Full Encryption Server mit remote unlock ====== Diese Anleitung entstand beim Aufsetzen des neuen Zombi-Servers ''ravenholm''[[Ravenholm]] und wurde für den noch neuern Server [[Stratholme]] aktualisiert, wurde also erfolgreich getestet. ==Full Encryption Server mit remote unlock ==Das Grundsystem installieren wir mit dem Installscript von Hetzner. Es lässt sich als <code>installimage</code> aufrufen.=== System installieren über installimage =====
Erstmal komplett unverschlüsseltes System auf dem Raid samt LVM aufbauen.
'''Installieren! Dann reboot.'''
===== Erste Konfigurationen im Debian-System =====
Reboot ins installierte, noch unverschlüsselte Debian
'''Busybox für initramfs aktivieren'''
<code> BUSYBOX=y in Datei /etc/initramfs-tools/initramfs.conf</code>
**'''Public keys für dropbear kopieren**'''
<code> cat .ssh/authorized_keys > /etc/dropbear-initramfs/authorized_keys</code>
''Dropbear akzeptiert derzeit **nur** RSA-Schlüssel, alle weiteren werden ignoriert.''
''Ab jetzt wird linux die Busybox-Umgebung starten, wenn der Bootvorgang nicht fortgesetzt werden kann. Was für uns immer der Fall sein wird, da linux das Passwort für die root partition nicht kennt!''
===== Hostschlüssel für Dropbear konvertieren =====
Es ist nervig, jedes mal den geänderten fingerprint vom Hostschlüssel zu bestätigen, wenn der Server neu gestartet werden muss. Darum konvertieren wir den vertrauten Hostkey zur Verwendung durch dropbear.
**'''Einmal RSA...**'''
> /usr/lib/dropbear/dropbearconvert openssh dropbear /etc/ssh/ssh_host_rsa_key /etc/dropbear-initramfs/dropbear_rsa_host_key
**...und einmal ECDSA.**
**Jetzt geht's wieder in das rescue system wechseln (über hetzner webinterface aktivieren, dann reboot)**
===== Rescue System die Zweite =====
Jetzt verschlüsseln wir das System. Dazu backuppen Debian-Partition sowie die Volume-Group-Konfiguration. Hierzu erstellen wir ein tmpfs im RAM (Größe > 20GB)
**Dateisysteme erstellen**
<syntaxhighlight lang="bash"> mkfs.ext4 /dev/vg0/root> mkfs.ext4 /dev/vg0/data> mkfs.ext4 /dev/vg0/docker> mkswap /dev/vg0/swap</syntaxhighlight>
**'''Root mounten (nur root nicht boot)**'''<syntaxhighlight lang="bash"> mount /dev/vg0/root /mnt/</syntaxhighlight>
**'''Daten wieder auf festplatte kopieren (trailling '/' beachten!!!!!)**'''<syntaxhighlight lang="bash"> rsync -a /root/temp/ /mnt/</syntaxhighlight>
===== Debian System im Chroot =====
**Chroot in das Debian-System**
<syntaxhighlight lang="bash"> mount /dev/md0 /mnt/boot> mount --bind /dev /mnt/dev> mount --bind /sys /mnt/sys> mount --bind /proc /mnt/proc> mount --bind /run /mnt/runchroot /mnt</syntaxhighlight>
**'''/etc/crypttab anpassen**'''<syntaxhighlight lang="bash"> vim /etc/crypttab</syntaxhighlight>**'''Zeile hinzufügen**'''<syntaxhighlight lang="bash"> cryptroot /dev/md1 none luks</syntaxhighlight>
**'''Initramfs und grub updaten sowie installieren**'''<syntaxhighlight lang="bash"> update-initramfs -u> update-grub> grub-install /dev/sda> grub-install /dev/sdb</syntaxhighlight>
**Aus '''Debian-System herausgehen**verlassen'''<syntaxhighlight lang="bash"> exit</syntaxhighlight>
===== Wieder im Rescue-System =====**'''Alles unmounten**'''<syntaxhighlight lang="bash"> umount /mnt/{proc,sys,dev,boot}> umount /mnt/</syntaxhighlight>
**'''Server-Neustart!**'''<syntaxhighlight lang="bash"> reboot</syntaxhighlight>
===== Den Server aufschließen! =====
Nun startet der Server Dropbear und Busybox.
**'''Mit SSH verbinden**'''//''(eventuell den server aus der lokalen known_hosts löschen, da dropbear noch einen anderen host key hat!)//''
**'''Unlock ravenholm**'''//''(Sagt der Server nach dem Verbinden auch)//''<syntaxhighlight lang="bash"> cryptroot-unlock</syntaxhighlight>**'''Password eingeben!**'''//''Der Befehl beendet die Verbindung. Die Busybox-Shell scheint dabei zu hängen. Das ist normal.//''
Danach startet das echte System, nun kann erneut mittels ssh verbunden werden
Jetzt kann [[Zombi:ZFS]] aufgesetzt werden.
===== Quelle =====
Diese Anleitung basiert auf einer Anleitung von TheReal1604 und wurde für unsere Zwecke angepasst.