A Cryptsetup egy interfész a titkosított blokkeszköz létrehozásáshoz, a Linux kernel device mapper használatával. Integrált Linux Unified Key Setup (LUKS) támogatással rendelkezik.
A Cryptosetup visszafele kompatibilis a Cryptoloop on-disk formátumával, de támogat több titkosítási formát.
Mozgatható tárak titkosítására kiváló.
apt install cryptsetup
A partíciót nem kell formázni, azt majd a felcsatolt titkosított fájlrendszeren fogjuk.
Az fdisk -l kimenetében viszont ott kell lássuk, például:
/dev/sdb1
Ha a partíció volt már titkosítva, annak aláírását töröljük:
wipefs -a /dev/sdb1
cryptsetup luksFormat /dev/sdb1
# cryptsetup luksFormat /dev/sdb1 WARNING! ======== This will overwrite data on /dev/sdb1 irrevocably. Are you sure? (Type uppercase yes): YES Enter passphrase: Verify passphrase: #
A device mapper fogjuk használni. A fájlrendszert a /dev/mapper/ könyvtárban fogjuk viszontlátni. Ezért nézzük meg az általunk használni kívánt név, nem foglat-e. A név tetszőlegesen választott, lehet: secret, private stb.
ls /dev/mapper
Ha nincs ilyen mappelt eszköz, nyissuk meg a titkosított kötetet:
cryptsetup luksOpen /dev/sdb1 priv
# cryptsetup luksOpen /dev/sdb1 priv Enter passphrase for /dev/sdb1:
Most nézzük meg, hogy létrejött-e a priv eszköz:
ls /dev/mapper
# ls /dev/mapper control priv
Ha sikeresen megnyitottuk a titkostott kötetet, és az fel lett csatolva a /dev/mapper/priv útvonalon, akkor formázzuk meg:
mkfs.ext4 /dev/mapper/priv
# mkfs.ext4 /dev/mapper/priv mke2fs 1.43.4 (31-Jan-2017) Fájlrendszer UUID: 975ff984-d291-4c17-a4c3-2bd79d405b94 Tartalék szuperblokkok tárolva a blokkokon: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Csoporttáblák foglalása: kész Inode táblák írásakor: kész Napló létrehozása (16384 blokk): kész Szuperblokkok és fájlrendszer-könyvelési információk írása: kész
Csatolási pont létrehozása:
mkdir /mnt/priv
Csatolás:
mount /dev/mapper/priv /mnt/priv
A /mnt/priv könyvtárba tehetjük a titkos állományainkat.
cp -pv /home/janos/.ssh/id_rsa /mnt/priv cp -pv /home/janos/.gnupg/secring.gpg /mnt/priv
# cryptsetup luksDump /dev/sdb1 LUKS header information for /dev/sdb1 Version: 1 Cipher name: aes Cipher mode: xts-plain64 Hash spec: sha256 Payload offset: 4096 MK bits: 256 MK digest: 83 0b 8c 63 ea ae 18 12 73 71 db c7 e0 b2 5b 9f ca 36 69 f7 MK salt: c5 ed c3 a4 5a 58 3c 79 55 77 9f 99 7c f5 c7 a2 08 73 1e fb f8 37 e8 e9 c7 43 e4 0b cb 37 86 63 MK iterations: 71000 UUID: 51a39d2b-4c8c-445f-bb63-995f2c3cb96f Key Slot 0: ENABLED Iterations: 609523 Salt: 07 84 9f 1f 50 5d b9 30 06 39 73 15 c7 ad f1 f4 f6 6f 5f f6 b6 d7 a5 db bc 13 02 d8 7a ec 76 d6 Key material offset: 8 AF stripes: 4000 Key Slot 1: DISABLED Key Slot 2: DISABLED Key Slot 3: DISABLED Key Slot 4: DISABLED Key Slot 5: DISABLED Key Slot 6: DISABLED Key Slot 7: DISABLED root@iskolazo:~#
umoount /mnt/priv cryptsetup luksClose /dev/mapper/priv
Ha nem áll rendelkezésre egy USB eszköz, amin a fentieket kipróbálhatjuk, hozzunk létre egy virtuálisat:
root@iskolazo:~# dd if=/dev/zero of=/loopdev bs=1k count=131072 131072+0 beolvasott rekord 131072+0 kiírt rekord 134217728 bájt (134 MB, 128 MiB) másolva, 1,44309 s, 93,0 MB/s
Milyen loop eszköz áll rendelkezésre?
# losetup -f /dev/loop0
Csatolás:
# losetup /dev/loop0 /loopdev
Így használhatjuk a /dev/loop0 eszközt a /dev/sdb1 helyett.