Schlagwort ‘GELI‘

FreeBSD: Verschlüsselung

Verschlüsselung ist heutzutage vielerorts kaum noch wegzudenken, insbesondere nicht im mobilen Bereich. Und dennoch sollte man sich überlegen, wo man diese einzusetzen gedenkt. Denn letztendlich gilt: was sind einem die eigenen Daten wert? Eine Verschlüsselung ist immer auch ein guter Weg Daten entgültig zu verlieren. Kristian Köhntopp stellte diesbezüglich einige interessante Aspekte zusammen. Paranoia ist jedenfalls nie ein guter Ratgeber …

In diesem Artikel nun erkläre ich, wie man die home– und swap-Partition unter FreeBSD mittels GELI verschlüsselt. Dazu ist logischerweise eine getrennte home-Partition notwendig, sowie grundlegende Kenntnisse im Umgang mit der Konsole. Das Prozedere selbst ist recht einfach, man initialisiert die entsprechende Partition mit GELI und legt darauf ein Filesystem an. Voreinstellung bei FreeBSD ist XTS-AES, es können jedoch bei der Initialisierung auch andere Algorithmen, Schlüssellängen, etc. genutzt werden, siehe diesbezüglich auch die man-Page zu GELI. ad4p7 ist meine home-Partition, ad4p2 ist mein swap-Bereich, analog muß man dies entsprechend der eigenen Konfiguration anpassen.

GELI selbst muß vor dem Einsatz geladen werden, dies erreicht man, indem man /boot/loader.conf die entsprechende Anweisung hinzufügt: geom_eli_load=«YES».

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

dd if=/dev/random of=/root/ad4p7.key bs=64 count=1
geli init -b -K /root/ad4p7.key /dev/ad4p7
geli attach -k /root/ad4p7.key /dev/ad4p7
newfs -U -L homecrypto /dev/ad4p7.eli
mount /dev/ufs/homecrypto /home

 

Mittels dd erzeugt man einen Schlüssel, der unter /root gespeichert wird. Geli init initialisiert den entsprechenden Provider mit diesem Schlüssel, die Option b sorgt dafür, daß das gewählte Passwort beim Bootvorgang abgefragt wird. Mit geli attach schließlich hängt man den Provider ein. Mittels newfs wird ein Filesystem auf dem verschlüsselten Provider erzeugt, in diesem Fall versehe ich diesen mit der Bezeichnung homecrypto. Letztendlich wird der entsprechend präparierte Provider unter home eingehangen.

Bei der Initialisierung wird nach einem Passwort gefragt, welches verifiziert werden muß. Daß der Schutz insbesondere mit der Stärke des Passworts steht und fällt, sollte jedem bewußt sein. Der Schlüssel selbst kann auch auf einem USB-Stick ausgelagert werden, um den Provider einzuhängen bedarf es dann des Passworts und des Schlüssels auf dem USB-Stick. Bei aller Paranoia jedoch sollte eines bedacht werden: geht der USB-Stick verloren oder wird dieser beschädigt, sind alle Daten unwiderruflich verloren!

geli_devices="ad4p7"
geli_ad4p7_flags="-k /root/ad4p7.key"

 

Um dem System mitzuteilen, was es denn genau beim Bootvorgang tun soll, bedarf es einiger Ergänzungen in /etc/rc.conf. Unter geli_devices muß die entsprechende Partition angegeben werden, auf der der Provider erstellt wurde, geli_ad4p7_flag enthält die entsprechenden Optionen — hier, wo sich der Schlüssel befindet.

#home encypted
/dev/ufs/homecrypto /home ufs rw 2 2

#swap encrypted
/dev/ad4p2.eli none swap sw 0 0

 

Dies ist ein Teil von /etc/fstab, in dieser wird der verschlüsselte Provider unter home eingehangen, sowie der swap-Bereich zugewiesen. Letzterer benötigt kein Passwort, da dieser bei jedem Neustart initialisiert wird, Voreinstellung hierbei: AES mit einer Schlüssellänge von 256 bit. Beim Bootvorgang wird nach dem gewählten Passwort gefragt und sofern man keinen Fehler gemacht hat, sollte alles wie gewohnt ablaufen.

 

 

 

, , , , , , , ,

RSS-Feed abonnieren