Dateiverschlüsselung unter Linux mit dm-crypt
Aus Port23Wiki
Inhaltsverzeichnis |
Links
- https://gitlab.com/cryptsetup/cryptsetup
- https://gitlab.com/cryptsetup/cryptsetup/-/wikis/DMCrypt
- https://www.saout.de/misc/dm-crypt/
- http://linuxwiki.de/dm-crypt
- https://systemausfall.org/wikis/howto/CryptoPartitionHowTo
- https://wiki.ubuntuusers.de/LUKS/
- https://wiki.archlinux.de/title/Dm-crypt
- https://wiki.ubuntuusers.de/System_verschl%C3%BCsseln/
- https://wiki.gentoo.org/wiki/Dm-crypt_full_disk_encryption
- https://www.heise.de/security/artikel/Erfolgreicher-Angriff-auf-Linux-Verschluesselung-2072199.html
- https://www.my-it-brain.de/wordpress/datentraeger-unter-linux-mit-cryptsetup-luks-verschluesseln/
- https://blog.andreas-haerter.com/2011/06/18/ubuntu-festplattenvollverschluesselung-lvm-luks
- https://fedoraproject.org/wiki/Disk_Encryption_User_Guide
- https://fedoraproject.org/wiki/Disk_encryption_formats
- https://www.tecmint.com/encrypt-drives-using-luks-in-fedora-linux/
- Prinzip
- 1. Festplatte prüfen und oder mit Zufallsdaten füllen
- 2. Partition auf Festplatte anlegen
- 3. Mapping herstellen / Passphrase festlegen
- 4. Filesystem anlegen
- 5. Dateisystem mounten
- Prinzip
Beispiel
Um sensible Daten zu verschlüsseln kann man diese in einer Datei in einem unverschlüsselten Dateisystem ablegen. Die Daten kann man mounten und wie ein übliches Dateisystem verwenden.
Einrichten
- Datei anlegen (z. B. 1GB Datei anlegen)
dd if=/dev/urandom of=/var/daten.enc bs=1k count=1000000
- Loop-Device mit Datei verbinden
losetup /dev/loop0 /var/daten.enc
- Setup der Verschlüsselung
cryptsetup luksFormat --verbose --verify-passphrase /dev/loop0
WARNING! ======== This will overwrite data on /dev/loop0 irrevocably.
Are you sure? (Type uppercase yes): YES Enter LUKS passphrase: Verify passphrase: Command successful.
- Device öffnen
cryptsetup luksOpen /dev/loop0 data_enc
Enter LUKS passphrase for /dev/loop0: key slot 0 unlocked. Command successful.
- Status der Verschlüsselung überprüfen
cryptsetup status data_enc
/dev/mapper/data_enc is active: cipher: aes-cbc-essiv:sha256 keysize: 128 bits device: /dev/loop0 offset: 1032 sectors size: 1998968 sectors mode: read/write
- Dateisystem (hier ext3) anlegen
mkfs -t ext3 /dev/mapper/data_enc
mke2fs 1.41.4 (27-Jan-2009) Dateisystem-Label= OS-Typ: Linux Blockgröße=4096 (log=2) Fragmentgröße=4096 (log=2) 62592 Inodes, 249871 Blöcke 12493 Blöcke (5.00%) reserviert für den Superuser Erster Datenblock=0 Maximale Dateisystem-Blöcke=260046848 8 Blockgruppen 32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe 7824 Inodes pro Gruppe Superblock-Sicherungskopien gespeichert in den Blöcken: 32768, 98304, 163840, 229376
Schreibe Inode-Tabellen: erledigt Erstelle Journal (4096 Blöcke): erledigt Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt
Das Dateisystem wird automatisch nach jeweils 22 Einhäng-Vorgängen bzw. alle 180 Tage überprüft, je nachdem, was zuerst eintritt. Veränderbar mit tune2fs -c oder -t .
- Dateisystem mounten
mount /dev/mapper/data_enc /enc
- Dateisystem benutzen...
- Umounten
umount /enc
- Mapping entfernen, wichtig!
cryptsetup luksClose data_enc
- Optional loop device löschen
losetup -d /dev/loop0
Verwenden
Nach reboot:
losetup /dev/loop0 /var/daten.enc
cryptsetup luksOpen data_enc /dev/loop0
mount /dev/mapper/data_enc /enc
- Dateisystem benutzen...
umount /enc
cryptsetup luksClose data_enc
- loop device löschen
losetup -d /dev/loop0