ot Rumen(25-07-2004)

reiting (19)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Prez fevruari tazi godina, Andrew Morten obiavi [1], che cryptoloop [2] veche e ostarial i shte bude zamenen ot dm-crypt [3]. Vupreki, che nachalnoto obiavlenie prichini izvestno vulnenie, dm-crypt beshe dobaven kum stabilnata versiia na linuks-2.6.4 iadroto. Nastoiashtata (prevodna) statiia razglezhda vuprosa kak da instalirate kriptiran dial s pomoshtta na dm-crypt.
dm-crypt osiguriava kriptirasht sloi za device-mapper ustroistvoto. Device-mapper draivera vi pozvoliava da definirate novi dialove ili logicheski takiva, chrez opredeliane obhvata na sektori na sushtestvuvashti blokovi ustroistva. Obhvata na sektori, koito shte se izpolzva ot tezi dialove se nalaga vurhu obektite v suotvetstvie s tablitsa za suotvetstvie. dm-crypt osiguriava tochno takuv obekt, koito mozhe da se izpolzva za da mozhe prozrachno da kriptira blokovo ustroistvo, s izpolzvane na cryptoAPI na novoto iadro 2.6.

Predi vreme cryptoloop se izpolzvashe za da se osiguri kriptirane chrez izpolzvane na loopback ustroistvoto. dm-crypt e po-korektna realizatsiia i osiguriava mnogo po-goliama guvkavost. Spored razrabotchika na cryptoloop Fruhwirth Clemens:
 dm-crypt e dosta po-dobur ot cryptoloop po niakolko prichini:
  - ne strada ot loop.c bugove (ima mnogo - niama razrabotchik);
  - dm-crypt ne zavisi ot spetsialna potrebitelska programa (util-linux);
  - dm-crypt izpolzva mempool, koito go pravi izklyuchitelno stabilen v sravnenie s cryptoloop.

Vupreki, che izpolzva siguren kriptografski algoritum, cryptoloop se smiata za slaba realizatsiia, otvorena za opredeleni tipove ataki. Diskusiia za slabostite na cryptoloop mozhe da namerite v LWN.net [4]. Dm-crypt izpolzva sushtite sigurni kriptografski algoritmi, no s mnogo podobrena realizatsiia.

INSTALIRANE NA dm-crypt

Predi da se opitvate da kriptirate vazhni danni izpolzvaiki dm-crypt, triabva da ste sigurni, che imate raboteshti rezervni kopiia na vsichko vazhno za Vas. Zapochvame sus svaliane na neobhodimite failove. Nuzhni sa Vi poslednoto Linuks iadro ot www.kernel.org [5]. Versiia 2.6.4 ili po-nova shte rabotiat, no suveta mi e da izpolzvate 2.6.5 ili po-novo, tui kato sushtestvuvat problemi (blokirane) pri niakoi sistemi, raboteshti s 2.6.4. Sushto taka si svalete device-mapper [6], hashalot [7] (po-izbor) i cryptsetup.sh [8] - instalatsionen skript (linkovete sa premesteni v kraia na statiiata).

Konfigurirate si iadroto kakto normalno, dobaviaiki device-mapper i dm-crypt poddruzhka, koito shte namerite kato Device mapper support i Crypt Target Support v sektsiiata Multi-device support (RAID and LVM). Sushto taka Vie se nuzhdaete ot instalirane na zhelanite kriptografski moduli v sektsiiata Cryptographic Options.

Sled kato vednuzh ste instalirali i zaredili Vasheto novo iadro napravete (proverete) slednoto. Ako ste konfigurirali device-mapper kato modul triabva samo da go zaredite chrez modprobe dm-mod. Modulut dm-crypt (ako ima takuv) shte bude zareden avtomatichno ot iadroto, kogato e neobhodim. Postavete komandata modprobe ... (dm-mod i/ili dm-crypt)v startirashtite skriptove, zaedno s sushtata komanda za vsichki kriptirashti koduli (aes, blowfish etc)ot koito se nuzhdaete.

Device-mapper izpolzva direktoriiata /dev/mapper i /dev/mapper/control ustroistvoto. Za da gi suzdadete, izpulnete devmap_mknod.sh (/scripts dir) ot device-mapper paketa. Ako vsichko e uspeshno, skripta shte izvede starshiia i mladshi nomera na ustroistvoto za noviia vuzel, v protiven sluchai, ako neshto se oburka shte izleze mulchalivo.

Sled tova kompiliraite i instaliraite paketa device-mapper. Razpaketiraite arhiva i izpulnete obichainite komandi: ./congifure, make, maka install  za da instalirate neobhodimite biblioteki i programata dmsetup v /sbin. Nie shte izpolvame dmsetup za da suzdavame i premahvame ustroistva, da poluchavame informatsiia za ustroistvata i prezarezhdame tablitsite.

Startiraiki dmsetup create <name> se suzdava ustroistvo s ime <name> pod /dev/mapper/ direktoriiata. dmsetup sled tova ochakva suotvetstvashtata tablitsa ot standartniia vhod (stdin) ili po izbor mozhete da podadete fail, sudurzhasht informatsiiata kato treti parametur. Tablitsata na suotvetstvie ima vida:
<start sector> <sector count> <target type> <arguments>
Tablitsata dm-crypt ima vida:
0 <sector count> crypt <sector format> <key> <IV offset> <real device> <sector offset>

Parametrite <sector format> i <key> sa kriptirashtiia shifur (naprimer aes) i klyuchut, podadeni kato shestnadesetichni chisla, izpolzvani za kriptiraneto na ustroistvoto. Vie mozhete da vidite koi shifri sa nalichni chrez proverka na /proc/crypto ili zarezhdane na suotvetnite moduli v iadroto s modprobe (insmod). Parametura <IV offset> obiknovenno e 0 (nula), s izklyuchenie na spetsialni sluchai. <real device> e realnoto ustroistvo, koeto shte se kriptira, opredeleno s /dev/xxx ili chrez svoia nomer na ustroistvo, vuv forma major:minor (pri men /dev/hda6 - 3:6).
Parametura <sector offset> e otmestvaneto (kato sektor), kudeto zapochvat kriptiranite danni vurhu realnoto ustroistvo.

Ako vsichko tova Vi izglezhda prekaleno oburkvashto, ne se pritesniavaite. Skripta cryptsetup.sh [9] pravi protsesa mnogo po-udoben za potrebitelia.Skripta izpolzva hexdump i hashalot [10] za da suzdade kriptirashtiia klyuch. Vie mozhe da rabotite bez hashalot, kato izpolzvate optsiiata -h plain. Kopiraite cryptsetup.sh skripta niakude vuv Vashiia $put ($PATH) (i ne zabraviaite da go napravite izpulnim - chmod +x), ako planirate da go izpolzvate.

Skripta cryptsetup.sh izpulniava dmsetup s optsiite, koito Vie mu zadadete za da nastroi Vasheto kriptirano ustroistvo. V dadeniia po-dolu primer nie shte preobrazuvame /dev/hdb2 da izpolzva /dev/mapper/cryptvol1.

Purvo, unmount ustroistvoto i izpulnete fsck za nego za da ste sigurni, che imate failova sistema bez greshki.
#umount /dev/hdb2
#fsck /dev/hdb2

Sega suzdaite dm-crypt ustroistvoto:
#cryptsetup.sh -c aes -h ripemd160 -y -b 'blockdev --getsize\ /dev/hdb2' create cryptvol1 /dev/hdb2

Sega shte triabva da zadadete Vashata (nova) parola, koiato se vuvezhda sled pokana. Taka suzdavate ustroistvo /dev/mapper/cryptvol1 na /dev/hdb2, izpolzvaiki aes shifur i hashalot, koito da generira klyucha na baza zadadenata parola (polzvaite -h plain, ako ne polzwate hashalot). Mozhe da vidite pulniia spisuk ot optsii na cryptsetup.sh sled izpulnenie na cryptsetup.sh --help.

Sega ste gotovi da kopirate svoite danni na novoto ustroistvo:
#dd if=/dev/hdb2 of=/dev/mapper/cryptvol1 bs=4k

Proverete vnimatelno tazi komanda predi da ia izpulnite, tui kato tia prepokriva vsichki danni na posochenoto ustroistvo. Sled kato vednuzh komandata e izpulnena, proverete novoto ustroistvo za greshki s fsck /dev/mapper/cryptvol1. Ako vsichko tova premine dobre bi triabvalo da mozhete da montirate novoto ustroistvo na miastoto mu /dev/hdb2 - mount /dev/mapper/cryptvol1 /data (pri uslovie, che izpolzvate mount /dev/hdb2 /data za da montirate diala).

Ako e neobhodimo, mozhete da preobrazuvate kriptiraniiat dial v nekruptiran s izpolzvane na obratniia na veche posocheniia protses, kopiraikiVashite danni ot kriptiraniiat dialna svobodno miasto (dial). Po podoben nachin, ako zhelaete da promenite niakoi optsii, kato nanovo kriptirane na dannite ili promiana na parolata, mozhete da kopirate dannite mezhdu dvete montirani ustroistva. V momenta se raboti vurhu programa, koiato shte dade vuzmozhnost tova da se pravi 'v dvizhenie'.

Nenuzhnite ustroistva mogat da se premahvat s komandata dmsetup remove <name>.
Komandata cryptsetup.sh suzdava vruzka za Vasheto ustroistvo, taka che da montirate nanovo Vashata failova sistema sled restart. Vie prosto triabva da startirate otnovo cryptsetup.sh, podavaiki sushtata parola. Naprimer, ako slozhite slednoto v startirashtiia skript, shte budete zapitani za parolata Vi po vreme na zarezhdane i Vasheto ustroistvo shte bude otnovo suzdadeno:
if [ -b /dev/mapper/cryptvol1 ] ; then
  /usr/local/sbin/cryptsetup.sh remove cryptvol1
fi
/usr/local/sbin/cryptsetup.sh -c aes -h ripemd160 -b 'blockdev\
--getsize /dev/hdb2' create cryptvol1
/sbin/mount /dev/mapper/cryptvol1 /data

REZYUME
Dm-crypt e izchistena, stabilna realizatsiia, davashta mnogo po-goliama guvkavost ot cryptloop, chrez izpolzvaneto na device-mapper. Dokato izpolzvaneto na dm-crypt v momenta e funktsionalno ekvivalentno na cryptloop, to obache e razshiriaemo i za v budeshte se planira oshte po-goliama funktsionalnost. Vupreki, che ne e mnogo veroiatno v blizko budeshte cryptloop da bude napulno premahnat ot Linuks iadroto, ako planirate da izpolzvate kriptirana failova sistema to sus sigurnost triabva da hvurlite pogled na dm-crypt.

Mike Peters e konsultant na svobodna praktika, programist i dulgogodishen Linuks potrebitel.
Vruzki:
[1]http://www.uwsg.iu.edu/hypermail/linux/kernel/0402.2/0673.html
[2]http://cvs.kerneli.org/cryptoloop/
[3]http://www.saout.de/misc/dm-crypt/
[4]http://lwn.net/Articles/67216/
[5]http://www.kernel.org/
[6]http://sources.redhat.com/dm/
[7]http://www.paranoiacs.org/~sluskyb/hacks/hashalot/
[8]http://www.saout.de/misc/dm-crypt/cryptsetup.sh
[9]http://www.saout.de/misc/dm-crypt/cryptsetup.sh
[10]http://www.paranoiacs.org/~sluskyb/hacks/hashalot/
PS: Vsichko tova raboti pri men ot okolo 2-3 sedmitsi, no si spomniam, che niakude v protsesa suzdavah failova sistema na noviia dial, inache niama da mozhe da se montira sled tova.
Eto linka kum originalnata statiia (na angliiski):
http://www.linux.com/article.pl?sid=04/06/07/2036205
Rumen


<< Svurzhete OpenOffice.org kum PostgreSQL (prevod) | SAMBA kato PDC >>