Linux կոդավորումը. Օգտագործելով գաղտնագրված ֆայլային համակարգ՝ համաձայն LUKS ստանդարտների: Linux Drive կոդավորումը

Սկավառակ (a la TrueCrypt): Ես գիտեմ, որ աշխատանք է տարվել GRUB2-ին գաղտնագրման աջակցություն ավելացնելու համար, բայց այն դեռ պատրաստ չէ: Որևէ այլ տարբերակ:

(Նկատի ունեցեք, որ ես իսկապես նկատի ունեմ սկավառակի ամբողջական ծածկագրումն այստեղ, ներառյալ / boot)

Պատասխանների մեծ մասը նկարագրում է մի կարգավորում, որտեղ /boot-ը գաղտնագրված չէ, և նրանցից ոմանք փորձում են բացատրել, թե ինչու չգաղտնագրված /boot-ը պետք է լավ լինի:

Առանց քննարկման մեջ մտնելու, թե ինչու ես իսկապես պետք է /boot-ը գաղտնագրվի, ահա մի հոդված, որը նկարագրում է հենց այն, ինչ ինձ անհրաժեշտ է՝ հիմնված GRUB2-ի փոփոխված տարբերակի վրա.

  • http://xercestech.com/full-system-encryption-for-linux.geek

Խնդիրն այն է, որ այս փոփոխությունները կարծես թե չեն աջակցվում ներկայիս GRUB2 կոդերի բազայում (կամ գուցե ինչ-որ բան բաց եմ թողնում):

8 Լուծումներ հավաքում են վեբ ձև «Linux bootloaders-ի համար, որոնք աջակցում են ամբողջական սկավառակի կոդավորումը»:

ես կարծում եմ, որ Ընթացիկ տարբերակը GRUB2-ը չի աջակցում LUKS միջնորմների բեռնումը և վերծանումն ինքնին (այն պարունակում է որոշ ծածկագրեր, բայց կարծում եմ, որ դրանք օգտագործվում են միայն գաղտնաբառերն աջակցելու համար): Ես չեմ կարող ստուգել փորձարարական զարգացման ճյուղը, բայց GRUB էջում կան որոշ ակնարկներ, որ նախատեսվում է իրականացնել որոշակի աշխատանք, որը դուք ցանկանում եք անել:

Թարմացում (2015) GRUB2-ի վերջին տարբերակը (2.00) արդեն պարունակում է LUKS և GELI ծածկագրված միջնորմներ մուտք գործելու կոդը: (Xercestch.com հղումը, որը տրամադրել է OP-ը, նշում է դրա առաջին ուղղումները, բայց դրանք այժմ ներառված են վերջին տարբերակում):

Այնուամենայնիվ, եթե դուք փորձում եք գաղտնագրել ամբողջ սկավառակը անվտանգության նկատառումներից ելնելով, խնդրում ենք նկատի ունենալ, որ չգաղտնագրված բեռնիչը (օրինակ՝ TrueCrypt, BitLocker կամ փոփոխված GRUB) ավելի շատ պաշտպանություն չի ապահովում, քան չգաղտնագրված /boot միջնորմը (ինչպես նշված է SP-ի կողմից մեկնաբանություն վերևում): Յուրաքանչյուր ոք, ով ֆիզիկական հասանելիություն ունի համակարգչին, նույնքան հեշտությամբ կարող է այն փոխարինել հատուկ տարբերակով: Այն նույնիսկ նշված է xercestech.com հոդվածում, որը դուք կապել եք.

Հասկանալի լինելու համար, սա ոչ մի կերպ չի դարձնում ձեր համակարգը ավելի քիչ խոցելի անցանց հարձակման համար, եթե հարձակվողը փոխարինի ձեր bootloader-ը իր սեփականով կամ վերահղի բեռնման գործընթացը՝ բեռնելու սեփական կոդը, ձեր համակարգը դեռ կարող է վտանգվել:

Խնդրում ենք նկատի ունենալ, որ բոլորը ծրագրային արտադրանքամբողջական սկավառակի կոդավորումն ունի այս թույլ կողմը՝ անկախ նրանից՝ նրանք օգտագործում են չգաղտնագրված բեռնիչ կամ չգաղտնագրված boot/preboot partition: Նույնիսկ այն ապրանքները, որոնք աջակցում են TPM (Trusted Platform Module) չիպերին, ինչպիսին է BitLocker-ը, կարող են տեղակայվել առանց սարքաշարը փոխելու:

Լավագույն մոտեցումը կլինի.

  1. ապակոդավորումը BIOS մակարդակում (in մայր տախտակկամ սկավառակի ադապտեր կամ արտաքին սարքավորում [խելացի քարտ]՝ TPM չիպով կամ առանց դրա), կամ
  2. տեղափոխել PBA (նախաբեռնման թույլտվություն) թույլտվության կոդը (այս դեպքում՝ /boot բաժինը) շարժական սարքի վրա (օրինակ՝ խելացի քարտի կամ USB կրիչի):

Երկրորդ եղանակով դա անելու համար կարող եք ստուգել Linux Full Disk Encryption (LFDE) նախագիծը՝ http://lfde.org/, որը տրամադրում է հետտեղադրման սկրիպտ՝ /boot միջնորմը արտաքին USB կրիչ գաղտնագրման միջոցով տեղափոխելու համար: բանալին GPG-ով և պահել այն նաև USB-ում: Այսպիսով, բեռնման ուղու թույլ հատվածը (չկոդավորված /boot միջնորմը) միշտ ձեզ հետ է (դուք միակը կլինեք, ով ֆիզիկական հասանելիություն կունենա վերծանման կոդը և բանալին): ( ՆշումԱյս կայքը կորել է, և հեղինակի բլոգը նույնպես անհետացել է, սակայն հին ֆայլերը կարող եք գտնել https://github.com/mv-code/lfde կայքում՝ պարզապես նշելով, որ վերջին զարգացումը կատարվել է 6 տարի առաջ): Որպես ավելի հեշտ այլընտրանք, դուք կարող եք տեղադրել չգաղտնագրված բեռնախցիկ USB կրիչի վրա, երբ տեղադրեք ՕՀ-ը:

Հարգանքներով՝ Մ.Վ.

Ձեր առաջին RAMdisk-ը և /boot պանակը դարձրեք չգաղտնագրված:

Սա կկանչի «նվազագույն» միջուկ՝ վարորդներով և աջակցությամբ՝ անցնելու «իրական» արմատային ֆայլային համակարգին, որը ծածկագրված է:

Նախքան «դա կոտրվածք է» ասելը, հիշեք. Linux-ի բաշխումների մեծ մասը (եթե ոչ բոլորը) այսօր լռելյայնորեն բեռնված են: Սա բացահայտորեն թույլ է տալիս ձեր համակարգին բեռնել և բեռնել արմատային FS-ը՝ օգտագործելով մոդուլներ, որոնք պետք է բեռնվեն ֆայլային համակարգ. (Մի տեսակ հավի և ձվի խնդիր): Օրինակ, եթե ձեր արմատային ֆայլային համակարգը ապարատային RAID ծավալի վրա էր, և դուք պետք է բեռնեիք դրա դրայվերը՝ նախքան արմատային FS-ը միացնելը:

Ես նայեցի ձեր տեղադրած հղումը. չնայած չկա boot partition, այնուամենայնիվ կոշտ սկավառակի վրա կա չգաղտնագրված բեռնիչ, որը կարող է մուտք գործել և վնասվել վնասակար հարձակման հետևանքով: Ես փնտրում էի նմանատիպ կարգավորում, որը չունի կոշտ սկավառակի վրա չգաղտնագրված տվյալներ, բայց մինչ այժմ ես միայն հանգել եմ բեռնախցիկի գործարկմանը շարժական սկավառակից:

Կարծում եմ, որ ձեզ անհրաժեշտ ամենից շատ հրահանգ է այն մասին, թե ինչպես տեղադրել OS գաղտնագրված HD-ով առաջին հերթին:

Ubuntu-ն ունի լավ էջգաղտնագրված միջնորմների, LMVP-ի, թղթապանակների և այլնի ստեղծման հրահանգներով, պարզապես ձեր բաշխման ձեր տարբերակը...

Ոչ, ես այդպես չեմ կարծում:

Իսկապե՞ս պետք է գաղտնագրել/վերբեռնել: Ես կասկածում եմ, որ ոչ: Ֆայլային համակարգի մնացած մասը կարող է գաղտնագրվել սովորական Linux ծրագրաշարի միջոցով, որը գտնվում է initramfs-ում /boot-ում և համապատասխանաբար հուշում է օգտվողին:

Դուք կարծես թե խնդրում եք մի բան, որը հնարավոր չէ անել և համեմատում եք դրա հետ Windows լուծում, որը թաքցնում է իրականացումը ձեզանից,բայց իրականում անում է նույն բանը, ինչ անում է Linux-ը:

Ամենամոտ լուծումը, որը ես կարող եմ մտածել, օգտագործելն է HDD, որն իրականացնում է գաղտնաբառի անվտանգություն և գաղտնագրում։ Որոշ Thinkpad նոութբուքեր օգտագործում են այս ապարատային լուծումները:

Պատասխանը՝ հոդվածում։ «Այժմ դա հնարավոր է հաջորդ սերնդի GRUB2 բեռնիչի ընդլայնումներով, որոնք կարկատվել են, որպեսզի աջակցեն ավելին», և «մենք ցանկանում ենք տեղադրել նոր luks grub2-ով միացված պատկեր ավելի ուշ», և «Այժմ մենք կկազմենք GRUB2 աղբյուրը LUKS-ով: աջակցություն. Կարծես կա ուղղում կամ ընդլայնում, որը դուք պետք է ստանաք և միացնեք GRUB2-ի կամ GRUB2-ի պատառաքաղային աղբյուրի միջոցով:

Grub2 տարբերակը 2.02~beta3 կարող է շատ բան անել, ինչը չի կարող անել Grub2 տարբերակը 2.02~beta2, հաստատված իմ կողմից.

  1. Բեռնում Super Grub 2 սկավառակի միջոցով
  2. Մուտքագրեք «c» հրամանի տող գնալու համար
  3. Մուտքագրեք իմ ուզած կոդավորված բաժանումը տեղադրելու հրամանները
    • insmod lux
    • cryptomount (hd0, #) // որտեղ #-ը ներկայացնում է կոդավորված բաժանումը
  4. Մուտքագրեք անցաբառը և մուտքագրեք որոշ հրամաններ
    • multiboot (crypto0) /grub/i386-pc/core.img
    • կոշիկ

Սա կգործարկի ևս մեկ Grub2, որը գտնվում է գաղտնագրված միջնորմի ներսում, չար խելագար հարձակումն այստեղ տեղ չունի... Ես բեռնում եմ CD-ից (միայն կարդալու) և այնուհետև տեղադրում եմ ծածկագրված միջնորմը (ոչ անցաբառ, որևէ բան!), այնուհետև բեռնել գաղտնագրված միջնորմի ներսից և բեռնել Grub2-ը սեփական մենյուով և այլն:

Ուշադրություն․

beta2 սխալները, որոնց մասին ես խոսում եմ, հետևյալն են.

  1. Այն իրականում չի տեղադրում կոդավորված բաժանումը, ուստի թույլ չի տալիս մուտք գործել (crypto0)/*
  2. Եթե ​​կա մեկից ավելի գաղտնագրված բաժին, ապա cryptomount -a-ի օգտագործումը պահանջում է միայն մեկ անցաբառ
  3. Մեկ անգամ cryptomount-ը սկսելուց հետո այն նորից միանում է, ոչինչ չի անում

բետա 3-ում:

  1. Այն իրականում մոնտաժում է կոդավորված բաժանումը և թույլ է տալիս մուտք գործել ֆայլեր (crypto0)/* կամ (crypto1)/* և այլն, եթե մեկից ավելի մոնտաժված են միաժամանակ:
  2. Այն պահանջում է յուրաքանչյուր անցաբառ (մեկ գաղտնագրված հատվածի համար)
  3. Սա թույլ է տալիս գործարկել այն այնքան անգամ, որքան ցանկանում եք, կարող եք տեղադրել մեկը, ապա մյուսը և այլն:

Կողմնակի նշում. ես չեմ հասկացել, թե ինչպես կարելի է դրանք ապամոնտաժել, բացի մեկ ուրիշը կամ մեկը վերագործարկելուց կամ բեռնելուց: boot loader grub2/այլ և այլն:

Հուսով եմ, որ սա կօգնի պարզել ամեն ինչ, և հուսով եմ, որ Grub2-ի 2.02~beta3 տարբերակը կինտեգրվի LiveCD-ին, որպեսզի մենք կարողանանք տեղադրել այն առանց ինքներս կազմելու:

PD. Super Grub 2 կրիչով ես չեմ տեսնում Grub2 տարբերակը 2.02~beta3 տեղադրելու MBR/boot միջնորմի վրա և այլն:


Հեղինակ՝ Նիտիշ Թիվարի
Հրապարակման ամսաթիվ՝ 04 փետրվարի 2015թ
Թարգմանություն՝ Ն.Ռոմոդանով
Փոխանցման ամսաթիվը՝ մարտ 2015թ

TrueCrypt-ն այլևս չի աջակցվում, սակայն dm-crypt-ը և LUKS-ը հիանալի բաց կոդով տարբերակ են՝ գաղտնագրված տվյալները գաղտնագրելու և օգտագործելու համար:

Տվյալների անվտանգությունը դարձել է ինտերնետ օգտագործողների ամենամեծ մտահոգություններից մեկը: Կայքերից տվյալների գողության մասին լուրերը շատ տարածված են դարձել, բայց ձեր տվյալների պաշտպանությունը միայն կայքերի պարտականությունը չէ, շատ բան կա, որ մենք՝ որպես վերջնական օգտվողներ, կարող ենք անել մեր անվտանգության համար: Օրինակ՝ ընդամենը մի քանի օրինակ՝ օգտագործել ուժեղ գաղտնաբառեր, գաղտնագրել կոշտ սկավառակներգտնվում է մեր համակարգիչների վրա և օգտագործում անվտանգ կապեր. Մասնավորապես՝ կոդավորումը կոշտ սկավառակէ լավ ձեւովանվտանգություն. այն ոչ միայն կպաշտպանի ձեզ ցանկացած տրոյացիներից, որոնք փորձում են գողանալ ձեր տվյալները ցանցի միջոցով, այլև ֆիզիկական հարձակումներից:

Այս տարվա մայիսին դադարեցվել է TrueCrypt հավելվածի մշակումը, որը հայտնի բաց կոդով գործիք է սկավառակի կոդավորման համար։ Ինչպես ձեզանից շատերը գիտեն, դա սկավառակների գաղտնագրման շատ հուսալի գործիքներից մեկն էր: Ցավալի է տեսնել այս տրամաչափի գործիքի անհետացումը, բայց բաց կոդով աշխարհի մեծությունն այնպիսին է, որ կան մի քանի այլ բաց կոդով գործիքներ, որոնք կարող են օգնել ձեզ անվտանգության ապահովման հասնել սկավառակի կոդավորման միջոցով, որոնք նույնպես ունեն բազմաթիվ կազմաձևման կարգավորումներ: Մենք կդիտարկենք դրանցից երկուսը՝ dm-crypt և LUKS, որպես TrueCrypt-ի այլընտրանք: Linux հարթակներ. Եկեք սկսենք dm-crypt-ի և այնուհետև LUKS-ի արագ հայացքից:

Սա հիմնական տեղեկատվություն է LUKS օգտագործող սարքի մասին, որը ցույց է տալիս, թե ինչ գաղտնագրում է օգտագործվում, կոդավորման ռեժիմը, հեշ ալգորիթմը և այլ ծածկագրային տվյալներ:

Ռեսուրսներ

Քայլ 01:Հաշվի առնելով Dm-crypt

Հավելվածի dm-crypt անվանումը կարճ է սարքի քարտեզագրման համար (գաղտնագրել սարքը քարտեզագրելիս): Ինչպես անունն է հուշում, այն հիմնված է սարքի քարտեզագրման վրա՝ Linux միջուկի շրջանակ, որը նախատեսված է բլոկ սարքերը ավելի բարձր մակարդակի վիրտուալ բլոկի սարքերին քարտեզագրելու համար: Սարքերը քարտեզագրելիս կարող եք օգտագործել միջուկի մի քանի առանձնահատկություններ, ինչպիսիք են dm-cache (ստեղծում է հիբրիդային ծավալներ), dm-verity (նախագծված է բլոկների ամբողջականությունը ստուգելու համար, Chrome OS-ի մի մասն է) և նաև շատ հայտնի Docker-ը: Կրիպտոգրաֆիկ նպատակների համար dm-crypt-ն օգտագործում է Linux Kernel Crypto API շրջանակը:

Այսպիսով, ամփոփելու համար, dm-crypt հավելվածը միջուկի մակարդակի գաղտնագրման ենթահամակարգ է, որն առաջարկում է սկավառակի թափանցիկ գաղտնագրում. սա նշանակում է, որ ֆայլերը հասանելի են սկավառակի տեղադրումից անմիջապես հետո. վերջնական օգտագործողի համար տեսանելի ուշացում չկա: dm-crypt-ի միջոցով գաղտնագրելու համար կարող եք պարզապես նշել սիմետրիկ ծածկագրերից մեկը, գաղտնագրման ռեժիմը, բանալին (ցանկացած չափի թույլատրելի), IV սերնդի ռեժիմը, այնուհետև ստեղծել նոր բլոկ սարք /dev-ում: Այժմ այս սարքում գրելիս կոդավորումը տեղի կունենա, իսկ կարդալիս այն կվերծանվի: Դուք կարող եք ֆայլային համակարգ տեղադրել այս սարքի վրա, ինչպես միշտ, կամ կարող եք օգտագործել dm-crypt սարքը այլ կառուցվածքներ ստեղծելու համար, ինչպիսիք են RAID կամ LVM ծավալը: dm-crypt-ի քարտեզագրման աղյուսակը դրված է հետևյալ կերպ.

Այստեղ start-sector-ի արժեքը սովորաբար 0 է, չափի արժեքը սեկտորներում սարքի չափն է, իսկ թիրախային անվանումն այն անունն է, որը ցանկանում եք տալ գաղտնագրված սարքին: Թիրախային քարտեզագրման աղյուսակը բաղկացած է հետևյալ բաժիններից.

[<#opt_params> ]

Քայլ 02:Հաշվի առնելով LUKS

Ինչպես տեսանք նախորդ քայլում, dm-crypt հավելվածը կարող է ինքնուրույն գաղտնագրել/գաղտնազերծել տվյալները: Բայց այն ունի մի քանի թերություններ. եթե դուք ուղղակիորեն օգտագործում եք dm-crypt, այն չի ստեղծի մետատվյալներ սկավառակի վրա, և դա կարող է մեծ խնդիր լինել, եթե ցանկանում եք ապահովել Linux-ի տարբեր բաշխումների համատեղելիությունը: Բացի այդ, dm-crypt հավելվածը չի աջակցում բազմաթիվ ստեղների օգտագործմանը, մինչդեռ իրական կյանքում շատ կարևոր է օգտագործել բազմաթիվ բանալիներ:

Հենց այս պատճառներով է ծնվել LUKS (Linux Unified Key Setup) մեթոդոլոգիան: LUKS-ը Linux-ի կոդավորման ստանդարտն է: կոշտ սկավառակներիսկ ստանդարտացումը թույլ է տալիս տարբեր բաշխումների փոխգործունակություն: Աջակցվում են նաև բազմաթիվ բանալիներ և անցաբառեր: Որպես այս ստանդարտացման մաս, գաղտնագրված տվյալներին ավելացվում է LUKS վերնագիր, և այս վերնագիրը պարունակում է կազմաձևման համար անհրաժեշտ բոլոր տեղեկությունները: Երբ կա տվյալների հետ կապված նման վերնագիր, ապա օգտվողները հեշտությամբ կարող են անցնել ցանկացած այլ բաշխման: Dm-crypt նախագիծը ներկայումս խորհուրդ է տալիս օգտագործել LUKS-ը որպես սկավառակի կոդավորումը կարգավորելու նախընտրելի միջոց: Եկեք նայենք, թե ինչպես տեղադրել cryptsetup կոմունալը և ինչպես օգտագործել այն LUKS-ի վրա հիմնված հատորներ ստեղծելու համար:

Քայլ 03:Տեղադրում

Միջուկի մակարդակի ֆունկցիոնալությունը, որն օգտագործվում է dm-crypt-ում, արդեն բոլորում է Linux բաշխումներ; մեզ պետք է միայն ինտերֆեյս նրանց համար: Մենք կօգտագործենք cryptsetup օգտակար ծրագիրը, որը թույլ է տալիս ստեղծել ծավալներ՝ օգտագործելով dm-crypt, LUKS ստանդարտը և հին լավ TrueCrypt հավելվածը: Debian/Ubuntu բաշխումների վրա cryptsetup-ը տեղադրելու համար կարող եք օգտագործել հետևյալ հրամանները.

$ sudo apt-get թարմացում $ sudo apt-get տեղադրել cryptsetup

Առաջին հրամանը համաժամացնում է հրթիռային ինդեքսային ֆայլերը դրանց պահեստների բովանդակության հետ. այն տեղեկատվություն է ստանում բոլոր հասանելի փաթեթների վերջին տարբերակների մասին: Երկրորդ հրամանը կներբեռնի և կտեղադրի cryptsetup փաթեթը ձեր համակարգչում: Եթե ​​դուք օգտագործում եք RHEL/Fedora/CentOS բաշխումը, կարող եք օգտագործել yum հրամանը՝ cryptsetup ծրագիրը տեղադրելու համար:

$ yum տեղադրել cryptsetup-luks

Քայլ 04:Թիրախային ֆայլի ստեղծում

Այժմ, երբ cryptsetup կոմունալը հաջողությամբ տեղադրվել է, մենք պետք է ստեղծենք թիրախային ֆայլ, որը կպահի LUKS կոնտեյները: Չնայած նման ֆայլ ստեղծելու բազմաթիվ եղանակներ կան, այն ստեղծելիս պետք է պահպանվեն մի շարք պայմաններ.

  • Ֆայլը չպետք է բաղկացած լինի սկավառակի տարբեր վայրերում տեղակայված մի քանի մասերից, այսինքն, այն ստեղծելիս պետք է անմիջապես դրա համար հատկացնել բավարար քանակությամբ հիշողություն:
  • Ամբողջ ֆայլը պետք է լցված լինի պատահական տվյալներով, որպեսզի ոչ ոք չկարողանա ասել, թե որտեղ են գտնվելու գաղտնագրման մեջ օգտագործվող տվյալները:

Վերը նշված պայմաններին բավարարող ֆայլ ստեղծելու հարցում մեզ կարող է օգնել dd հրամանը, թեև այն կաշխատի համեմատաբար դանդաղ։ Պարզապես օգտագործեք այն հատուկ սարքի /dev/random ֆայլի հետ, որը նշված է որպես մուտքային և թիրախային ֆայլը, որը պետք է նշվի որպես ելք: Օրինակ հրամանի տեսքը հետևյալն է.

$ dd, եթե =/dev/ պատահական =/home/nitish/basefile bs=1M count=128

Սա կստեղծի 128 ՄԲ ֆայլ, որը կոչվում է basefile /home/nitish գրացուցակում: Այնուամենայնիվ, խնդրում ենք նկատի ունենալ, որ այս հրամանի ավարտը կարող է երկար ժամանակ տևել. այն համակարգում, որն օգտագործում էր մեր փորձագետը, մեկ ժամ տևեց։

Քայլ 05:Ստեղծեք dm-crypt LUKS

Թիրախային ֆայլը ստեղծելուց հետո դուք պետք է այս ֆայլում ստեղծեք LUKS բաժին: Այս բաժինը ծառայում է որպես հիմնական շերտ, որի վրա կառուցված է բոլոր տվյալների գաղտնագրումը: Բացի այդ, այս բաժնի վերնագիրը (LUKS վերնագիր) պարունակում է բոլոր տեղեկությունները, որոնք անհրաժեշտ են այլ սարքերի հետ համատեղելիության համար: LUKS միջնորմ ստեղծելու համար օգտագործեք cryptsetup հրամանը.

$ cryptsetup -y luksFormat /home/nitish/basefile

Այն բանից հետո, երբ համաձայնեք, որ բազային ֆայլի ներսում եղած տվյալները ընդմիշտ կջնջվեն, մուտքագրեք անցաբառը և հաստատեք այն, կստեղծվի LUKS միջնորմը: Դուք կարող եք դա ստուգել հետևյալ ֆայլի հրամանով.

$filebasefile

Խնդրում ենք նկատի ունենալ, որ ձեր մուտքագրած արտահայտությունը կօգտագործվի տվյալների վերծանման համար: Շատ կարևոր է այն անգիր անել և պահել ապահով տեղում, քանի որ եթե մոռանաք, ապա գրեթե անկասկած կկորցնեք գաղտնագրված բաժանման բոլոր տվյալները:

Քայլ 06:Ստեղծեք և տեղադրեք ֆայլային համակարգ

Նախորդ քայլում մեր ստեղծած LUKS կոնտեյները այժմ հասանելի է որպես ֆայլ: Մեր օրինակում սա /home/nitish/basefile է: cryptsetup օգտակար ծրագիրը թույլ է տալիս բացել LUKS կոնտեյները որպես անկախ սարք: Դա անելու համար նախ քարտեզագրեք կոնտեյների ֆայլը սարքի անվան հետ, այնուհետև տեղադրեք սարքը: Ցուցադրման հրամանն ունի հետևյալ տեսքը.

Նախորդ քայլում ստեղծված անցաբառը հաջողությամբ մուտքագրելուց հետո LUKS կոնտեյները կփոխանցվի ծավալ 1-ին: Այն, ինչ իրականում տեղի է ունենում, այն է, որ ֆայլը բացվում է որպես լոկալ շրջադարձային սարք, այնպես որ համակարգի մնացած մասը այժմ կարող է ֆայլին վերաբերվել այնպես, կարծես այն իրական սարք է:

Քայլ 07:Ֆայլային համակարգ - շարունակություն

LUKS կոնտեյների ֆայլն այժմ հասանելի է համակարգում որպես սովորական սարք: Նախքան մենք կարողանանք օգտագործել այն սովորական գործողությունների համար, մենք պետք է այն ձևաչափենք և դրա վրա ստեղծենք ֆայլային համակարգ: Դուք կարող եք օգտագործել ցանկացած ֆայլային համակարգ, որն աջակցվում է ձեր համակարգում: Իմ օրինակում մենք օգտագործեցինք ext4, քանի որ այն Linux համակարգերի նորագույն ֆայլային համակարգն է:

$ mkfs.ext4 -j /dev/mapper/volume1

Երբ սարքը հաջողությամբ ֆորմատավորվել է, հաջորդ քայլը այն տեղադրելն է: Դուք պետք է նախ ստեղծեք տեղադրման կետ, գերադասելի է /mnt (առողջ իմաստով):

$ mkdir /mnt/ֆայլեր

Այժմ մենք տեղադրում ենք.

Խաչաձև ստուգման համար օգտագործեք df –h հրամանը. տեղադրված սարքերի ցանկի վերջում կտեսնեք «/dev/mapper/volume1» սարքը: Երևում է, որ LUKS-ի վերնագիրն արդեն որոշակի տեղ է զբաղեցնում սարքում։

Այս քայլի շնորհիվ այժմ կարող եք օգտագործել LUKS սարքը ext4 ֆայլային համակարգով: Պարզապես օգտագործեք այս ֆայլերի պահպանման սարքը. այն ամենը, ինչ դուք գրում եք այս սարքին, կգաղտնագրվի, և այն ամենը, ինչ կարդաք դրանից, կվերծանվի և կցուցադրվի ձեզ:

Քայլ 08:Օգտագործելով կոդավորված սկավառակ

Այս արդյունքին հասնելու համար մենք հետևել ենք մի քանի քայլի, և եթե դուք այնքան էլ պարզ չեք, թե ինչպես է այդ ամենը աշխատում, դուք, ամենայն հավանականությամբ, շփոթված կլինեք, թե ինչ է պետք անել միայն մեկ անգամ (պահանջվում է տեղադրման համար), և դա պետք է արվի: պարբերաբար կոդավորումն օգտագործելիս: Դիտարկենք հետևյալ սցենարը. դուք հաջողությամբ ավարտեցիք վերը նշված բոլոր քայլերը, այնուհետև անջատեցիք ձեր համակարգիչը: Հաջորդ օրը, երբ միացնում եք ձեր համակարգիչը, չեք կարողանում գտնել տեղադրված սարքը. ո՞ւր է այն գնացել: Այս ամենի հետ գործ ունենալու համար պետք է նկատի ունենալ, որ համակարգը գործարկելուց հետո պետք է տեղադրել LUKS կոնտեյները, իսկ համակարգիչը կանգնեցնելուց առաջ այն ապամոնտաժել:

LUKS ֆայլը մուտք գործելու համար, ամեն անգամ, երբ միացնում եք ձեր համակարգիչը, հետևեք այս քայլերին և ապահով կերպով փակեք ֆայլը նախքան ձեր համակարգիչը անջատելը.

Բացեք LUKS ֆայլը (այսինքն, /home/nitish/basefile) և մուտքագրեք գաղտնաբառը: Հրամանն այսպիսի տեսք ունի.

$ cryptsetup luksOpen /home/nitish/basefile volume1

Ֆայլը բացվելուց հետո միացրեք այն (եթե այն ինքնաբերաբար չի տեղադրվում).

$ mount /dev/mapper/volume1 /mnt/ֆայլեր

Այժմ դուք կարող եք օգտագործել տեղադրված սարքը որպես սովորական սկավառակ և կարդալ կամ գրել դրա վրա տվյալներ:

Ավարտելուց հետո ապամոնտաժեք սարքը հետևյալ կերպ.

$ umount /mnt/ֆայլեր

Հաջողությամբ ապամոնտաժելուց հետո փակեք LUKS ֆայլը.

$ cryptsetup luksՓակել հատորը1

Քայլ 09:Կրկնօրինակում

LUKS կոնտեյներով պահվող տվյալների մեծ մասը կապված է LUKS վերնագրի կամ բանալիների սլոտների վնասման հետ: Բացի այն, որ LUKS-ի վերնագրերը կարող են կոռումպացվել նույնիսկ վերնագրի հիշողության մեջ պատահական վերագրման պատճառով, իրական պայմաններում հնարավոր է նաև կոշտ սկավառակի ամբողջական խափանում: Լավագույն միջոցընման խնդիրներից պաշտպանվելը կրկնօրինակ է: Տեսնենք, թե ինչ պահուստային տարբերակներ կան:

Ստեղծել կրկնօրինակում LUKS վերնագրի ֆայլը, հրամանում նշեք luksHeaderBackup պարամետրը.

$ sudo cryptsetup luksHeaderBackup /home/nitish/basefile --header-backup-file /home/nitish/backupfile

Կամ, եթե ցանկանում եք վերականգնել ֆայլը կրկնօրինակից, նշեք luksHeaderRestore պարամետրը հրամանում.

$ sudo cryptsetup luksHeaderRestore /home/nitish/basefile --header-backup-file /home/nitish/backupfile

Դուք կարող եք օգտագործել isLuks պարամետրը՝ ստուգելու LUKS վերնագրի ֆայլը և ստուգելու, որ այն ֆայլը, որի հետ գործ ունեք, համապատասխանում է իրական LUKS սարքին:

$ sudo cryptsetup -v isLuks /home/nitish/basefile

Մենք արդեն տեսել ենք, թե ինչպես կրկնօրինակել LUKS վերնագրի ֆայլերը, բայց LUKS վերնագրի կրկնօրինակումն իրականում չի պաշտպանում սկավառակի ամբողջական ձախողումից, այնպես որ դուք պետք է կրկնօրինակեք ամբողջ բաժինը հետևյալ cat հրամանով.

$ cat /home/nitish/basefile > basefile.img

Քայլ 10:Տարբեր կարգավորումներ

Կան մի քանի այլ կարգավորումներ, որոնք կարող են օգտակար լինել dm-crypt LUKS կոդավորումն օգտագործելիս: Եկեք նայենք նրանց:

LUKS վերնագիրը թափելու համար cryptsetup հրամանն ունի luksDump տարբերակը: Այն թույլ կտա ձեզ լուսանկարել ձեր օգտագործած սարքի LUKS վերնագրի ֆայլը: Օրինակ հրամանի տեսքը հետևյալն է.

$ cryptsetup luksDump /home/nitish/basefile

Այս հոդվածի սկզբում մենք նշեցինք, որ LUKS-ն աջակցում է բազմաթիվ բանալիների: Եկեք տեսնենք սա գործողության մեջ՝ ավելացնելով նոր բանալու բնիկ ( Ծանոթագրություն՝ բանալու բնիկ - բանտապահ տեղ):

$ cryptsetup luksAddKey --Key-slot 1 /home/nitish/basefile

Այս հրամանը բանալին է ավելացնում բանալու համար 1-ին, բայց միայն այն բանից հետո, երբ մուտքագրեք ընթացիկ գաղտնաբառը (բանալին առկա է 0-ի բնիկում): Ընդհանուր առմամբ կա ութ բանալի տեղ, և դուք կարող եք վերծանել տվյալները՝ օգտագործելով ցանկացած բանալի: Եթե ​​երկրորդ բանալին ավելացնելուց հետո դուք թափեք վերնագիրը, ապա կտեսնեք, որ երկրորդ բանալին զբաղված է:

Դուք կարող եք հեռացնել առանցքային անցքերը հետևյալ կերպ.

$ cryptsetup luksRemoveKey /home/nitish/basefile

Սա կհեռացնի ամենաբարձր բնիկի համարով բանալին: Զգույշ եղեք, որ չջնջեք բոլոր սլոտները, այլապես ձեր տվյալները ընդմիշտ կկորչեն:

Ներածություն

Տվյալների գաղտնագրված ձևով պահպանումը տեղեկատվությունը պաշտպանելու հիանալի միջոց է, որպեսզի այն չհասնի հարձակվողին: Գաղտնագրման համակարգերը մշակվել են մտավոր սեփականության, առևտրային գաղտնիքների կամ անձնական տեղեկատվության պաշտպանության համար: Նրանք կարող են ունենալ տարբեր ձևեր, առաջարկել տարբեր մակարդակների ֆունկցիոնալություն և պարունակել ցանկացած թվով տարբերակներ, որոնք համապատասխանում են ձեր կարիքներին: լայն շրջանակ գործող պատյաններեւ միջին. Այսօր գաղտնագրման ժամանակակից մեթոդների, ալգորիթմների և լուծումների թիվը շատ ավելի մեծ է, քան նախկինում։ Իսկ զարգացման որակը շատ ավելի լավն է։ Ավելին, շուկայում կան բազմաթիվ կիրառելի լուծումներ, որոնք հիմնված են բաց կոդով, որը թույլ է տալիս առանց մեծ գումարներ ծախսելու հասնել պաշտպանության լավ մակարդակի։

2005 թվականի դեկտեմբերին Պոնեմոնի ինստիտուտը հարցում է անցկացրել տեղեկատվական անվտանգության տարբեր մասնագետների շրջանում՝ կապված գաղտնագրման և տվյալների պաշտպանության հետ: 6298 հարցվածների մեջ հարցվածների միայն 4 տոկոսն է օգտագործել ամբողջ ձեռնարկության կոդավորումը: Նույն հարցումը բացահայտեց գաղտնագրման պաշտոնական կանոններին կատաղի հակառակության երեք հիմնական պատճառ.

  • Հարցվածների 69%-ը նշել է կատարողականի խնդիրները.
  • Հարցվածների 44%-ը նշել է իրականացման դժվարությունները.
  • Հարցվածների 25%-ը խոսել է կրիպտոգրաֆիկ ալգորիթմների ներդրման բարձր արժեքի մասին։

Շատ երկրներում կազմակերպությունները ենթարկվում են բազմաթիվ ճնշման լծակների՝ իրենց աշխատանքի «թափանցիկությունը» բարձրացնելու համար։ Բայց, մյուս կողմից, նրանք կրում են օրենքով սահմանված պատասխանատվություն՝ չապահովելու անվտանգությունը գաղտնի տեղեկատվություն. Այդպես էր, մասնավորապես, ԱՄՆ-ում DSW կոշիկի խանութների դեպքում):

ԱՄՆ Առևտրի դաշնային հանձնաժողովը հայց է ներկայացրել ընդդեմ DSW-ի, որը հայտարարել է, որ այն չի ապահովում տեղեկատվության պաշտպանության համապատասխան մակարդակ և չի ձեռնարկում համապատասխան միջոցներ այս տվյալների մուտքը սահմանափակելու համար համապատասխան համակարգեր ստեղծելու համար, ինչպես նաև անբավարար պաշտպանություն: ցանցային միացումներխանութի և գրասենյակային համակարգիչների միջև: DSW-ի դեպքում հանցագործներին պոտենցիալ հասանելի էին մոտավորապես 1,4 միլիոն վարկային քարտեր և մոտավորապես 96,000 չեկային հաշիվներ: Իսկ մինչ ընկերության և FTC-ի միջև պայմանավորվածությունները ձեռք բերելը, այդ հաշիվներն արդեն օգտագործվել էին անօրինական կերպով։

Մեր օրերում տվյալների գաղտնագրման ծրագրային և ինժեներական լուծումներն ավելի քան երբևէ հասանելի են: Սմարթ քարտերի փոխարեն օրեցօր էժանացող USB բանալին ավելի ու ավելի է օգտագործվում։ Վերջինս, իր հերթին, նույնպես հաճախ կարելի է գտնել, քանի որ նոութբուքերի մեծ մասը պարունակում է խելացի քարտի ընթերցող։

Սպառողները գնալով սկսում են մտածել անձնական տեղեկատվության, սեփականատերերի տվյալների, վարկային քարտերի համարների գողության հետ կապված վտանգների մասին: Եվ այս մտավախությունները միայն սնվում են նման արժեքավոր տվյալներ վստահված հաստատություններից այս տեսակի գողացված տեղեկատվության զանգվածային վաճառքի մասին հաղորդումներով:

Սպառողները նույնպես սկսում են հասկանալ, որ կարևոր է անձնական տեղեկությունները պաշտպանել ոչ միայն առցանց, այլև անցանց: Ի վերջո, ձեր տվյալների անցանկալի մուտքը միշտ չէ, որ տեղի է ունենում համացանցում: Այս խնդիրը հատկապես արդիական է նրանց համար, ում անպաշտպան նոութբուքերը կամ կարող են ընկնել սպասարկող անձնակազմի ձեռքը՝ կոնֆիգուրացիան փոխելու համար, կամ վերանորոգման ծառայությանը:

Տեխնիկական հարցերկոդավորումը

Գաղտնագրման առանձնահատկությունները կարևոր են բոլոր ժամանակակից բազմախաղերի համար համակարգչային համակարգերորտեղ տվյալները, գործընթացները և օգտվողի տեղեկատվությունը տրամաբանորեն տարանջատված են: Օգտագործողին նույնականացնելու համար նմանատիպ համակարգ, մուտքերն ու գաղտնաբառերը հեշավորվում են և համեմատվում համակարգում արդեն հասանելի հեշերի հետ (կամ հեշն օգտագործվում է նիստի ստեղնը վերծանելու համար, որն այնուհետև ստուգվում է վավերականության համար): Անձնական տեղեկատվության չարտոնված դիտումը կանխելու համար առանձին ֆայլեր կամ ամբողջական բաժիններ կարող են պահվել գաղտնագրված բեռնարկղերում: Իսկ ցանցային արձանագրությունները, ինչպիսիք են SSL \ TLS և IPSec, թույլ են տալիս, անհրաժեշտության դեպքում, ուժեղացնել ծածկագրային պաշտպանությունը տարբեր սարքեր(/dev/random, /dev/urandom և այլն) օգտագործելով մոդուլային ալգորիթմներ, որոնք աշխատում են օպերացիոն համակարգի միջուկի հետ:

Սկավառակի գաղտնագրման ցանկացած տեխնոլոգիայի նպատակն է պաշտպանել անձնական տեղեկատվության անցանկալի մուտքից և նվազեցնել մտավոր սեփականության կորուստը ֆիզիկական սարքի անօրինական մուտքի կամ գողության հետևանքով: վիրահատարան Linux համակարգմիջուկի 2.6.4 տարբերակով ներկայացրել է առաջադեմ գաղտնագրային ենթակառուցվածք, որը պարզապես և ապահով կերպով պաշտպանում է անձնական տվյալները բազմաթիվ մակարդակներում ծրագրային ապահովում. Գոյություն ունեն ցածր մակարդակով գաղտնագրված տվյալների պահպանման ամբողջական ստանդարտներ, ինչպիսիք են Linux Unified Key Setup (LUKS) և օգտագործողի մակարդակի իրականացումները, ինչպիսիք են EncFS և CryptoFS ֆայլային համակարգերը, որոնք իրենց հերթին հիմնված են Fast Userspace File System-ի վրա (FUSE): ) Linux-ի տակ: Իհարկե, ցանկացած կրիպտոգրաֆիկ համակարգ հաքերային հարձակման նկատմամբ նույնքան դիմացկուն է, որքան նրա գաղտնաբառերն ու մուտքի բանալիները: Ընդհանուր առմամբ, կան երեք հիմնական մակարդակներ, որոնցում կիրառվում են կոդավորման տեխնոլոգիաները.

  • ֆայլերի մակարդակը և ֆայլային համակարգը (ֆայլ առ ֆայլ գաղտնագրում, ֆայլերով կոնտեյներ);
  • ցածր բլոկի մակարդակ (կոնտեյներ ֆայլային համակարգով);
  • ապարատային մակարդակ (մասնագիտացված կրիպտոգրաֆիկ սարքեր):

Ֆայլի մակարդակի կոդավորումը շատ պարզ տեխնիկա է, որը սովորաբար օգտագործվում է ֆայլերի փոխանակման համար: Կոդավորումն օգտագործվում է յուրաքանչյուր դեպքի հիման վրա, ինչը հարմար է ողջամիտ քանակությամբ ֆայլեր փոխանցելու համար: Բազմօգտագործող ֆայլային համակարգերի համար կա բանալիների կառավարման խնդիր, քանի որ տարբեր օգտվողների թղթապանակները և ֆայլերը գաղտնագրված են տարբեր բանալիներով: Իհարկե, դուք կարող եք օգտագործել մեկ բանալի, բայց հետո մենք ստանում ենք տեխնոլոգիա, որը հիշեցնում է սկավառակի կոդավորումը: Ինչպես միշտ, օգտագործողի պարտականությունն է ընտրել ամենաապահով գաղտնաբառը:

Ավելի առաջադեմ կրիպտոգրաֆիկ հավելվածներն աշխատում են ֆայլային համակարգի մակարդակում՝ հետևելով ֆայլերին, երբ դրանք ստեղծվում, գրվում կամ փոփոխվում են: Այս մեթոդը ապահովում է ավելի լավ պաշտպանությունանձնական տեղեկատվությունը ցանկացած ձևով օգտագործվում է, այն նաև լավ է մեծ թվով ֆայլերի համար: Բացի այդ, կարիք չկա անհանգստանալու այն հավելվածների մասին, որոնք չգիտեն, թե ինչպես գաղտնագրել ֆայլերը առանձին:

Որոշ ծածկագրային տեխնոլոգիաներ անվճար են և ներառված են բազմաթիվ բաշխումների մեջ: Իմիջայլոց, վերջին տարբերակները Windows-ը հագեցած է հատուկ ֆայլային համակարգով, որն աջակցում է գաղտնագրված ֆայլային համակարգի (EFS) կոդավորումը: Fedora-ն աջակցում է գաղտնագրման մի շարք տարբերակներ, ներառյալ LUKS-ը (կարող եք միացնել LUKS-ի աջակցությունը Windows-ում, եթե օգտագործում եք ֆայլը FAT համակարգերկամ FAT32 և FreeOTFE հավելվածը): Իսկ FUSE-ը և EncFS-ը հասանելի են Extras փաթեթներում: CryptoFS-ը կարող է տեղադրվել նաև՝ ներբեռնելով պաշտոնական կայք. .

FUSE ենթակառուցվածքը բաղկացած է բեռնվող միջուկի մոդուլից և օգտվողների տարածքի գրադարանից, որը հիմք է հանդիսանում ինչպես CryptoFS ֆայլային համակարգի, այնպես էլ կոդավորված ֆայլային համակարգի (EncFS) համար: Իր դիզայնով, FUSE-ը չի ազդում միջուկի սկզբնական կոդի վրա և միևնույն ժամանակ ապահովում է բարձր ճկունություն՝ իրականացնելու բազմաթիվ հետաքրքիր հավելումներ, օրինակ՝ Secure Shell ֆայլային համակարգը (SSHFS) հեռակա տեղադրված ֆայլային համակարգը:

CryptoFS-ը պահում է կոդավորված տվյալները ծանոթ գրացուցակի կառուցվածքում, որը բաժանված է երկու հիմնական մասի. տեքստային տեղեկատվություն(ֆայլերի, թղթապանակների, արխիվների ցանկ) և փաստացի կոդավորված տվյալները: Դուք կարող եք վերամիավորել միայն գաղտնագրված գրացուցակը, օգտագործելով բանալին: CryptoFS-ն օգտագործելիս ձեզ հատուկ արտոնություններ պետք չեն, և դրա կարգավորումը նույնպես հեշտ է։

EncFS ֆայլային համակարգը նաև օգտագործողների տարածքի ներդրում է, որը հիմնված է FUSE գրադարանի վրա, որն ապահովում է պաշտպանություն տեղեկատվության գողությունից և աշխատում է ֆայլ առ ֆայլ գաղտնագրման սկզբունքով: Նա ժառանգել է իր կառուցվածքը վաղ տարբերակները, բայց ինչպես ձևի, այնպես էլ գործառույթի բարելավումներով: EncFS ֆայլային համակարգը կարող է դինամիկ կերպով ընդլայնվել՝ բավարարելու օգտվողների աճող պահանջները: Ֆայլերը կարող են գաղտնագրվել ըստ տարբեր պարամետրերի (օրինակ՝ բովանդակությունը, ատրիբուտները և այլն փոխելիս): Հիմնականում EncFS-ի հիմքում ընկած պահեստը կարող է լինել ամեն ինչ՝ ISO պատկերից մինչև ցանցային բաժանում կամ նույնիսկ բաշխված ֆայլային համակարգ:

Երկու ֆայլային համակարգերն էլ ծայրից մինչև վերջ են և կարող են օգտագործվել այլ ֆայլային համակարգերի և տրամաբանական աբստրակցիաների վրա, ինչպիսիք են ամսագիրը կամ ընդլայնված ֆայլային համակարգը, որը կարող է բաշխվել բազմաթիվ ֆիզիկական լրատվամիջոցներում՝ օգտագործելով տրամաբանական բաժանման կառավարիչ (LVM): Հետևյալ նկարը սխեմատիկորեն ցույց է տալիս, թե ինչպես է աշխատում այս ֆայլային համակարգը. այս դիագրամում տեսանելի գրացուցակը /mount է (EncFS չգաղտնագրված տվյալների շերտ):

Օգտագործողի տարածության ծածկույթ, որը ցույց է տալիս FUSE-ի և EncFS-ի փոխազդեցությունը:

Ֆայլային համակարգի աբստրակցիոն շերտի տակ կան ցածր մակարդակի (բլոկ) կոդավորման սխեմաներ, ինչպիսիք են LUKS-ում օգտագործվողները: Այս տեսակի սխեմաներն աշխատում են միայն սկավառակի բլոկների վրա՝ ավելի շատ անտեսելով ֆայլային համակարգի աբստրակցիաները բարձր մակարդակներ. Նմանատիպ սխեմաներ կարող են օգտագործվել փոխանակման ֆայլերի, տարբեր բեռնարկղերի կամ նույնիսկ ամբողջ ֆիզիկական լրատվամիջոցների համար, ներառյալ արմատային բաժանման ամբողջական կոդավորումը:


LUKS-ն աշխատում է առանց ֆայլային համակարգի ձևաչափի ճշգրիտ իմացության:

LUKS-ը նախագծված է Trusted Key Setup #1 (TKS1) համաձայն և համատեղելի է Windows-ի հետ, երբ օգտագործում է ֆայլային համակարգի որոշ սովորական ձևաչափ (FAT/FAT32): Համակարգը հարմար է բջջային օգտատերերի համար, աջակցում է Gnu Privacy Guard (GPG) ստեղների թողարկումն ու չեղարկումը և լիովին անվճար է: LUKS-ն ի վիճակի է շատ ավելին, քան այս հոդվածում նկարագրված ցանկացած այլ իրականացում: Ավելին, LUKS-ն աջակցում է մեծ թվով լուծումների՝ LUKS կոդավորված սարքեր ստեղծելու և կառավարելու համար:

CryptoFS ֆայլային համակարգը ընդունում է միայն գաղտնաբառ, մինչդեռ LUKS-ով գաղտնագրված մեդիան աշխատում է ցանկացած PGP (Pretty Good Privacy) ստեղներով՝ ցանկացած թվով գաղտնաբառերով: EncFS-ը նաև օգտագործում է գաղտնաբառ՝ ֆայլերը պաշտպանելու համար, սակայն այն բացում է համապատասխան արմատային գրացուցակում պահվող բանալին:

Ցածր մակարդակի և օգտագործողների տարածքի ներդրման միջև եղած տարբերությունները լավագույնս երևում են գործնական թեստերում: Ցածր մակարդակով տվյալները կարող են «թափանցիկ» փոխանցվել ֆայլային համակարգին, որը շատ ավելի արդյունավետ է կառավարում գրելը և կարդալը:

Փորձարկման կոնֆիգուրացիա

Մեր փորձարկման հարթակը նոութբուքն էր Dell Latitude C610, մի փոքր հնացած, բայց դեռևս բավականին ճարպիկ 2002 թվականի մոդելի տեխնոլոգիայի ներկայացուցիչ: Մարտկոցի էներգիայով C610-ը նվազեցնում է պրոցեսորի ժամացույցը մինչև 733 ՄՀց: Հետևաբար, փորձարկման ժամանակ մենք չենք անջատել նոութբուքը վարդակից: Հետևյալ աղյուսակը ցույց է տալիս նոութբուքի կոնֆիգուրացիան

Թեստի արդյունքները ստացվել են Linux-ի տակ գործող EXT3 ֆայլային համակարգի միջոցով: Թերևս EXT3-ը ամենաարդյունավետը չէ՝ համեմատած այլ ամսագրային ֆայլային համակարգերի հետ: Բայց փորձեր հետ նուրբ թյունինգհամակարգի ձևաչափը, բլոկի չափը, սկավառակի պարամետրերը և այլն: չեն ենթարկվում մեր փորձարկման, քանի որ դրանք չեն համապատասխանում պարզ տեղադրման և կազմաձևման չափանիշներին: Հիշեցնենք, որ հոդվածի նպատակն էր ցույց տալ, թե ինչպես են Linux կրիպտոգրաֆիկ լուծումները հեշտ, արդյունավետ և էժան դարձնում տվյալների անվտանգ պահեստների ստեղծումը:

Տեղադրում

LUKS-ը, FUSE-ը և EncFS-ը հասանելի են Fedora-ի բաշխման մեջ, ուստի լրացուցիչ ջանք չի պահանջվում: Բայց CryptoFS-ը պետք է ներբեռնվի առանձին:

CryptoFS-ի կազմում աղբյուր կոդըբավականաչափ պարզ: Անջատեք արխիվը, գործարկեք կազմաձևման սցենարը նպատակային գրացուցակում, այնուհետև գործարկեք make-ը, ինչպես ցույց է տրված նկարում: Կազմաձևման ֆայլը պարունակում է չորս պարամետր՝ գաղտնագրման ծածկագիրը, հաղորդագրությունների մարսողության ալգորիթմը, բլոկի չափը և գաղտնագրման աղի քանակը:


CryptoFS-ի տեղադրման գործընթացը պարզ է:

Կազմաձևը բաղկացած է սկզբի և վերջի դիրեկտորիաների ուղիների ճշգրտումից (գաղտնագրված և չգաղտնագրված տվյալների համար): Այնուհետև կարող եք գործարկել cryptofs հրամանը, ինչպես ցույց է տրված հետևյալ նկարում:


CryptoFS կարգավորում:

Այնուհետև կարող եք գործարկել mount հրամանը, որից հետո կարող եք տեսնել տեղադրված միջնորմը:

Նախ, համոզվեք, որ բեռնել եք FUSE միջուկի մոդուլը (modprobe ապահովիչ): EncFS-ը պարզեցնում է կոդավորված կոնտեյների ստեղծման գործընթացը, ինչպես երևում է հետևյալ նկարում:


Բաց թողնելով բանալիների տեղադրման գործընթացը (որը հատուկ է յուրաքանչյուր իրավիճակին), LUKS-ը հեշտությամբ կարող է կազմաձևվել, ինչպես ցույց է տրված ստորև:


Հենանիշներ և կատարողականի վերլուծություն

Տեղական տեղադրման և LUKS-ով ծածկագրված տեղադրման միջև կատարողականի տարբերությունները բավականին փոքր են: Հատկապես հաշվի առնելով օգտվողների տարածքի լուծումների նկատելի տարբերությունը: Կոդավորված ֆայլային համակարգերի աշխատանքը մեկ առ մեկ գնահատելու համար մենք օգտագործեցինք Iozone-ը: Թեստերի համար օգտագործվում են 4 ԿԲ-ից մինչև 16 ՄԲ ձայնագրություններ, ֆայլի չափը տատանվում է 64 ԿԲ-ից մինչև 512 ՄԲ, իսկ արդյունքը նշվում է ԿԲ/վ-ով:

Եզրակացություն

Առնվազն այն վայրերում, որտեղ օգտագործվում է LUKS-ը, դուք չպետք է անհանգստանաք կատարողականի համար: Թեև, իհարկե, որոշ կատարողականի կորուստը պայմանավորված է տվյալների «թափանցիկ» ծածկագրմամբ: LUKS-ը հեշտ և պարզ է տեղադրվում և կարող է օգտագործվել ինչպես Linux-ի, այնպես էլ Windows-ի վրա:

Կորպորատիվ օգտվողները, անշուշտ, ստիպված կլինեն զբաղվել ընկերության քաղաքականության հետ կապված սահմանափակումներով: Հաճախ նրանք արգելում են բաց կոդով լուծումները կամ արգելում են որոշ իրականացումներ: Բացի այդ, երբեմն պետք է հաշվի առնել ծածկագրման տեխնոլոգիաների ներմուծման/արտահանման սահմանափակումները՝ կապված կոդի ուժի հետ, կամ ՏՏ բաժինը պահանջում է հեռախոսային աջակցություն լուծումների մատակարարից, ինչը թույլ է տալիս մոռանալ LUKS-ի, EncFS-ի և CryptoFS-ի մասին: Ամեն դեպքում, LUKS-ը հիանալի լուծում է, եթե նման խնդիրներ չունեք: Լավ տարբերակ փոքր բիզնեսի կամ տնային օգտագործողների համար:

Բայց հիշեք, որ տվյալների կոդավորումը համադարման չէ: Քանի որ կոդավորումը թափանցիկ է, օգտագործողի անունից աշխատող ցանկացած տրոյան կարող է մուտք գործել կոդավորված տվյալներ:

Խմբագրի կարծիքը

CryptoFS-ը և EncFS-ը օգտվողների տարածքի իրականացում են: Ինչպես ավելի վաղ բացատրեցինք, դրանք պարզ են նախագծման և իրականացման մեջ, բայց գալիս են կատարողականի և առանձնահատկությունների գնով: Սա հատկապես ակնհայտ է, երբ համեմատվում է LUKS-ի հետ: Այն ոչ միայն նկատելիորեն ավելի արագ է, այլ նաև աջակցում է մեկ կամ մի քանի PGP ստեղների և կարող է օգտագործվել ամբողջ բաժանման վրա:

Օգտվողի տարածքի կոնտեյներները հիմնականում կարևոր են այն օգտատերերի համար, ովքեր ցանկանում են պաշտպանել անձնական տեղեկատվությունը բազմաբնակարան օգտատերերի միջավայրում: Եվ ով պետք է պաշտպանի իր տվյալները, որպեսզի նույնիսկ ադմինիստրատորը չկարողանա մուտք գործել ապարատային կամ ծրագրային ռեսուրսներ: Ի լրումն կատարողականի և միջպլատֆորմային աջակցության առավելությունների, LUKS-ը լավ ինտեգրվում է GNOME և PGP բանալիների կառավարման համակարգերին: Իսկ LUKS ծածկագրված միջնորմների ամենօրյա օգտագործման հեշտությունը պարզապես տպավորիչ է: Ի դեպ, EncFS-ն աջակցում է Pluggable Authentication Module-ին (PAM) Linux-ի ներքո համապատասխան միջավայրերում:

Գաղտնիք չէ, որ այսօր տվյալների կոդավորումը, թերեւս, դրանք ինչ-որ կերպ փրկելու միակ միջոցն է: Այսօր մենք կսովորենք, թե ինչպես ստեղծել կոդավորված բաժին Linux-ում՝ օգտագործելով luks (Linux Unified Key Setup) ստանդարտը: Օրինակ, ես կտամ սքրինշոթներ CentOS Linux օպերացիոն համակարգից։

Այսպիսով, առաջին հերթին մենք կպատրաստենք այն բաժինը, որը մենք կգաղտնագրենք: Դրա շրջանակներում վիրտուալ մեքենաես ստեղծել եմ նոր սկավառակ, այն միացրեց SATA ինտերֆեյսին, համակարգում հայտնվեց /dev/sdb սարքը

Եկեք դրա վրա ստեղծենք հիմնական բաժին.

# fdisk /dev/sdb

Ստեղծեց 1 միջնորմ (sdb1), նրան տվեց ամբողջ ազատ տարածությունը:

Հիանալի է, հիմա եկեք ձևաչափենք /dev/sdb1 միջնորմը՝ օգտագործելով անցաբառի կրիպտոպաշտպանության գործիքները: Մեզ կառաջարկվի մուտքագրել գաղտնաբառ: Չսխալվելու համար կրկնենք երկու անգամ։

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb1

Նախնական ալգորիթմը AES 256bit է: Անհրաժեշտության դեպքում կարող եք ընտրել մեկ այլ ալգորիթմ՝ նշելով անջատիչների -c ալգորիթմ -s ստեղնի երկարությունը

# cryptsetup -c aes -s 1024 --verbose --verify-passphrase luksFormat /dev/sdb1

Այնուհետև մենք ակտիվացնում ենք այն կրիպտոկոնտեյները, որը կոչվում է անվտանգ.

# cryptsetup luksOpen /dev/sdb1 safe


Արդյունքում, /dev/mapper/ գրացուցակում ստեղծվում է նոր բլոկ սարք՝ safe անունով:

Ստեղծեք ֆայլային համակարգ.

# mkfs.ext3 /dev/mapper/safe


Իսկ եթե մենք ուզում ենք, որ մեր բաժանումն ակտիվացվի ամեն անգամ, երբ համակարգը սկսում է (իհարկե, անցաբառ խնդրելով):

Եկեք խմբագրենք /etc/crypttab ֆայլը, որը նման է /etc/fstab-ին

# vim /etc/crypttab

Եկեք այնտեղ մի տող ավելացնենք.

անվտանգ /dev/sdb1 ոչ

Եվ հետևյալը /etc/fstab ֆայլում.

/dev/mapper/safe/safe ext3 կանխադրված է 0 0

Այո, իրավիճակը: Մենք ստեղծել ենք կոդավորված բաժին։ Մենք գիտենք բանալին. Հնարավո՞ր է բաժինը հասանելի դարձնել ոչ միայն մեր բանալիով, այլ նաև այլ կերպ։ Այսինքն՝ մենք ուզում ենք մուտք գործել «Վասյա», որպեսզի նա կարողանա մեզ հետ հավասար աշխատել։ Հեշտությամբ.

Եկեք ավելացնենք ևս մեկ բանալի կրիպտոկոնտեյներին:

Ընդհանուր առմամբ, դուք կարող եք ստեղծել մինչև 8 բանալի, որոնցից յուրաքանչյուրը տեղավորվում է իր սեփական բնիկի մեջ:


Դուք կարող եք ցույց տալ զբաղեցրած սլոտները հետևյալ կերպ.

# cryptsetup luksDump /dev/sdb1


Ինչպես տեսնում եք, 0 և 1 սլոտները զբաղված են: Հիմնական ֆայլերը կարող են օգտագործվել նաև գաղտնաբառերի փոխարեն:

Կրիպտոկոնտեյների կարգավիճակը կարող եք ցույց տալ այսպես.

# cryptsetup կարգավիճակը անվտանգ է

Գործնական օրինակ.

Նպատակը: Պաշտպանել USB սարքհետաքրքրասեր աչքերից.

Եկեք միացնենք ֆլեշ կրիչը մեր համակարգին.


Ֆլեշ կրիչը սահմանվել է որպես sdc սարք: Սա նշանակում է, որ /dev/sdc սարքը հայտնվել է։ Եթե ​​ֆլեշ կրիչի վրա ճարպային կամ ntfs միջնորմներ կային, ապա ավելի լավ է տեղեկատվությունը ինչ-որ տեղ գցել, քանի որ սարքը գաղտնագրելուց հետո ամեն ինչ կկորչի:

Այսպիսով, մենք կարող ենք բաժանել ֆլեշ կրիչը fdisk-ի միջոցով, կարող ենք թողնել այնպես, ինչպես կա:

# cryptsetup luksFormat /dev/sdc

Մուտքագրեք անցաբառ:


Այժմ եկեք միացնենք մեր գաղտնագրված սարքը, որպեսզի նշենք այն նոր ֆայլային համակարգի ներքո.

# cryptsetup luksԲացել /dev/sdc ֆլեշ

Այժմ մեզանից կպահանջվի անցաբառ, որը մուտքագրելուց հետո համակարգում կհայտնվի նոր սարք /dev/mapper/:<имя>, մեր դեպքում ֆլեշ.

Եկեք ստեղծենք ֆայլային համակարգ այս սարքի վրա.

# mkfs.ext3 /dev/mapper/flash

Պատրաստ. Դե, ժամանակն է ստեղծել այն բանալիները, որոնք կօգտագործվեն սարքին մուտք գործելու համար: Կարելի է պատրաստել մի քանի բանալի (ընդհանուր առմամբ մինչև 8 սլոտ, չնայած 0-րդ բնիկն արդեն զբաղված է անցաբառով, բայց այն կարող է ջնջվել):

# dd if=/dev/urandom of=~/keyfile.key bs=1 count=256

Այսպիսով, մենք կստեղծենք 256 բայթանոց ֆայլ՝ խցանված պատահական թվեր. Դուք կարող եք ստուգել այն այսպես.

# xxd ~/keyfile.key


Իսկապես։ լրիվ պատահական. Այժմ մնում է այս բանալին ավելացնել մեր ֆլեշ կրիչին:

Եկեք առայժմ անջատենք կրիպտոկոնտեյները:

# cryptsetup luksՓակել ֆլեշ

Բանալին ավելացնելը.

# cryptsetup luksAddKey /dev/sdc ~/keyfile.key


Մեզ կառաջարկվի մուտքագրել անցաբառ՝ համոզվելու համար, որ մենք մուտք ունենք այս պահոց:

# cryptsetup luksDump /dev/sdc

Հիանալի Հիմա եկեք բանալին պահենք ապահով տեղում: Այն մեզ անհրաժեշտ կլինի կոնտեյներ մուտք գործելու համար:

Օրինակ 1

«A» օգտատերը ցանկանում է ֆայլ վերբեռնել ֆլեշ կրիչում՝ իմանալով անցաբառը.


Մենք այն բացեցինք գաղտնաբառով` ստեղծելով mydisk սարք, այնուհետև տեղադրեցինք mydisk-ը տնային գրացուցակում: Ստեղծվել է տեքստային ֆայլ hello.txt բովանդակությամբ: Բեռնարկղը անջատված է:

Օրինակ 2


Բացել է բանալի ֆայլով, ստեղծվել է ֆլեշկա սարք: Մենք այն տեղադրեցինք Սերգեյի օգտագործողի տնային գրացուցակում, կարդացեք ֆայլը. ամեն ինչ կարգին է: