Linux

Erstellen einer Verschlüsselten Container Datei

Wer Daten Sicher aufbewahren will, kommt um eine Verschlüsselung nicht drum herum. Hier zeige ich wie man eine verschlüsselte Container Datei erstellt.

Erstellen

Achtung! Es werden root-Rechte benötigt.

Erstellung des Containers mit ca. 512MB:

# dd if=/dev/zero of=./privateContainer.vol bs=1024k count=512

Bei der Verschlüsselung gibt mehrere Varianten. Grundsätzlich wird aber immer das gleiche gemacht.

Der Container wird als loop-Device Eingehängt

# losetup /dev/loop0 ./privateContainer.vol

Das loop-Device wird für die Verschlüsselung formatiert.

# #Mit Key-File:
# dd if=/dev/urandom of=./private.key bs=1k count=64    #Erstellung des Key-File
# #cryptsetup -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/loop0 ./private.key #altes Verfahren
# cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 -y /dev/loop0 ./private.key
# #Mit Passphrase:
# cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 -y /dev/loop0

Das loop-Device wird entschlüsselt.

# #Mit Key-File:
# cryptsetup luksOpen /dev/loop0 privateContainerluks --key-file=./private.key
# #Mit Passphrase:
# cryptsetup luksOpen /dev/loop0 privateContainerluks

Ein Dateisystem wird angelegt.

Es kann praktische jedes Dateisystem benutzt werden. In diesem Beispiel wird ext3 benutzt

# mkfs.ext3 -L Geheimnis /dev/mapper/privateContainerluks
# tune2fs -c 0 -i 0 -r 0 /dev/mapper/privateContainerluks

Die Entschlüsselung wird aufgehoben und das loop-Device ausgehängt.

# cryptsetup luksClose privateContainerluks
# losetup -d /dev/loop0

Benutzen

Der Umgang mit der verschlüsselten Container Datei, ist im Grunde so wie mit ein „wirkliches“ Device. Nur mit dem Unterschied, dass es erst als loop-Device eingebunden werden muss.

Einbinden

# losetup /dev/loop0 ./privateContainer.vol
# cryptsetup luksOpen /dev/loop0 privateContainerluks --key-file=./private.key #Mit Key-File
# cryptsetup luksOpen /dev/loop0 privateContainerluks #Mit Passphrase
# mount -t ext3 /dev/mapper/privateContainerluks /mnt/

Aushängen

# umount /mnt/
# cryptsetup luksClose  privateContainerluks
# losetup -d /dev/loop0

Vergrößern des Containers

Da es öfter mal vorkommt, dass eine Container Datei zu klein wird, gibt es die Möglichkeit diese zu verglößern.

!!! ACHTUNG !!! Unbedingt eine Sicherung machen, da es zum Datenverlust kommen kann.

Vergrößern der Datei

# dd if=/dev/zero bs=1024k count=256 >> ./privateContainer.vol
# losetup /dev/loop0 ./privateContainer.vol
# cryptsetup luksOpen /dev/loop0 privateContainerluks --key-file=./private.key #Mit Key-File
# cryptsetup luksOpen /dev/loop0 privateContainerluks #Mit Passphrase
# cryptsetup resize privateContainerluks
# losetup -d /dev/loop0

Dateisystem Vergrößern

Bei den Dateisystemen beschränke ich mich auf ext2/3/4, xfs, und ntfs.

# #ext2/3/4 <- nicht gemountet
# e2fsck /dev/mapper/privateContainerluks
# resize2fs -p /dev/mapper/privateContainerluks
# #xfs <- gemountet
# xfs_growfs /[mountpoint]
# #ntfs <- nicht gemountet
# ## keine NTFS eigene Verschlüsselung/Komprimierung
# ntfsresize /dev/mapper/privateContainerluks

Passwort des Containers ändern

Wichtig ist, dass des öfternen mal das Passwort gewechselt wird, um die Sicherheit zu erhöhen.

Passwort hinzufügen

# losetup /dev/loop0 ./privateContainer.vol
# cryptsetup luksAddKey /dev/loop0 #Neues Passwort hinzufügen
# cryptsetup luksRemoveKey /dev/loop0 #Passwort löschen
# losetup -d /dev/loop0

Letzte Änderung: 19. Dec 2017

© Joachim Janßen
CSS ist valide! Valid XHTML 1.0 Transitional