Skip to content

Latest commit

 

History

History
82 lines (67 loc) · 5.52 KB

proxmox-voll-verschluesselt-luks.md

File metadata and controls

82 lines (67 loc) · 5.52 KB

Voll verschlüsseltes Proxmox-System (LUKS, Debian)

Die folgende Anleitung erklärt, wie man auf einem Barebone (Intel NUC, Zotac, etc.) ein per LUKS voll verschlüsseltes Debian installiert und darüber dann Proxmox installiert. Beim Neustart des Barebone kann man sich dann von Windows aus über SSH verbinden und das Verschlüsselungspasswort eingeben.

Warum verschlüsselt?

Bei Diebstahl des Barebones oder etwa bei defekter Festplatte kommt keiner ohne Passphrase an die Daten.

Voraussetzungen für diese Anleitung

  1. Barebone-Rechner (Intel NUC, Zotac, etc.) mit einer Festplatte. Weitere angeschlossene Laufwerke werden in dieser Anleitung nicht berücksichtigt
  2. Grundinstallation auf Barebone erfolgt mit angeschlossenem Monitor, Tastatur, Maus, später braucht man das natürlich nicht mehr ("headless")
  3. Windows-PC (Windows 10) zur Einrichtung/Steuerung wird verwendet. Putty ist installiert.
  4. USB-Stick für das Debian-Image zur Installation auf dem Barebone
  5. Erweiterte Kenntnisse zu Linux und Windows

Vorbereitung

  1. Windows: Debian-Linux (11.5, Bullseye) herunterladen: https://www.debian.org/CD/http-ftp/#stable -> CD -> "amd64" -> runterscrollen -> Datei: debian-11.5.0-amd64-netinst.iso
  2. Windows: Etcher (Portable) installieren und ausführen, und Image auf USB-Stick schreiben.
  3. Bildschirm, Tastatur/Maus, Netzwerkkabel und USB-Stick an Barebone anschließen, starten, Boot-Menü aufrufen und USB-Stick auswählen

Debian installieren

  1. Graphical install, Sprache Deutsch etc.
  2. Netzwerk einrichten: Entsprechende Netzwerkbuchse wählen
  3. Rechnername: z.B. "prx"
  4. Domainname: z.B. "local"
  5. Kein Root-Passwort vergeben
  6. Neuer Benutzer: (Benutzername eingeben)
  7. Passwort: (PW eingeben)
  8. Festplatte partitionieren: "Geführt - gesamte Platte mit verschlüsseltem LVM"
  9. Alle Dateien auf eine Partition, mit "Ja" bestätigen
  10. Nun startet das überschreiben mit zufälligen Daten, dauert ewig, aber sollte man machen, es sei denn die Festplatte ist neu oder war zuvor schon komplett verschlüsselt. Kann man mit "Abbrechen" abbrechen und die Installation weiter fortführen.
  11. Passphrase für die Verschlüsselung vergeben. Bitte sehr gutes Passwort verwenden.
  12. Größe: "max" eingeben oder so belassen
  13. "Partitionierung beenden und Änderungen übernehmen" bestätigen
  14. Deutsch als Spiegelserver, kein Proxy
  15. Statistiken: wie gewünscht ja oder nein
  16. Software: nur SSH Server und Standard-Systemwerkzeuge, kein Desktop
  17. Fertig. Neu starten, nun Verschlüsselungspasswort eingeben.
  18. Einloggen mit zuvor vergebenem Account und mit ip addr oder ip route die IP-Adresse ausgeben
  19. Zu Windows wechseln, Putty öffnen, die IP eingeben, verbinden und einloggen.

Debian Grundeinrichtung

IP-Adresse

Ich belasse die Einstellungen (DHCP) und weise die vergebene IP im Router fest zu (z.B. in Fritzbox: Heimnetz > Netzwerk > (Barebone) > Option: "Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen.")

Zugang via SSH um Verschlüsselungspasswort etwa von Windows aus einzugeben

  1. sudo apt install dropbear-initramfs Folgende Ausgabe fixen wir später: "WARNING: Invalid authorized_keys file, SSH login to initramfs won't work!"
  2. Windows-Konsole: ssh-keygen -t rsa -f c:\Users\<user>\Downloads\unlock_luks - dabei ggf. Pfad und Dateiname entsprechend anpassen. Passwort vergeben
  3. sudo nano /etc/dropbear-initramfs/authorized_keys und Dateiinhalt von unlock_luks.pub einfügen, speichern.
  4. Change File Permissions (lt. Anleitung, aber wirklich notwendig? - ich habe es jedenfalls gemacht): sudo chmod 600 /etc/dropbear-initramfs/authorized_keys
  5. sudo nano /etc/dropbear-initramfs/config -> Zeile #DROPBEAR_OPTIONS ändern in: DROPBEAR_OPTIONS="-I 300 -j -k -p 2222 -s"
  6. ip route, gibt z.B. in erster Zeile "default via 180.0.0.1 dev enp1s0" aus, hier entspricht DEVICE=enp1s0 und 180.0.0.1 dem Gateway
  7. sudo nano /etc/initramfs-tools/initramfs.conf
  8. Für DHCP folgende zwei Zeilen hinzufügen, dabei 2x "enp1s0" ggf. ersetzen durch Ausgabe von ip route:
    DEVICE=enp1s0
    IP=:::::enp1s0:dhcp
  9. sudo update-initramfs -u - aktualisieren
  10. Server neu starten - sudo reboot
  11. Windows-Konsole: ssh -i c:\Users\<user>\Downloads\unlock_luks -p 2222 -o "HostKeyAlgorithms ssh-rsa" root@180.0.0.22 - IP entsprechend anpassen
  12. Are you sure you want to continue connecting -> yes
  13. Passwort für SSH-Schlüssel eingeben
  14. cryptroot-unlock eingeben
  15. Verschlüsselungspasswort eingeben
  16. Wenn erfolgreich, erscheint: "cryptsetup: xxx_crypt set up successfully"

(per: https://www.dwarmstrong.org/remote-unlock-dropbear/)

Proxmox installieren

Vorgehensweise gemäß: https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_11_Bullseye

Besonderheiten:

  1. Zum Einloggen in Proxmox (https://IP-Adresse:8006/) dann doch ein Root-Passwort vergeben, da man ansonsten sich nicht in Proxmox einloggen konnte (dies gilt es noch zu optimieren):
    - sudo passwd root, 2x das Passwort für root eingeben.
    - Proxmox-Webinterface: Benutzername "root" und entsprechendes Passwort eingeben, bei Domäne "Linux PAM standard authentication" auswählen

  2. Proxmox-Webinterface: Beim Anlegen einer Linux Bridge unter Rechenzentrum > prx > System > Netzwerk:
    Name: vmbr0
    IPv4/CIDR: 180.0.0.22/24 (IP gemäß ip addr, dahinter /24)
    Gateway: 180.0.0.1 (gemäß ip route)
    Bridge ports: enp1s0 (Name der aktiven Netzwerkkarte)

    (nach dem Speichern oben auf "Konfiguration anwenden" klicken)