Wie bereits im Artikel zur voll-verschlüsselten Installation von Kali beschrieben, kann nach der Tauchfahrt-Anleitung jedes Debian basierende System voll-verschlüsselt installiert werden. Der Bare-metal Hypervisor Proxmox VE basiert auf Debian. Was liegt näher, als Virtualisierungsserver zu verschlüsseln?
Folgend wird am Beispiel eines Servers mit vier 2TB Festplatten gezeigt, wie die Partitionierung und Installation im Unterschied zur Anleitung
Debian Colocation/Leased Server Full-Disk-Encryption durchgeführt werden kann.
Es sind die Schritte 3, 5.2 und 6 wie folgt durchzuführen. Die Installation von Proxmox geschieht in Schritt 11.
3. Festplatte partitionieren
Für Proxmox VE wird empfohlen, LVM einzusetzen und in einer Volume-Group pve die zwei logischen Volumes root und data anzulegen. Daraus ergibt sich für die vier 2TB Festplatten (sda,sdb,sdc,sdd) folgendes Endschema.
- 2x 8GB RAID1 für /boot
- 2x 8GB RAID1 für swap
- 4x 1992GB RAID10 für LVM
Um dieses Schema zu erreichen, müssen die Partitionsschemen der einzelnen Festplatten wie folgt hergestellt werden. Der Partitionsmanager muss für jede Festplatte einmal aufgerufen werden.
cfdisk -z /dev/sdX
Gelöscht wird automatisch das komplette Partitionsschema der vorherigen Installation.
Angelegt werden zwei Partitionen. Für die ersten beiden Festplatten muss das Bootflag gesetzt werden. Für die restlichen beiden nicht.
sdX1
- Größe 8GB
- Typ FD (Wird unverschlüsseltes /boot– oder swap-RAID1)
- Bootfähig für 1. und 2. Festplatte
sdX2
- Größe Rest (1992GB)
- Typ 8E (wird Teil des LVM)
Folgend werden die beiden RAID1-Verbünde für die /boot Partition und die Auslagerungspartition erstellt. Das alte mdadm Metadaten-Format kommt zum Einsatz, damit der betagte Kernel von Proxmox die RAID-Verbünde beim Systemstart automatisch erkennt.
mdadm --create -e 0.9 --level=1 -n 2 /dev/md0 /dev/sda1 /dev/sdb1 mdadm --create -e 0.9 --level=1 -n 2 /dev/md1 /dev/sdc1 /dev/sdd1
Es folgt das RAID10,f2 für das verschlüsselte LVM-Volume.
mdadm --create --level=10 -p f2 -n 4 /dev/md2 /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2
Dann wird das RAID10 für das LVM-Volume verschlüsselt und formatiert. Hier ist es besonders wichtig, ein Passwort auszuwählen, dass länger als 20 Zeichen ist. Je länger und zufäliger das Passwort, desto länger dauert das Brechen. Dieses Passwort ist gemeinsam mit einem folgend erstellten SSh-Schlüssel die Achillesferse des Prinzips und muss geheimgehalten werden. Es ist sehr empfehlenswert, eine Software wie PWGen zu verwenden, um ein sehr langes Passwort (zum Beispiel 200 Zeichen) zu erzeugen.
Wenn das Passwort erzeugt ist, kann wie folgt fortgefahren werden. Bei der Verschlüsselung der Partition muss zuerst die Verschlüsselung mit Eingabe von YES bestätigt werden und dann der Schlüssel zweimal eingegeben werden.
cryptsetup luksFormat /dev/md2 cryptsetup luksOpen /dev/md2 md2_crypt
Jetzt kann das LVM initialisiert und die nötigen logischen Volumes nach Proxmox-Vorgabe erstellt werden. Die Größe des logischen Volumes data ist absichtlich klein gewählt, sodass weitere logische Volumes für Backups erstellt werden können.
pvcreate /dev/mapper/md2_crypt vgcreate pve /dev/mapper/md2_crypt lvcreate --name root --size 60G pve lvcreate --name data --size 500G pve
Folgend werden die Partitionen formatiert. Dabei soll nach Proxmox-Vorgabe das Dateisystem ext3 eingesetzt werden.
mkfs.ext3 /dev/mapper/pve-data mkfs.ext3 /dev/mapper/pve-root mkfs.ext3 /dev/md0
Jetzt werden die Partitionen eingebunden, damit im nächsten Schritt das Basis-System installiert werden kann.
mount /dev/mapper/pve-root /mnt mkdir -p /mnt/boot /mnt/var/lib/vz mount /dev/mapper/pve-data /mnt/var/lib/vz mount /dev/md0 /mnt/boot
5.2 Einrichtung der /etc/crypttab,/etc/fstab, Paketquellen und lokale Einstellungen
Zuerst wird die Dateisystem-Tabelle für verschlüsselte Partitionen angelegt.
md1_crypt /dev/md1 /dev/urandom cipher=aes-cbc-essiv:sha256,size=256,swap md2_crypt /dev/md2 none luks
Dann die entsprechende Dateisystem-Tabelle für unverschlüsselte und aktive verschlüsselte Partitionen.
/dev/md0 /boot ext3 relatime 0 2 /dev/mapper/md1_crypt none swap sw 0 0 /dev/mapper/pve-root / ext3 relatime,data=ordered 0 1 /dev/mapper/pve-data /var/lib/vz ext3 relatime,data=ordered 0 3 proc /proc prox defaults
Jetzt werden die Paketquellen in der Datei /etc/apt/sources.list wie folgt eingetragen.
# Debian wheezy deb http://ftp.de.debian.org/debian/ wheezy main non-free contrib deb-src http://ftp.de.debian.org/debian/ wheezy main non-free contrib deb http://security.debian.org/ wheezy/updates main non-free contrib deb-src http://security.debian.org/ wheezy/updates main non-free contrib deb http://ftp.de.debian.org/debian/ wheezy-updates main non-free contrib deb-src http://ftp.de.debian.org/debian/ wheezy-updates main non-free contrib
Nach Aktualisierung der lokalen Caches für Pakete kann fortgefahren werden.
aptitude update && aptitude -y upgrade
Jetzt erfolgt die Konfiguration der Sprache des Systems.
aptitude -y install locales && dpkg-reconfigure locales
Hier wird de_DE.UTF-8 gewählt. Die Zeitzone muss auch gesetzt werden, in der Regel auf Europa/Berlin.
dpkg-reconfigure tzdata
6.1 Grundlegende Software installieren
aptitude install -y ssh grub-pc pciutils psmisc cryptsetup dropbear busybox mdadm lvm2
Während der Installation erscheint eine Nachfrage von grub-pc. Es wird nach dem Ort, an dem GRUB installiert werden soll gefragt. Es sind /dev/sda und /dev/sdb anzugeben. Weicht die Festplattenbenennung ab, ist es wichtig zu wissen, dass GRUB nicht in einer Partition (wie /dev/sda1) oder einem Software-RAID-Verbund, sondern auf Festplatten (wie /dev/sda) installiert werden sollte.
11. Debian in Proxmox VE umwandeln
Nach der erfolgreichen Installation von Debian nach den Proxmox-Vorgaben, kann die Installation nach der Anleitung im Proxmox VE Wiki umgewandelt werden. Es sind die Schritte ab Install Proxmox VE durchzuführen.
3 Kommentare