====== Allgemein ======
Um eine Festplatte zu verschlüsseln wird //geli// verwendet. Dies arbeitet direkt auf geom-Providern und ist somit in der Lage Partitionen transparent zu verschlüsseln.
====== ASESNI Laden ======
Wenn die verwendete CPU hardwareseitige AES-Beschleunigung unterstützt kann diese mit folgendem Eintrag in der **/boot/loader.conf** aktiviert werden.
aesni_load="YES"
====== GELI laden ======
Damit GELI (welches die Entschlüsselung der Daten übernimmt) beim Systemstart geladen wird muss noch folgende Zeile in die /boot/loader.conf hinzugefügt werden:
geom_eli_load="YES"
====== Partition anlegen ======
Um nun auf der Festplatte eine z.B. 500GB große Partition anzulegen wird //gpart// mit folgenden Parametern aufgerufen (Hierbei muss **adX** mit der entsprechenden Devicenode ersetzt werden).
# gpart add -s 500G -l CRYPTO -a 1m -t freebsd-ufs adX
====== Master-Key anlegen ======
Nun wird eine Schlüsseldatei angelegt mit welcher das Image dann verschlüsselt wird. Will man kein Key-File verwenden (nur in Ausnahmefällen sinnvoll), sondern ausschließlich ein Passwort eingeben kann dieser Schritt übersprungen werden.
% dd if=/dev/random of=crypt.key bs=128k count=1
====== GELI initialisieren ======
Nun muss GELI noch das Device initialisieren.
# geli init -s 4096 -l 256 -K crypt.key /dev/gpt/CRYPTO
Will man hingegen kein Key-File verwenden sieht die Zeile wie folgt aus:
# geli init -s 4096 -l 256 /dev/gpt/CRYPTO
Anschließend muss noch zwei mal das zum Verschlüsseln zu verwendende Passwort eingegeben werden.
====== GELI-Provider aktivieren ======
Um das Ganze nun zu aktivieren wird folgend vorgegangen:
# geli attach -k crypt.key /dev/gpt/CRYPTO
Hiermit wurde das unverschlüsselte Device /dev/gpt/CRYPTO.eli erzeugt. Wird kein Key-File verwendet entfällt **-k crypt.key**.
====== Dateisystem erzeugen ======
Das neue Image muss nun noch mit einem Dateisystem gefüllt werden.
# dd if=/dev/random of=/dev/gpt/CRYPTO.eli bs=1m
# newfs -j /dev/CRYPTO.eli
Um das Device nun in /crypt zu mounten muss nur noch folgender Befehl abgesetzt werden:
# mount /dev/gpt/CRYPTO.eli /crypt
Das Device kann nun normal verwendet werden.
====== Device auswerfen ======
Zunächst wird das Laufwerk unmouned. Dies geschieht mit:
# umount /crypt
Anschließend muss noch der GELI-Provider ausgeworfen werden. Hierdurch wird der entschlüsselte Zugriff beendet.
# geli detach gpt/CRYPTO.eli
Tipp: Wurde beim attach Befehl die Option **-d** verwendet wird das Device automatisch detached sobald der //umount// abgeschlossen ist.