Automatisches Einbinden eines verschlüsselten Dateisystems (mit zufälligem Schlüssel), das sich unter CentOS 6 in einer regulären Datei befindet.*

Automatisches Einbinden eines verschlüsselten Dateisystems (mit zufälligem Schlüssel), das sich unter CentOS 6 in einer regulären Datei befindet.*

Aufgabe: Richten Sie im CentOS 6.x-System mithilfe eines einmaligen (zufälligen) Schlüssels ein automatisch verschlüsseltes Dateisystem ein und mounten Sie es, das sich in einer regulären Datei befindet.

/etc/crypttab in CentOS 6.* erlaubt nicht die Verwendung einer einfachen Datei als Blockgerät zum automatischen Mounten und Zuordnen.

Also, /etc/crypttab Zeile wie diese

cfs   /var/file-with-encrypted-filesystem    some-password-source

wird in CentOS ignoriert.

Die folgende Befehlsfolge kann zum Ausführen der Aufgabe in CentOS verwendet werden:

losetup /dev/loop0 /var/tmpfile
dd if=/dev/urandom of=/dev/shm/tmppass bs=512 count=1
cryptsetup luksFormat /dev/loop0 --use-urandom --batch-mode --key-file /dev/shm/tmppass
cryptsetup luksOpen /dev/loop0 ctmp --batch-mode --key-file /dev/shm/tmppass
mkfs.ext2 /dev/mapper/ctmp
mount -t ext2 /dev/mapper/ctmp /mountpoint
shred -n 1 /dev/shm/tmppass
rm -f /dev/shm/tmppass

angenommen, die Datei zum Halten des Dateisystems ist /var/tmpfile

Gibt es eine weniger umständliche Möglichkeit, dasselbe auf Debian-ähnliche Weise zu erreichen (durch Angabe relevanter Einträge in /etc/crypttab und /etec/fstab)?

Antwort1

Der folgende /etc/crypttab-Eintrag zeigt, wie Sie es in Ubuntu machen würden:

# <target name>  <source device>                      <key file>    <options>
cfs              /var/file-with-encrypted-filesystem  /dev/urandom  tmp=ext4

Sehr ähnlich der Handhabung von Crypted Swap – siehe das Beispiel der Crypttab-Manpage unten:

# Encrypted swap device
cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap

Gibt es auf der Manpage von CentOS für Crypttab Hinweise dazu? Ich habe im Moment keine CentOS-Maschine zur Hand, aber auf einer RHEL 6-Maschine werden dieselben Optionen unterstützt.


OK, gut, ich war neugierig. Das funktioniert und ist ein bisschen netter. Platzieren Sie es irgendwo wie /etc/rc.local. Getestet auf RH 6:

LODEV=$(losetup -f)
losetup $LODEV /path/to/existing/cryptfile
cryptsetup create cfs $LODEV --key-file /dev/urandom
mkfs.ext2 /dev/mapper/cfs 
mount /dev/mapper/cfs /wherever

verwandte Informationen