BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Partition mit GELI verschlüsseln

Möchte man auf FreeBSD eine Partition verschlüsseln, kann man dazu GELI verwenden. Im folgenden Beispiel wird die Partition ad0s1f verschlüsselt und nach /home/beat gemountet.

Damit das GELI-Kernelmodul beim Starten des Systems geladen wird, muss folgender Eintrag in der /boot/loader.conf gemacht werden:

# echo 'geom_eli_load="YES"' >> /boot/loader.conf

Nun kann ein Schlüssel generiert werden, welcher zum Verschlüsseln der Partition benötigt wird. Der Schlüssel sollte dabei an einem Ort gespeichert werden, an welchem er nicht einfach überschrieben oder gelöscht werden kann. Gegebenenfalls kann der Schlüssel auch auf einem USB-Stick gespeichert werden, so dass man zum Einhängen der verschlüsselten Partition neben einem Passwort auch den USB-Stick besitzen muss. In diesem Fall kann die Partition allerdings nicht ohne Weiteres während des Bootens gemountet werden. Im folgenden Beispiel wird der Schlüssel unter /root gespeichert:

# dd if=/dev/random of=/root/ad0s1f.key bs=64 count=1

Danach wird die verschlüsselte Partition initiiert, dabei muss man ein Passwort festlegen:

# geli init -s 4096 -K /root/ad0s1f.key /dev/ad0s1f
Enter new passphrase:
Reenter new passphrase:

Nun wird die Partition ins System eingebunden, dabei muss man das vorher bestimmte Passwort eingeben:

# geli attach -k /root/ad0s1f.key /dev/ad0s1f
Enter passphrase:

Jetzt wird die neue Partition mit Zufallswerten überschrieben, das kann eine Zeit dauern:

# dd if=/dev/random of=/dev/ad0s1f.eli bs=1m

Danach wird ein neues Dateisystem auf der verschlüsselten Partition erstellt und diese das erste Mal ins System gemountet:

# newfs /dev/ad0s1f.eli
# mount /dev/ad0s1f.eli /home/beat

Die verschlüsselte Partition kann danach wie folgt geunmountet werden:

# umount /home/beat
# geli detach ad0s1f.eli

Soll die Partition automatisch beim Systemstart gemountet werden, müssen folgende Einträge in der /etc/rc.conf gemacht werden:

geli_devices="ad0s1f"
geli_ad0s1f_flags="-k /root/ad0s1f.key"

Jetzt noch den entsprechenden Eintrag in der /etc/fstab machen:

/dev/ad0s1f.eli         /home/beat              ufs             rw      0       0

Startet man nun das System neu, wird man automatisch nach dem Passwort gefragt und die verschlüsselte Partition wird gemountet.

Mehr Informationen zu verschlüsselten Partitionen mit GELI findet man in der Manpage geli(8). Wie man den Swap-Bereich mit GELI verschlüsselt, findet man in folgender Anleitung: http://www.chruetertee.ch/blog/archive/2007/06/30/swap-verschluesseln.html


Comments (1)  Permalink