Kako postaviti šifrirane datotečne sustave i zamijeniti prostor pomoću alata 'Cryptsetup' u Linuxu - 3. dio


LFCE (skraćenica od Linux Foundation Certified Engineer) obučen je i ima stručnost za instaliranje, upravljanje i rješavanje problema s mrežnim uslugama u Linux sustavima te je zadužen za dizajn, implementacija i kontinuirano održavanje arhitekture sustava.

Predstavljamo program certifikacije Linux Foundation (LFCE).

Ideja iza šifriranja je dopustiti samo osobama od povjerenja pristup vašim osjetljivim podacima i zaštititi ih od pada u pogrešne ruke u slučaju gubitka ili krađe vašeg stroja/tvrdog diska.

Jednostavnim rječnikom rečeno, ključ se koristi za “zaključavanje” pristupa vašim podacima, tako da postanu dostupni kada sustav radi i otključa ih ovlašteni korisnik. To implicira da ako osoba pokuša ispitati sadržaj diska (priključivanjem na vlastiti sustav ili pokretanjem stroja s LiveCD/DVD/USB), pronaći će samo nečitljive podatke umjesto stvarnih datoteka.

U ovom ćemo članku raspravljati o tome kako postaviti šifrirane datotečne sustave pomoću dm-crypt (skraćeno od device mapper i cryptographic), standardnog alata za šifriranje na razini jezgre. Imajte na umu da budući da je dm-crypt alat na razini bloka, može se koristiti samo za šifriranje punih uređaja, particija ili uređaja u petlji (neće raditi na običnim datotekama ili direktorijima).

Priprema pogona/particije/uređaja petlje za šifriranje

Budući da ćemo obrisati sve podatke prisutne na našem odabranom pogonu (/dev/sdb), prije svega, moramo napraviti sigurnosnu kopiju svih važnih datoteka koje se nalaze na toj particiji PRIJE nastavlja se dalje.

Obrišite sve podatke iz /dev/sdb. Ovdje ćemo koristiti naredbu dd, ali to možete učiniti i s drugim alatima kao što je shred. Zatim ćemo stvoriti particiju na ovom uređaju, /dev/sdb1, slijedeći objašnjenje u Dijelu 4 – Stvaranje particija i datotečnih sustava u Linuxu serije LFCS.

dd if=/dev/urandom of=/dev/sdb bs=4096 
Testiranje podrške za šifriranje

Prije nego nastavimo dalje, moramo biti sigurni da je naš kernel kompajliran s podrškom za šifriranje:

grep -i config_dm_crypt /boot/config-$(uname -r)

Kao što je prikazano na gornjoj slici, potrebno je učitati modul kernela dm-crypt kako bi se postavila enkripcija.

Instaliranje Cryptsetupa

Cryptsetup je sučelje za kreiranje, konfiguriranje, pristup i upravljanje šifriranim datotečnim sustavima pomoću dm-crypt.

aptitude update && aptitude install cryptsetup 		[On Ubuntu]
yum update && yum install cryptsetup 				[On CentOS] 
zypper refresh && zypper install cryptsetup 			[On openSUSE]

Postavljanje šifrirane particije

Zadani način rada za cryptsetup je LUKS (Linux Unified Key Setup) pa ćemo se držati njega. Počet ćemo postavljanjem LUKS particije i zaporke:

cryptsetup -y luksFormat /dev/sdb1

Gornja naredba pokreće cryptsetup sa zadanim parametrima, koji se mogu navesti s,

cryptsetup --version

Ako želite promijeniti parametre cipher, hash ili key, možete koristiti –cipher, < b>–hash, odnosno –key-size oznake, s vrijednostima preuzetim iz /proc/crypto.

Zatim moramo otvoriti LUKS particiju (bit ćemo upitani za šifru koju smo ranije unijeli). Ako provjera autentičnosti uspije, naša šifrirana particija bit će dostupna unutar /dev/mapper s navedenim nazivom:

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

Sada ćemo formatirati particiju kao ext4.

mkfs.ext4 /dev/mapper/my_encrypted_partition

i stvorite točku montiranja za montiranje šifrirane particije. Na kraju, možda ćemo željeti potvrditi je li operacija montiranja uspjela.

mkdir /mnt/enc
mount /dev/mapper/my_encrypted_partition /mnt/enc
mount | grep partition

Kada završite s pisanjem ili čitanjem iz vašeg šifriranog datotečnog sustava, jednostavno ga isključite

umount /mnt/enc

i zatvorite LUKS particiju pomoću,

cryptesetup luksClose my_encrypted_partition
Testiranje enkripcije

Na kraju ćemo provjeriti je li naša šifrirana particija sigurna:

1. Otvorite LUKS particiju

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

2. Unesite svoju šifru

3. Montirajte pregradu

mount /dev/mapper/my_encrypted_partition /mnt/enc

4. Stvorite lažnu datoteku unutar točke montiranja.

echo “This is Part 3 of a 12-article series about the LFCE certification” > /mnt/enc/testfile.txt

5. Provjerite možete li pristupiti datoteci koju ste upravo stvorili.

cat /mnt/enc/testfile.txt

6. Demontirajte datotečni sustav.

umount /mnt/enc

7. Zatvorite LUKS particiju.

cryptsetup luksClose my_encrypted_partition

8. Pokušajte montirati particiju kao obični datotečni sustav. Trebao bi ukazivati na grešku.

mount /dev/sdb1 /mnt/enc

Šifriranje prostora za razmjenu za dodatnu sigurnost

Zaporka koju ste ranije unijeli za korištenje šifrirane particije pohranjuje se u RAM memoriju dok je otvorena. Ako se netko dočepa ovog ključa, moći će dešifrirati podatke. To je posebno lako učiniti u slučaju prijenosnog računala, budući da se tijekom hibernacije sadržaj RAM-a čuva na swap particiji.

Kako biste izbjegli da kopija vašeg ključa ostane dostupna lopovu, šifrirajte swap particiju slijedeći ove korake:

1 Napravite particiju koja će se koristiti kao swap s odgovarajućom veličinom (/dev/sdd1 u našem slučaju) i šifrirajte je kao što je ranije objašnjeno. Nazovite ga samo "swap " radi praktičnosti.'

2. Postavite ga kao swap i aktivirajte ga.

mkswap /dev/mapper/swap
swapon /dev/mapper/swap

3. Zatim promijenite odgovarajući unos u /etc/fstab.

/dev/mapper/swap none        	swap	sw          	0   	0

4. Na kraju, uredite /etc/crypttab i ponovno pokrenite sustav.

swap               /dev/sdd1         /dev/urandom swap

Nakon što se sustav podigne, možete provjeriti status swap prostora:

cryptsetup status swap

Sažetak

U ovom smo članku istražili kako šifrirati particiju i swap prostor. Uz ovu postavku vaši bi podaci trebali biti prilično sigurni. Slobodno eksperimentirajte i ne ustručavajte se javiti nam se ako imate pitanja ili komentara. Samo upotrijebite obrazac u nastavku - bit će nam više nego drago da nam se javite!