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.