Inhaltsverzeichnis

Allgemein

Um Dateien nicht für jedermann zugänglich zu machen können diese verschlüsselt werden. Solange es sich um einzelne Dateien handelt ist dies mit Programmen wie z.B. GnuPG oder OpenSLL (siehe Datei verschlüsseln) recht gut möglich. Will man jedoch eine Vielzahl Dateien verschlüsseln und transparent darauf zugreifen ist GnuPG nicht mehr so praktisch da man jede Datei einzeln entschlüsseln und wieder verschlüsseln muss. In diesem Fall ist eine transparente Verschlüsselung hilfreich. geli ermöglicht es Partitionen transparent zu verschlüsseln. Wendet man es auf eine Imagedatei an kann man somit verschlüsselte Images erzeugen die dann z.B. auf einem Webserver abgelegt werden können.

GELI laden

Damit GELI beim Systemstart geladen wird muss folgende Zeile in die /boot/loader.conf hinzugefügt werden:

geom_eli_load="YES"

Leere Imagedatei anlegen

Um nun eine leere Imagedatei auf der Festplatte anzulegen wird per dd eine leere Datei erzeugt (in diesem Fall 1GB Größe):

% dd if=/dev/zero of=crypt.img bs=512 count=2004992

Datei als Device einbinden

Um auf der Datei arbeiten zu können wie auf einem echten Datenträger muss sie als Device eingebunden werden. Dies wird über den Weg einer Memorydisk mittels mdconfig erledigt:

# mdconfig -f crypt.img 
md0

Das erzeugte Device heißt also md0 und sollte nun unter /dev zu finden sein.

Master-Key anlegen

Nun wird eine Schlüsseldatei angelegt mit welcher das Image dann verschlüsselt wird.

% dd if=/dev/random of=crypt.key bs=64 count=1

GELI initialisieren

Nun muss GELI noch das Device initialisieren.

# geli init -s 4096 -K crypt.key /dev/md0

Anschliessend 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/md0

Hiermit wurde das unverschlüsselte Device /dev/md0.eli erzeugt.

Dateisystem erzeugen

Das neue Image muss nun noch mit einem Dateisystem gefüllt werden.

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

Um das Device nun in /crypt zu mounten muss nur noch folgender Befehl abgesetzt werden:

# mount /dev/md0.eli /crypt

Das Device kann nun normal verwendet werden.

Device auswerfen

Zunächst wird das Laufwerk unmouned. Dies geschieht mit:

# umount /crypt

Anschliessend muss noch der GELI-Provider ausgeworfen werden. Hierdurch wird der entschlüsselte Zugriff beendet.

# geli detach md0.eli

Endgültig muss noch die Datei aus der Deviceliste ausgeworfen werden:

# mdconfig -d -u md0