Uchov�v�n� d�v�rn�ch dat v GNU/Linuxu
Tutori�l dopl�uje �l�nek Uchov�v�n� d�v�rn�ch dat v GNU/Linuxu (Hakin9 01/2005). Ve zde popisovan�ch cvi�en�ch se po��t� s�pou�it�m Hakin9 Live, kter� je p��lohou k �asopisu.
Pozor! Nedoporu�ujeme �ifrovat skute�n� cenn� data v�syst�mu Hakin9 Live – je zde nebezpe�� jejich ztr�ty po op�tovn�m spu�t�n� po��ta�e.
C�l: Po proveden� zde popsan�ch cvi�en� byste m�li um�t:
�ifrovat symetricky i asymetricky jednotliv� soubory s�pou�it�m bal��ku GnuPG,
vytv��et a pou��vat �ifrovan� adres��e pomoc� n�stroje EncFS,
vytvo�it a p�ipojit �ifrovan� diskov� odd�l (skute�n� nebo virtu�ln�) pomoc� n�stroje cryptoloop.
Symetrick� �ifrov�n� soubor� – pakiet GnuPG
V�prvn�m cvi�en� pou�ijeme bal��ek GnuPG pro za�ifrov�n� samostatn�ho souboru. V�na�em cvi�en� to bude soubor HK1204.pdf.
[01] V tutori�lu pou�ijeme algoritmus AES (m� nejlep�� pom�r v�kon/kvalita). Za�neme t�m, �e nahrajeme modul j�dra zodpov�daj�c� za jeho podporu:
$ su -
# modprobe aes
# exit
[02]Vytvo��me adres�� /home/haking/encrypted, do kter�ho budeme ukl�dat za�ifrovan� data:
$ mkdir ~/encrypted
Ulo��me do n�j soubor HK1204.pdf.
[03] Te� p�ich�z� na �adu �ifrov�n�. Zad�me n�sleduj�c� p��kaz:
$ gpg --output ~/encrypted/cyph1 --symmetric --cipher-algo AES192 ~/encrypted/HK2104.pdf
T�mto jsem na��dili symetrick� za�ifrov�n� souboru HK2104.pdf do c�lov�ho souboru ~/encrypted/cyph1 pomoc� algoritmu AES s 192-bitov�m kl��em.
[04] [04] P�i �ifrov�n� je nutn� zadat heslo. V�nujme tedy chvilku na vymy�len� hesla, kter� nem� n�jak� velk� v�znam, ale je snadn� pro zapamatov�n� - nap��klad Po ve�erech u piva si tlupa trpajzliku zpiva a slon je doprovazi za chobot. To je ale hloupost, 666. Tuto v�tu zad�me jako heslo.
[05] Soubor byl za�ifrov�n. Nyn� se mus�me bezpe�n�m zp�sobem zbavit origin�lu:
$ shred -n 35 -z -u ~/encrypted/HK2104.pdf
[06] Pro roz�ifrov�n� souboru a znovuz�sk�n� dat pou�ijeme n�sleduj�c� p��kaz:
$ gpg --output HK2104.pdf --decrypt ~/encrypted/cyph1
�ifrovan� adres��e – EncFS
[07] Ne� vyu�ijeme mo�nosti, kter� n�m poskytuje program EncFS, vytvo��me si dva adres��e. Jeden z�nich (v na�em p��pad� ~/.crypto) bude uchov�vat na�e data v��ifrovan� podob� (nebudeme jej tedy bezprost�edn� pou��vat), do druh�ho adres��e (~/secret) si je pak budeme p�ipojovat a okam�it� de�ifrovat p�i ka�d�m po�adavku na p��stup. P�ipojen� lze samoz�ejm� prov�st pouze po zad�n� spr�vn�ho hesla.
$ mkdir ~/.crypto
$ mkdir ~/secret
[08] Dal�� krok spo��v� v�aktivaci mechanismu EncFS:
$ su -; insmod fuse; exit
$ encfs ~/.crypto ~/secret
Po stisknut� kl�vesy [Enter] budeme po��d�ni, abychom zvolili re�im konfigurace. Rozhodneme se pro p�ednastaven� re�im pro paranoiky.
Te� je �as zvolit heslo pro n� archiv. Po jeho zad�n� a potvrzen� bude n� virtu�ln� souborov� syst�m p�ipraven k�pou�it�.
[09] KNyn� do n�j zkop�rujeme n�kolik soubor�(echo, ls, telnet):
$ cp /bin/echo /bin/ls /bin/telnet ~/secret/
Pod�v�me se, co se nach�z� v�adres���ch ~/secret a ~/.crypto:
$ ls ~/secret
$ ls ~/.crypto
V�prvn�m souboru tedy m�me p��stup ke sv�m soubor�m, a ve druh�m je ulo�ena jejich �ifrovan� verze. Te� by bylo dobr� virtu�ln� souborov� syst�m odpojit, aby si nikdo nemohl prohl��et jeho obsah. Pou�ijeme k�tomu p��kaz:
$fusermount -u ~/crypto
A je to! Na�e data jsou v bezpe��.
[10] Nyn� si jej p�ipoj�me je�t� jednou – s�dal��m zabezpe�en�m, kter� zp�sob� automatick� odpojen� po ur�en�m �ase ne�innosti (10 minut):
$ encfs --idle=10 ~/.crypto ~/secret
Nyn� op�t m�me p��stup ke sv�m soubor�m v�adres��i ~/secret. Kdy� po�k�me 10 minut, uvid�me, �e bude automaticky odpojen.
�ifrovan� souborov� syst�m – cryptoloop
Zb�v� si procvi�it pou��v�n� posledn�ho n�stroje, kter� n�m pom��e zabezpe�it d�v�rn� soubory. Jde o cryptoloop, kter� je integrov�n v j�d�e.
[11] P�edpokl�dejme, �e nem�me k�dispozici voln� diskov� odd�l (s touto situac� m�me co d�lat pr�v� v�p��pad� Hakin9 Live), a pou�ijme u�ite�nou vlastnost zp�tn�ho mechanismu loopback, kter� umo��uje pou��vat oby�ejn� soubor jako souborov� syst�m. P�ipravme jej tedy:
$ dd if=/dev/urandom of=~/crypto.raw bs=1k count=10000
T�mto bude vytvo�en soubor o velikosti 10 MB obsahuj�c� n�hodn� hodnoty (trash).
[12] Dal�� �kol spo��v� v�propojen� nov� vytvo�en�ho souboru s�voln�m za��zen�m loop a jeho za�ifrov�n� n�mi zvolenou metodou:
$ su -
# losetup -e aes-192 /dev/loop1 /home/haking/crypto.raw
Program n�s po��d� o zad�n� hesla s�minim�ln� d�lkou 20 znak�.
[13] Nyn� m�me p�ipraven prostor. Je ale je�t� pot�eba v n�m zav�st men�� ��d – vytvo�it n�jak� souborov� syst�m. Nap��klad ext2:
# mkfs.ext2 /dev/loop1
[14]Po proveden� tohoto �konu u� m��eme odpojit (volba -d) za��zen� loop1:
# losetup -d /dev/loop0
# exit
[15] N� �ifrovan� souborov� syst�m je ji� p�ipraven. Pot�ebujeme v�ak, aby byl p�ipojen a pou��v�n stejn� jako kter�koliv jin� souborov� syst�m. P�ipojme jej tedy a pod�vejme se, jak funguje:
$ mkdir ~/encrypted_disk
$ mount -t ext2 ~/crypto.raw ~/encrypted_disk -oencryption=aes-192
Mount po zad�n� spr�vn�ho hesla s�m propoj� uveden� soubor s�prvn�m voln�m za��zen�m loop.
[16] Nyn� zkop�rujeme na�e soubory do bezpe�n�ho �lo�i�t�:
$ cp /bin/echo /bin/ls /bin/telnet ~/encrypted_disk
A to je v�e – n� nov� �ifrovan� disk m��eme libovoln� p�ipojovat a odpojovat. Nikdo, kdo nezn� p��stupov� heslo, se na n�j nedostane.