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!