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


LFCE (skraćeno od Linux Foundation Certified Engineer) je obučen i ima stručnost za instaliranje, upravljanje i rješavanje problema mrežnih usluga u Linux sistemima, te je zadužen za projektovanje, implementacija i tekuće održavanje arhitekture sistema.

Predstavljamo Linux Foundation Certification Program (LFCE).

Ideja koja stoji iza enkripcije je omogućiti samo pouzdanim osobama 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.

Jednostavno rečeno, ključ se koristi za “zaključavanje” pristupa vašim informacijama, tako da oni postaju dostupni kada je sistem pokrenut i otključan od strane ovlaštenog korisnika. Ovo implicira da ako osoba pokuša da ispita sadržaj diska (priključivši ga na sopstveni sistem ili dizanjem mašine sa LiveCD/DVD/USB), naći će samo nečitljive podatke umesto stvarnih fajlova.

U ovom članku ćemo raspravljati o tome kako postaviti šifrirane sisteme datoteka sa dm-crypt (skraćeno za mapiranje uređaja i kriptografski), standardnim alatom za šifriranje na nivou kernela. Imajte na umu da s obzirom da je dm-crypt alat na nivou bloka, može se koristiti samo za šifriranje potpunih uređaja, particija ili uređaja petlje (neće raditi na regularnim datotekama ili direktorijumima).

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

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

Obrišite sve podatke sa /dev/sdb. Ovdje ćemo koristiti naredbu dd, ali to možete učiniti i sa drugim alatima kao što je shred. Zatim ćemo kreirati particiju na ovom uređaju, /dev/sdb1, slijedeći objašnjenje u dijelu 4 – Kreiranje particija i sistema datoteka u Linuxu serije LFCS.

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

Prije nego što nastavimo dalje, moramo se uvjeriti da je naše kernel kompajlirano s podrškom za šifriranje:

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

Kao što je prikazano na gornjoj slici, dm-crypt modul kernela mora biti učitan da bi se postavilo šifriranje.

Instaliranje Cryptsetup-a

Cryptsetup je frontend interfejs za kreiranje, konfigurisanje, pristup i upravljanje šifrovanim sistemima datoteka koristeći 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) tako da ćemo se držati toga. Počećemo postavljanjem LUKS particije i pristupne fraze:

cryptsetup -y luksFormat /dev/sdb1

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

cryptsetup --version

Ako želite promijeniti parametre šifra, hash ili ključ, možete koristiti –šifru, < b>–heš, i –veličina ključa zastavice, respektivno, sa vrijednostima preuzetim iz /proc/crypto.

Zatim trebamo otvoriti LUKS particiju (od nas će se tražiti šifra koju smo ranije unijeli). Ako autentifikacija uspije, naša šifrirana particija će biti dostupna unutar /dev/mapper sa navedenim imenom:

cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

Sada ćemo formatirati particiju kao ext4.

mkfs.ext4 /dev/mapper/my_encrypted_partition

i kreirajte tačku montiranja za montiranje šifrirane particije. Na kraju, možda želimo da potvrdimo da li je operacija montiranja uspela.

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

Kada završite sa pisanjem ili čitanjem iz vašeg šifrovanog sistema datoteka, jednostavno ga isključite

umount /mnt/enc

i zatvorite LUKS particiju koristeći,

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 lozinku

3. Montirajte particiju

mount /dev/mapper/my_encrypted_partition /mnt/enc

4. Kreirajte lažni fajl unutar tačke montiranja.

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

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

cat /mnt/enc/testfile.txt

6. Demontirajte sistem datoteka.

umount /mnt/enc

7. Zatvorite LUKS particiju.

cryptsetup luksClose my_encrypted_partition

8. Pokušajte da montirate particiju kao običan sistem datoteka. Trebalo bi da ukazuje na grešku.

mount /dev/sdb1 /mnt/enc

Šifrirajte zamjenski prostor za dalju sigurnost

lozinka koju ste ranije unijeli za korištenje šifrirane particije pohranjena je u RAM memoriji dok je otvorena. Ako se neko dočepa ovog ključa, moći će dešifrirati podatke. Ovo je posebno lako učiniti u slučaju laptopa, jer se tokom hibernacije sadržaj RAM-a čuva na swap particiji.

Kako biste izbjegli da kopiju vašeg ključa ostavite dostupnom lopovima, šifrirajte swap particiju slijedeći ove korake:

1 Napravite particiju koja će se koristiti kao swap odgovarajuće veličine (/dev/sdd1 u našem slučaju) i šifrirajte je kako 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. Konačno, uredite /etc/crypttab i ponovo pokrenite sistem.

swap               /dev/sdd1         /dev/urandom swap

Kada sistem završi sa podizanjem, možete provjeriti status swap prostora:

cryptsetup status swap

Sažetak

U ovom članku smo istražili kako šifrirati particiju i swap prostor. Sa ovim podešavanjem, vaši podaci bi trebali biti znatno sigurni. Slobodno eksperimentirajte i ne ustručavajte se da nam se javite ako imate pitanja ili komentara. Samo koristite formular u nastavku - bit će nam više nego drago čuti od vas!