< Titkosítás

Partíció titkosítása

Szerző: Sallai András

Copyright © 2018, Sallai András

Licenc: CC BY-SA 4.0

Web: https://szit.hu

Cryptsetup

Bevezetés

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ó.

Telepítés

apt install cryptsetup

Előkészítés

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

A partció titkosítása

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 titkosított partíció megnyitása

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

Formázás

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ás

Csatolási pont létrehozása:

mkdir /mnt/priv

Csatolás:

mount /dev/mapper/priv /mnt/priv

Használat

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

Ellenőrzés

# 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:~#

Csatolás eltávolítása

umoount /mnt/priv
cryptsetup luksClose /dev/mapper/priv

Virtuális mozgatható eszköz

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.

Linkek

https://sanctum.geek.nz/arabesque/ (2018; cryptsetup)