OpenBSD unterstützt erst seit OpenBSD 5.3 die Festplattenverschlüsselung . Frühere Versionen erfordern eine Klartext-Bootpartition. Ich weiß nicht, wann das Installationsprogramm geändert wurde, um die direkte Installation auf einer verschlüsselten Partition zu unterstützen (wobei der Bootloader natürlich immer noch unverschlüsselt ist, da das nächste Bit entschlüsselt werden muss).
Das Verschlüsseln der Systempartition hat ohnehin wenig Sinn¹. Ich empfehle daher, das System normal zu installieren, dann ein verschlüsseltes Dateisystem-Image zu erstellen und Ihre vertraulichen Daten ( /home
Teile /var
, vielleicht einige Dateien /etc
) dort abzulegen.
Wenn Sie die Systempartition trotzdem verschlüsseln möchten (weil Sie einen speziellen Anwendungsfall haben, z. B. eine vertrauliche Software) und ursprünglich kein verschlüsseltes System installiert haben, gehen Sie wie folgt vor.
Booten Sie Ihre OpenBSD-Installation und erstellen Sie eine Datei, die das verschlüsselte Dateisystem-Image enthält. Stellen Sie sicher, dass Sie eine angemessene Größe wählen, da sich diese später nur schwer ändern lässt (Sie können ein zusätzliches Bild erstellen, müssen jedoch die Passphrase für jedes Bild separat eingeben). Die vnconfig
Manpage enthält Beispiele (obwohl einige Schritte fehlen). In einer Nussschale:
dd if=/dev/urandom of=/ENCRYPTED.img bs=1m count=4096
vnconfig -k svnd0 /ENCRYPTED.img # type your passphrase
{ echo a a; echo w; echo q; } | disklabel -E /svnd0 # create a single slice
newfs /dev/svnd0a
mount /dev/svnd0a /mnt
mv /home/* /mnt
umount /mnt
umount /dev/svnd0c
Fügen Sie entsprechende Einträge hinzu zu /etc/fstab
:
/ENCRYPTED.img /dev/svnd0c vnd rw,noauto,-k
/dev/svnd0a /home ffs rw,noauto
Fügen Sie Befehle hinzu, um das verschlüsselte Volume und das darin enthaltene Dateisystem beim Start bereitzustellen /etc/rc.local
:
echo "Mounting encrypted volumes:"
mount /dev/svnd0c
fsck -p /dev/svnd0a
mount /home
Überprüfen Sie, ob alles korrekt funktioniert, indem Sie diese Befehle ausführen ( mount /dev/svnd0c && mount /home
).
Beachten Sie, dass rc.local
der Startvorgang zu spät ausgeführt wird, sodass Sie keine Dateien, die von den Standarddiensten wie ssh oder sendmail verwendet werden, auf dem verschlüsselten Volume ablegen können. Wenn Sie das tun möchten, geben Sie diese Befehle /etc/rc
stattdessen direkt danach ein mount -a
. Verschieben Sie dann die Teile Ihres Dateisystems, die Sie für vertraulich halten, und verschieben Sie sie auf das /home
Volume.
mkdir /home/etc /home/var
mv /etc/ssh /home/etc
ln -s ../home/etc/ssh /home/etc
mv /var/mail /var/spool /home/var
ln -s ../home/var/mail ../home/var/spool /var
Sie sollten Ihren Swap auch verschlüsseln, aber OpenBSD macht das heutzutage automatisch.
Der neuere Weg, ein verschlüsseltes Dateisystem zu erhalten, führt über den Software-RAID-Treiber softraid
. Siehe die softraid
und bioctl
man - Seiten oder Lykle de Vries OpenBSD verschlüsselte NAS HOWTO für weitere Informationen. Neuere Versionen von OpenBSD unterstützen das Booten von einem Softraid-Volume und das Installieren auf einem Softraid-Volume, indem Sie während der Installation auf eine Shell ziehen, um das Volume zu erstellen.
¹
Soweit ich das beurteilen kann, ist OpenBSDs Volumenverschlüsselung aus Gründen der Vertraulichkeit (mit Blowfish) und nicht der Integrität geschützt . Der Schutz der Integrität des Betriebssystems ist wichtig, Vertraulichkeit ist jedoch nicht erforderlich. Es gibt auch Möglichkeiten, die Integrität des Betriebssystems zu schützen, diese gehen jedoch über den Rahmen dieser Antwort hinaus.