Линукс хуваалтыг шифрлэх. Хуваалтуудын шифрлэлт. Төхөөрөмжийн стекийг блоклох

Гэрийн лавлахын шифрлэлт нь таны хатуу диск эсвэл бусад хадгалах хэрэгсэлд хадгалагдсан өгөгдлийг найдвартай хамгаална. Шифрлэлт нь зөөврийн компьютер, олон хандалттай компьютер, түүнчлэн бусад нөхцөлд онцгой чухал юм. Linux Mint-ийг суулгах үед гэрийн лавлах шифрлэлтийг санал болгодог.

Гэрийн лавлахыг бүрэн шифрлэх гол зүйл бол та шифрлэгдсэн өгөгдөл бүхий лавлахыг холбох цэгээс цааш "нүүлгэх" хэрэгтэй.

Ядаж SWAP ашиглах хүртэл гүйцэтгэл бага зэрэг буурдаг. SWAP нь програмыг ажиллуулахад хангалттай RAM байхгүй үед үйлдлийн систем нь RAM-ийн блокуудыг шилжүүлдэг тусгай дискний хуваалт эсвэл файл юм. Хэрэв та суулгагч дотроос гэрийн лавлахыг шифрлэхийг сонговол SWAP нь мөн шифрлэгдсэн бөгөөд унтах горим ажиллахаа болино.

Гэрийн лавлахыг шифрлэсэн үед SWAP-г шифрлэхгүй байх нь аюултай, учир нь шифрлэгдсэн файлуудын өгөгдөл нь тодорхой текст хэлбэрээр дуусч магадгүй - шифрлэлтийн бүх цэг алга болно. Linux Mint-ийн 14-р хувилбараас эхлэн суулгах явцад та дискийг бүхэлд нь шифрлэх сонголтыг сонгож болно. Энэ сонголт нь зөөврийн төхөөрөмж дээр (ихэвчлэн нэг хэрэглэгчтэй) хувийн мэдээллийг хадгалахад хамгийн тохиромжтой.

1.3 Gnome дахь шифрлэлт – Seahorse

Linux Mint нь нууц үг, түлхүүрийн хэрэгсэл буюу Seahorse-тэй. Түүний чадавхийг ашигласнаар хэрэглэгч энэ үйлдлийн системд байгаа бүх түлхүүр, нууц үг, гэрчилгээтэй ажиллах боломжтой.

Үндсэндээ Seahorse нь GnuPG (мэдээллийг шифрлэх, цахим дижитал гарын үсэг үүсгэх үнэгүй програм)-ын үндсэн хэсэг болох GNOME (GNOME нь Unix-тэй төстэй үйлдлийн системд зориулсан үнэгүй ширээний орчин) программ бөгөөд шифрлэлтийн түлхүүрүүдийг удирдахад зориулагдсан. нууц үг. Энэ нь GNOME 2.22 дээр бүрэн солигдсон GNOME Keyring-ийг сольсон боловч GNOME 2.18 дээр дахин зарласан. Командын мөрөнд өмнө нь хийх шаардлагатай байсан бүх үйлдлүүдийг нэг интерфэйс дор нэгтгэх боломжийг танд олгоно.

    ажлын орчин болон OpenPGP болон SSH түлхүүрүүдийн аюулгүй байдлыг удирдах;

    файл, текстийг шифрлэх, өргөжүүлэх, сканнердах;

    баримт бичигт тоон гарын үсэг нэмэх, баталгаажуулах;

    түлхүүрүүдийг түлхүүр серверүүдтэй синхрончлох;

    түлхүүр үүсгэх, нийтлэх;

    гол мэдээллийг нөөцлөх;

    OpenGPG зургийн ID болгон дэмжигдсэн GDK-д байгаа зургуудад нэмэх;

1.4 TrueCrypt

TrueCrypt нь нэлээд тохиромжтой график интерфэйстэй боловч харамсалтай нь хөгжүүлэгчид Nautilus файлын менежертэй хатуу кодлогдсон кодтой нэгтгэсэн байдаг.

Та өгөгдлийг шифрлэхийн тулд янз бүрийн аргыг ашиглаж болно.

Эхлээд та шифрлэхэд зориулагдсан файлын фолдеруудыг агуулсан савыг үүсгэх хэрэгтэй. Контейнер нь дурын нэртэй файл эсвэл бүхэл бүтэн дискний хуваалт байж болно. Контейнерт нэвтрэхийн тулд та нууц үгээ зааж өгөх ёстой бөгөөд мэдээллийг шифрлэх түлхүүр файл (заавал биш) үүсгэж болно. Савны хэмжээ хязгаарлагдмал.

Шифрлэгдсэн хуваалтууд/файлуудыг үүсгэх

Түлхүүр файл үүсгэх:

truecrypt -create-keyfile /home/user/test/file,файл нь гол файлын нэр юм.

Контейнер үүсгэх, энэ тохиолдолд хэсэг:

sudo truecrypt -k /home/user/test/file -c /dev/sda9

/dev/sda9 хуваалтын оронд та мөн файлыг зааж өгч болно, жишээ нь /home/user/test/cryptofile, гэхдээ энэ тохиолдолд та түүний хэмжээг зааж өгөх шаардлагатай бөгөөд үүнийг өмнө нь -size=5G параметрээр хийх болно. -c параметр. Дээрх жишээ нь 5 ГБ хэмжээтэй крипто файл үүсгэх болно. Заримдаа TrueCrypt зөвхөн байтаар хэмжээг хүлээн зөвшөөрдөг; 5 ГБ-ын хувьд та утгыг урьдчилан тооцоолж, -size=5368709120 гэж зааж өгөх эсвэл дараах байдлаар бичиж болно: -size=`echo 1024^3*5 | bc`.

Аль хэдийн үүсгэсэн түлхүүр файлыг шифрлэхэд ашиглана.

Үүсгэх үед танд контейнерийн төрөл (хэвийн/далд), файлын систем (FAT, ext2/3/4 эсвэл FS-гүй) гэсэн сонголтыг санал болгох бөгөөд энэ жишээнд FS ашиглахгүй горимыг сонгосон. Мөн танд шифрлэлтийн алгоритм (жишээ нь, AES), мөн өгөгдлийн урсгалыг шифрлэх хэш алгоритм (жишээ нь, SHA-1) сонгохыг санал болгоно.

TrueCrypt нь өгөгдлийг шууд шифрлэхэд ашиглагддаг, өөрөөр хэлбэл та контейнер холбож, доторх файлуудтай ердийн байдлаар ажиллах боломжтой (нээх/засах/хаах/үүсгэх/устгах) нь маш тохиромжтой.

Шифрлэгдсэн хуваалт/файлыг үүсгэсэн. Одоо, хэрэв та түүний дотоод файлын системийг (цаашид FS гэх) форматлах шаардлагатай бол дараахь зүйлийг хийх хэрэгтэй.

Truecrypt ашиглан шаардлагатай хэсгийг сонгоно уу:

truecrypt -k /home/user/test/file /dev/sda9

Анхдагч байдлаар Truecrypt-ээр үүсгэсэн төхөөрөмж /dev/mapper/truecrypt0 ашиглагдана. Энэ төхөөрөмжид хандсанаар та жишээ нь шифрлэгдсэн саванд байгаа FS-г өөрчилж болно. Энэ тохиолдолд үүнийг хийх шаардлагатай.

sudo mkfs.ext4 -v /dev/mapper/truecrypt0

Энэ шифрлэгдсэн чингэлэг дотор ext4 FS-ийг ингэж бүтээсэн юм.

Дараа нь, энэ контейнер аль хэдийн /dev/mapper/truecrypt0 төхөөрөмжид "хавсарсан" тул үүнийг ямар нэг директорт холбоход л үлддэг. Энэ холбох лавлах систем дээр аль хэдийн байх ёстой.

sudo mount /dev/mapper/truecrypt0 /mnt/crypto, энд /mnt/crypto нь шифрлэгдсэн контейнер холбогдсон лавлах юм.

truecrypt -d

Одоо түлхүүр файл, нууц үгээ мэдэхгүй бол хэн ч далд мэдээллийг унших боломжгүй болно.

Өнөөдөр чухал өгөгдлийг энгийн текстээр хадгалах нь урьд өмнөхөөсөө илүү аюултай болсон. Мөн засгийн газрын хараа хяналтаас (хэрэв хүсвэл тэд гомдоллох зүйлээ олох болно гэх мэт) биш, харин энэ өгөгдлийг хулгайлахыг хүссэн хүмүүсээс болж байна. Зарчмын хувьд мэдээллийг хамгаалах олон арга байдаг боловч энэ нийтлэлд криптографийн хэрэгслийг тайлбарлах болно.


Бусад үйлдлийн системүүдээс ялгаатай нь Линукс нь цахим шуудангийн захидал харилцааг шифрлэхээс эхлээд файлуудыг шифрлэх, төхөөрөмжийг блоклох хүртэл криптограф мэдээллийг хамгаалах олон төрлийн хэрэгсэлтэй. Бид файлын систем, файл, блок төхөөрөмжийн түвшинд шифрлэлтийг сонирхож байна. Нэгдүгээрт, ялгаа нь юу болохыг ойлгох нь зүйтэй. Файлын системийн түвшний шифрлэлт нь үндсэн файлын систем (мэдээж хэрэг файлын систем өөрөө шифрлэлтийг дэмждэггүй бол) болон хэрэглэгчийн хооронд давхарга байхыг шаарддаг.

Давуу тал энэ төрлийншифрлэлт - бүх хэрэглэгчдийн хувьд түлхүүрүүд өөр өөр байдаг. Сул тал нь хэрэв та файлын нэр шифрлэлтийг идэвхжүүлбэл хүчинтэй нэрний урт багасах бөгөөд үүнээс гадна хэрэглэгч файлыг дискний өөр байршилд хадгалах боломжтой бөгөөд энэ нь автоматаар ашиг тусыг үгүйсгэдэг. Бас нэг зүйл бол нэр шифрлэлт идэвхжсэн ч гэсэн цагийн тэмдэг нь хэвээр байх болно. Блок төхөөрөмжийн шифрлэлт нь файлын системийн доод түвшинд явагддаг. Энэ тохиолдолд файлын систем өөрөө шифрлэгдсэн эзэлхүүн дээр байрладаг гэдгийг мэддэггүй.

Давуу тал энэ аргаөмнөх сул талуудын эсрэг. Сул тал нь та татаж авах/холбох бүртээ нууц үг оруулах шаардлагатай болно. Хоёрдахь дутагдалтай тал нь хэрэв ажиллаж байх үед халдагчид криптокон дээрх файлуудад хандах эрхтэй болдог.
teiner, энэ бол бүх зүйл - энэ нь алдагдсан. Энэ бол офлайн халдлагаас хамгаалах хамгаалалт юм. Нэмж дурдахад крипто савыг үүлэнд хадгалах тохиолдлын дийлэнх тохиолдолд та үүнийг бүхэлд нь дахин байршуулах шаардлагатай болно.

Энэ нийтлэлд дараах криптограф хамгаалах аргуудыг хэрхэн тохируулах талаар тайлбарлах болно.
dm-crypt/LUKS- төхөөрөмж-mapper болон CryptoAPI цөм ашиглан крипто контейнер үүсгэх;
eCryptfs- файлын системийн түвшинд шифрлэлт;
EncFS- дээр дурдсантай төстэй боловч цөмийн модулиудыг ачаалах шаардлагагүй.

DM-CRYPT/LUKS
dm-crypt-ийн хоёр төрлийн тохиргоо байдаг - энгийн ба LUKS. Үүний ялгаа нь LUKS-ийг ашиглах үед мета өгөгдөл нь крипттомын эхэнд байдаг бөгөөд энэ нь танд олон түлхүүр ашиглах, тэдгээрийг өөрчлөх боломжийг олгодог. Үүний зэрэгцээ, зарим тохиолдолд ийм толгой байгаа нь өөрөө эвгүй байдалд ордог - гэхдээ ихэнх тохиолдолд ижил төстэй тохиолдлуудэнтропийн өндөр зэрэгтэй газар ч бас буулттай байх болно. Түлхүүр файл болон нэвтрэх үг бүхий энгийн dm-crypt-ийг тохируулах нь LUKS-ийн саванд байгаа түлхүүр файлаар шифрлэгдсэн энгийн dm-crypt эзлэхүүний хослолыг хэрхэн тохируулахыг харцгаая. Эхлээд та хэсгүүдийг яг яаж байрлуулахаа шийдэх хэрэгтэй. Гурван үндсэн сонголт байна:
зүгээр л крипто хэмжээ;
эхлээд крипто хэмжээ, дараа нь дээр нь LVM;
эхлээд крипто хэмжээ, дараа нь RAID, дараа нь LVM.

Мөн бүх төрлийн хослолууд. Хоёр дахь сонголтыг туршиж үзье. Эхний алхам бол түлхүүр файлыг хадгалах LUKS контейнер үүсгэх бөгөөд ингэснээр бид энэ файлыг түлхүүр үгийн хамт ашиглах боломжтой болно. Энэ тохиолдолд энгийн dm-crypt ашиглан шифрлэгдсэн эзэлхүүний криптоанализ хийх магадлал буурна.

# dd if=/dev/zero of=/root/key.luks bs=512 count=2057

# cryptsetup --align-payload=1 luksFormat /root/key.luks

# cryptsetup luksOpen /root/key.luks cryptokey

# dd if=/dev/urandom of=/dev/mapper/cryptokey

Эхний команд нь контейнерийн файлыг бэлтгэж, хоёр дахь нь энэ контейнерийг үүсгэж, гурав дахь нь үүнийг холбож, дөрөв дэх нь гол мэдээллийг үүсгэдэг. LUKS мета өгөгдлийн хэмжээ нь 4096 512 байт блок биш, зөвхөн 2056 байхын тулд –align-payload=1 сонголт шаардлагатай гэдгийг тэмдэглэх нь зүйтэй. Тиймээс бодит түлхүүр мэдээлэлд 512 байт үлдэнэ.
Дараа нь бид криптотом бүтээх ажил руу шилждэг. Энэ үед та дискийг псевдо санамсаргүй өгөгдлөөр дүүргэж, хэрэв байгаа бол криптоанализ хийхэд хэцүү болгож болно. Дараа нь та криптотом үүсгэж болно. Үүний тушаал нь иймэрхүү харагдаж байна (мэдээжийн хэрэг, бусад тохиолдолд танигч өөр байж болох тул та болгоомжтой байх хэрэгтэй):

# cryptsetup --cipher=serpent-xts-plain64 --offset=0--key-file=/dev/mapper/cryptokey --key-size=512 нээлттэй --type=plain/dev/disk/by-id/ ata-VBOX_HARDDISK_VB05eadebe-f25e8d59 крипто0


Шаардлагатай бол шифрлэлт шаарддаг бусад төхөөрөмж дээр ижил төстэй тушаалыг давтах ёстой. Дараа нь бид Cryptobolumes дээр LVM болон FS үүсгэх болно.

Ойролцоогоор дараах агуулгатай /etc/initramfs-tools/hooks/cryptokeys файл үүсгэцгээе (скриптийн үйлчилгээний хэсгийг орхигдуулсан):

Мөн /etc/initramfs-tools/scripts/local-top/cryptokeys файл (үйлчилгээний хэсэг дахин
орхигдуулсан):

# <...>

modprobe - b dm_crypt

байхад! (/sbin/cryptsetup luksOpen /etc/crypto/key. luks cryptokey

/dev/disk/by - id /ata - VBOX_HARDDISK_VB05eadebe - f25e8d59 crypto0

&& /sbin/cryptsetup plainOpen -- түлхүүр - файл = /dev/mapper/cryptokey

/dev/disk/by - id /ata - VBOX_HARDDISK_VBc2414841 - cfeccde5 crypto1

&& /sbin/cryptsetup luksClose cryptokey

); хийх

echo “Дахин оролдоно уу. . . ”

хийсэн

Энэ хоёр файлыг гүйцэтгэх боломжтой байх ёстой. Дараа нь бид initrd-г үүсгэнэ:

# update-initramfs -u -k all -v

Дараагийн удаа дахин ачаалах үед танаас LUKS контейнерийн нууц үгийг асуух болно. Хэрэв та энгийн dm-crypt ашигладаг бол өөр сонголт байдаг - нийтлэг доод давхарга нь TrueCrypt-ийн далд боть гэх мэт зүйлийг хийх боломжийг олгодог. Жишээ өгөхөд илүү хялбар байдаг:

# cryptsetup --cipher=serpent-xts-plain64 --offset=0--size=2097152 --shared open --type=plain/dev/disk/by-id/ata-VBOX_HARDDISK_VBcda8398f-f1f1deec крипто

# cryptsetup --cipher=serpent-xts-plain64 --offset=2097152--size=2097152 --shared open --type=plain/dev/disk/by-id/ata-VBOX_HARDDISK_VBcda8398f-f1f1deec

Хэмжээ ба офсетийг 512 байт блокоор зааж өгсөн болно.


LUKS-ийн дэвшилтэт боломжууд
Мөн LUKS савны дэвшилтэт хэрэглээг харцгаая. Үүнд түлхүүр солих зэрэг орно. Энэ нь эргэлтийн гол бодлогыг зөрчих эсвэл бий болгоход зайлшгүй шаардлагатай. Үүнийг хийх эхний алхам бол контейнерийн толгойн нөөцийг үүсгэх явдал юм. Би унаж
За, түлхүүрийг өөрчилсний дараа устгаж болно. Мэдээжийн хэрэг бид үүнийг шифрлэгдээгүй хуваалт дээр хийдэг.

Эцэст нь бид нэмнэ шинэ түлхүүрсистем рүү:

Мөн LUKS-ийн эзлэхүүнийг сэргээх журмыг авч үзье. Мэдээжийн хэрэг, хамгийн хялбар сонголт бол толгойн хуулбар байгаа үед юм. Энэ тохиолдолд сэргээхийн тулд зөвхөн нэг тушаал шаардлагатай:

Хамгийн урт тасралтгүй мөр нь мастер түлхүүр байх болно. Үүнийг шифрлэгдээгүй хэмжээтэй файл руу хуулж, дараа нь хоёртын хэлбэрт хөрвүүлэх шаардлагатай (үүнийг хийхээс өмнө энэ файлЯмар ч байхгүй
мөрийн төгсгөлийн тэмдэгтүүд):

ENCFS
Нэвтрэх үед EncFS-ийг автоматаар холбохын тулд хэрхэн тохируулахыг харцгаая. Эхлээд шаардлагатай багцуудыг суулгая:

Шинжээчдийн горимд тохируулах үед та хэд хэдэн асуулт асуух болно: шифрийн төрөл (зөвхөн AES болон Blowfish боломжтой), түлхүүрийн хэмжээ, блокийн хэмжээ, файлын нэрийг хэрхэн шифрлэх - блок шифрлэлт (энэ нь файлын нэрийг бүрэн нуудаг. урт), урсгалын шифрлэлт (энэ нь хамгийн ойрын уртаар шифрлэдэг, хэрэв нэр нь хэтэрхий урт бол заримдаа тохиромжтой байдаг бөгөөд блок шифрийг ашиглах үед зөвшөөрөгдөх дээд хэмжээнээс хэтрэх магадлал өндөр байдаг) эсвэл огт байхгүй болно. .. Төгсгөлд нь танаас нууц үг асуух бөгөөд энэ нь нэвтрэхэд ашигласан нууц үгтэй тохирч байх ёстой, эс тэгвээс автомат холболт ажиллахгүй.

Дараа нь та /etc/security/pam_encfs.conf файлыг засах хэрэгтэй:

Мөн /etc/fuse.conf файл:

Мөн хэрэглэгчийг гал хамгаалагчийн бүлэгт нэмнэ үү:

$ sudo usermod - a - G гал хамгаалагч $ USER

Гарч, нэвтэрсний дараа хувийн лавлахыг хувийн мэдээллийн сан болгон ашиглаж болно. Гэсэн хэдий ч аудитаар аюулгүй байдлын зарим (нэлээд ноцтой) асуудлууд илэрсэн гэдгийг тэмдэглэх нь зүйтэй энэ системҮүнийг үнэхээр чухал өгөгдлийг хадгалахын тулд ашиглахыг зөвлөдөггүй.

ECRYPTFS
eCryptFS-ийг Ubuntu-д гэрийн лавлахыг хамгаалах үндсэн хэрэгсэл болгон ашигладаг нь мэдэгдэж байна. Энэ нь хэрхэн ажилладагийг харцгаая - шифрлэгдсэн лавлахыг гараар үүсгэцгээе. Багцуудыг суулгацгаая:

eCryptFS үүсгэх

Мөн файлын системийг холбоно уу (эхний холболтын үед шаардлагатай бүх мета өгөгдөл үүсдэг):

$ sudo mount - t ecryptfs / home / rom / . нууц/гэр/ром/нууц

Танаас нэвтрэх үг асуух болно (зөвхөн нэг удаа, давтан оруулга хийгдээгүй, энэ нь тийм ч сайн харагдахгүй байна) сайн шийдвэр, энэ нь урт байх ёстойг харгалзан үзвэл) дараа нь шифрийн төрөл (AES, Blowfish, 3DES, Twofish, CAST6 болон CAST5), түлхүүрийн хэмжээ, лавлах дахь шифрлэгдээгүй файлуудыг зөвшөөрөх эсвэл татгалзах эсэхийг асуух болно. шифрлэгдсэн, файлын нэрийг шифрлэх эсэх ... эцэст нь бид гарын үсгээ тодорхой файлд холбож, хадгалахыг үнэхээр хүсч байгаа эсэхийг асуух болно. Асуулт нь эхлээд харахад тийм ч тэнэг биш юм: энэ програм хангамжид гарын үсэг байхгүй тохиолдолд зөв нууц үгийг буруугаас ялгах арга байхгүй.

Хэрэглэгчийн гэрийн лавлахыг шифрлэх

Эхний эхлүүлэх үед та хэд хэдэн процессыг зогсоох шаардлагатай байж магадгүй юм. Шифрлэлт хийсний дараа та тэр даруй хэрэглэгчээр нэвтрэх шаардлагатай бөгөөд шифрлэлтэд зориулж үүсгэсэн нууц үгээ бичих буюу хэвлэхийг хүсэх бөгөөд эргээд хэрэглэгчийн нууц үгээр хамгаалагдана. Энэ нь яаралтай тусламжийн үед сэргээхэд зайлшгүй шаардлагатай.


Нууц үгээ санахыг анхааруулж байна

Үүнийг хэрхэн сэргээхийг харцгаая. Нууц үг бичигдээгүй бөгөөд сэргээлт нь Live CD-ээс хийгдсэн гэж үзье. Файлын системийг суурилуулсан гэж үздэг. home/.ecryptfs/rom/.ecryptfs лавлах руу очоод дараах тушаалыг бичнэ үү.

dm-баталгаажуулах
dm-verify модуль нь блок төхөөрөмжүүдийн бүрэн бүтэн байдлыг шалгах зориулалттай. Баталгаажуулалт нь хэш модыг ашиглан хийгддэг бөгөөд "навч" нь блокуудын хэш нийлбэр, "салбар" нь "навч" -ын багцын хэш нийлбэр юм. Тиймээс блок төхөөрөмжийг (энэ нь хуваалт эсвэл диск эсэхээс үл хамааран) шалгахын тулд зөвхөн нэг шалгах нийлбэрийг шалгахад хангалттай.
Энэ механизм (хамтдаа цахим гарын үсэг) нь зарим Андройд төхөөрөмжүүдэд системийн хуваалтуудыг өөрчлөхөөс хамгаалах зорилгоор, мөн Google Chromium үйлдлийн системд ашиглагддаг.

ДҮГНЭЛТ
Линукс нь үнэндээ криптографийн мэдээллийг хамгаалах маш олон хэрэгслийг агуулдаг. Тайлбарласан гурван хэрэгслээс дор хаяж нэг нь орчин үеийн бүх Линукс түгээлтэд байдаг. Гэхдээ юу сонгох вэ?
dm-crypt/LUKSЭнэ нь шифрлэгдсэн эзлэхүүнийг хурдан идэвхгүй болгох боломжтой, нөөц хуулбар шаардлагагүй эсвэл өөр ангилалд хамаарах тохиолдолд ашиглах ёстой. Энэ тохиолдолд энэ шийдвэрилүү үр дүнтэй, ялангуяа шифрлэлтийг дурын үүр, төрлөөр (жишээлбэл, AES-Twofish-AES) хийж болно гэдгийг харгалзан үзвэл - жинхэнэ диваажин
паранойдын хувьд.
eCryptFSшифрлэгдсэн өгөгдлийг хаа нэг газар, жишээлбэл, үүлэн дээр хадгалах шаардлагатай тохиолдолд тохиромжтой. Энэ нь нэлээд хүчтэй шифрлэлтээр хангадаг (хэдийгээр анхдагч 128 битийн сонголт нь криптографийн хүчийг хоёр битээр бууруулах боломжтой) бөгөөд эцсийн хэрэглэгчдэд ил тод байдаг.
EncFSгэхдээ энэ нь бүр эртний бүтээлүүд дээр үндэслэсэн арав орчим жилийн өмнөх хөгшин хүн юм. Аюулгүй байдлын боломжит цоорхойн улмаас одоогоор ашиглахыг зөвлөдөггүй ч үүлэн доторх эмзэг бус өгөгдлийг хамгаалах платформ хоорондын хэрэгсэл болгон ашиглаж болно.

Хэрэв та ийм хэрэгслийг ашиглах шаардлагатай бол хамгаалалт нь цогц байх ёстой гэдгийг үргэлж санаж байх хэрэгтэй.

Диск (TrueCrypt). GRUB2-д шифрлэлтийн дэмжлэг нэмэх ажил байсныг би мэдэж байгаа ч энэ нь хараахан бэлэн болоогүй байна. Өөр сонголт байна уу?

(Би энд бүрэн дискний шифрлэлтийг хэлж байна гэдгийг анхаарна уу, үүнд / ачаалах)

Ихэнх хариултууд /boot нь шифрлэгдээгүй тохиргоог тайлбарладаг бөгөөд зарим нь яагаад шифрлэгдээгүй /boot зүгээр байх ёстойг тайлбарлахыг оролддог.

Би яагаад шифрлэгдэх /boot хэрэгтэй байгаа талаар маргалгүйгээр GRUB2-ийн өөрчилсөн хувилбар дээр тулгуурлан надад яг юу хэрэгтэйг тайлбарласан нийтлэлийг энд оруулав.

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

Асуудал нь эдгээр өөрчлөлтүүд нь одоогийн GRUB2 кодын санд дэмжигддэггүй (эсвэл надад ямар нэг зүйл дутуу байж магадгүй) байгаа юм.

8 Шийдэл нь "Бүрэн дискний шифрлэлтийг дэмждэг Линукс ачаалагч?"

GRUB2-ийн одоогийн хувилбар нь LUKS хуваалтыг дангаар нь ачаалах, тайлахыг дэмждэггүй гэж би бодож байна (энэ нь зарим шифр агуулсан боловч тэдгээрийг зөвхөн нууц үгийн дэмжлэгт ашигладаг гэж бодож байна). Би туршилтын хөгжүүлэлтийн салбарыг шалгаж чадахгүй байна, гэхдээ GRUB хуудсан дээр таны хийхийг хүсч буй зүйлийг хэрэгжүүлэхээр төлөвлөж байгаа зарим зөвлөмжүүд байна.

Шинэчлэлт (2015) : Хамгийн сүүлийн үеийн хувилбар GRUB2 (2.00) нь шифрлэгдсэн LUKS болон GELI хуваалтуудад хандах кодыг аль хэдийн агуулж байна. (OP-ийн өгсөн xercestch.com холбоос нь үүнийг засах анхны засваруудыг дурдсан боловч одоо хамгийн сүүлийн хувилбарт орсон болно).

Гэсэн хэдий ч, хэрэв та аюулгүй байдлын үүднээс дискийг бүхэлд нь шифрлэх гэж байгаа бол шифрлэгдээгүй ачаалагч (TrueCrypt, BitLocker эсвэл өөрчилсөн GRUB гэх мэт) нь шифрлэгдээгүй / ачаалах хуваалтаас илүү хамгаалалт өгөхгүй гэдгийг анхаарна уу (SP-ийн хэлсэнчлэн). дээрх тайлбар дээр). Компьютерт биечлэн хандах боломжтой хэн ч үүнийг өөрчлөн тохируулсан хувилбараар хялбархан сольж болно. Энэ нь таны холбосон xercestech.com нийтлэлд ч дурдсан байдаг:

Тодруулж хэлбэл, энэ нь таны системийг офлайн халдлагад өртөмтгий болгодоггүй; хэрвээ халдагчид таны ачаалагчийг өөрийн кодоор солих эсвэл өөрийн кодыг ачаалах процессыг дахин чиглүүлбэл таны систем эвдэрсэн хэвээр байх болно.

Бүх програм хангамжийн бүтээгдэхүүнд зориулагдсан болохыг анхаарна уу бүрэн шифрлэлтхөтчүүд нь шифрлэгдээгүй ачаалагч эсвэл шифрлэгдээгүй ачаалах/өмнө ачаалах хуваалт ашигладаг эсэхээс үл хамааран ийм сул талтай байдаг. BitLocker гэх мэт TPM (Итгэмжлэгдсэн платформ модуль) чипийг дэмждэг бүтээгдэхүүнийг хүртэл техник хангамжийг өөрчлөхгүйгээр хэрэгжүүлэх боломжтой.

Илүү сайн арга бол:

  1. BIOS түвшинд шифрийг тайлах (in эх хавтандискний адаптер эсвэл гадаад техник хангамж дээр [ухаалаг карт], TPM чиптэй эсвэл чипгүй), эсвэл
  2. зөөврийн төхөөрөмж (ухаалаг карт эсвэл USB драйв гэх мэт) дээр PBA (ачаалахаас өмнөх зөвшөөрөл) зөвшөөрлийн кодыг (энэ тохиолдолд ачаалах хэсэг) авч явах.

Үүнийг хоёрдахь аргаар хийхийн тулд та Linux бүрэн дискний шифрлэлт (LFDE) төслийг http://lfde.org/ хаягаар шалгаж болно. Энэ нь /ачаалах хуваалтыг гадаад USB драйв руу зөөх суулгацын дараах скриптийг өгдөг. Түлхүүрийг GPG-ээр шифрлэж, USB дээр хадгална. Ингэснээр ачаалах замын сул хэсэг (шифрлэгдээгүй / ачаалах хэсэг) үргэлж тантай хамт байх болно (та шифр тайлах код болон түлхүүрт физик хандалт хийх цорын ганц хүн байх болно). ( Анхаарна уу: Энэ сайт алдагдсан бөгөөд зохиогчийн блог мөн алга болсон, гэхдээ та хуучин файлуудыг https://github.com/mv-code/lfde хаягаас олж болно, хамгийн сүүлийн хөгжүүлэлт нь 6 жилийн өмнө хийгдсэн гэдгийг тэмдэглэх нь зүйтэй). Илүү хялбар хувилбар болгон та үйлдлийн системийг суулгахдаа USB драйв дээр шифрлэгдээгүй ачаалах хуваалтыг суулгаж болно.

Хүндэтгэсэн, M.V.

Эхний RAMdisk болон /boot хавтасаа шифрлээгүй болго.

Энэ нь драйверууд болон "жинхэнэ" үндэс рүү шилжих дэмжлэг бүхий "хамгийн бага" цөмийг гаргаж ирэх болно Файлын систем, энэ нь шифрлэгдсэн байна.

"Энэ бол хакердсан" гэж зарлахаасаа өмнө ихэнхийг нь (бүгд биш бол) санаарай. Линукс түгээлтүүдӨнөөдөр анхдагчаар ачаалагдсан. Энэ нь таны системийг файлын системээс ачаалах шаардлагатай модулиудыг ашиглан root FS-г ачаалах, ачаалах боломжийг олгодог. (Тахиа, өндөгний асуудал). Жишээлбэл, хэрэв таны үндсэн файлын систем техник хангамжийн RAID эзлэхүүн дээр байсан бөгөөд та root FS-г холбохоос өмнө түүний драйверийг ачаалах шаардлагатай байсан бол.

Би таны оруулсан холбоосыг харлаа - хэдийгээр ачаалах хуваалт байхгүй ч гэсэн хатуу дискэнд нэвтэрч, хорлонтой халдлагад өртөж болох шифрлэгдээгүй ачаалагч хэвээр байна. Хатуу диск дээр шифрлэгдээгүй өгөгдөл байхгүй ижил төстэй тохиргоог би хайж байсан ч одоог хүртэл би ачаалагчийг зөөврийн дискнээс л ажиллуулж чадсан.

Тэдгээрийн ихэнх нь танд хамгийн түрүүнд шифрлэгдсэн HD-тэй үйлдлийн систем суулгах заавар хэрэгтэй гэдэгт би итгэдэг.

Ubuntu-д шифрлэгдсэн хуваалт, LMVP, хавтас гэх мэтийг хэрхэн үүсгэх зааварчилгаа бүхий сайн хуудас бий, зөвхөн таны түгээлтийн хувилбар...

Үгүй ээ, үгүй ​​гэж бодож байна.

Та үнэхээр шифрлэх/татаж авах шаардлагатай юу? Үгүй гэж сэжиглэж байна. Файлын системийн бусад хэсгийг /boot доторх initramfs-д байрлах энгийн Линукс программ хангамжаар шифрлэх боломжтой бөгөөд үүний дагуу хэрэглэгчийг санал болгодог.

Хийж болдоггүй юм асуугаад харьцуулаад байх шиг байна Windows шийдэл, аль хэрэгжилтийг чамаас нууж,гэхдээ үнэндээ Линукстэй ижил зүйлийг хийдэг.

Миний бодож байгаа хамгийн ойрын шийдэл бол ашиглах явдал юм 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-г өөрийн цэстэй ачаалах гэх мэт.

Анхааруулга: Grub2 хувилбар 2.02~beta2 нь cryptomount командтай холбоотой зарим алдаа (Grub2 хувилбар 2.02~beta3 дээр зассан бололтой) байгаа тул үүнийг хийх боломжгүй...

Миний ярьж байгаа бета2 алдаанууд нь:

  1. Энэ нь үнэндээ шифрлэгдсэн хуваалтыг холбодоггүй тул танд (crypto0)/* хандахыг зөвшөөрөхгүй.
  2. Хэрэв нэгээс олон шифрлэгдсэн хуваалт байгаа бол cryptomount -a-г ашиглахад зөвхөн нэг нэвтрэх үг шаардлагатай
  3. Cryptomount-г ажиллуулсны дараа дахин ажиллавал юу ч хийхгүй

бета 3 дээр:

  1. Энэ нь шифрлэгдсэн хуваалтыг холбож өгдөг бөгөөд хэрэв нэгээс олон нэгэн зэрэг холбогдсон бол (crypto0)/* эсвэл (crypto1)/* гэх мэтээр дамжуулан файлд хандах боломжийг олгодог.
  2. Энэ нь нэвтрэх үг бүрийг асуудаг (шифрлэгдсэн хэсэг бүрээс нэг)
  3. Энэ нь танд үүнийг хэдэн ч удаа ажиллуулах боломжийг олгоно, та нэгийг суулгаж, дараа нь нөгөөг нь суулгаж болно.

Хажуугийн тэмдэглэл: Өөр эсвэл ижил grub2/бусад гэх мэт ачаалагчийг дахин ачаалах, ачаалахаас өөр тэдгээрийг хэрхэн салгахаа бодож амжаагүй байна.

Энэ нь асуудлыг шийдвэрлэхэд тусална гэж найдаж байна, мөн Grub2 2.02~beta3 хувилбарыг LiveCD-д нэгтгэснээр бид үүнийг өөрсдөө эмхэтгэх шаардлагагүйгээр суулгаж чадна гэж найдаж байна.

PD: Super Grub 2 дискний хувьд би Grub2 2.02~beta3 хувилбарыг суулгах арга замыг олж харахгүй байна. MBR хуваалт/ачаалах гэх мэт.

Та өгөгдлөө бусдын нүднээс нуухыг хүсч байна уу? Бид танд хатуу дискний шифрлэлтийн арга техникийг заах болно.

Ард нь Өнгөрсөн жилИнтернэт мэдээллийн аюулгүй байдлын сэдэв нь ихэвчлэн гарч ирдэг: эхлээд Сноудены илчлэлттэй холбоотой, дараа нь OpenSSL (Heartbleed bug) дахь эмзэг байдлын тухай. Сүүлчийнхээс өмнөхөн GnuTLS-д бага мэдэгдэхүйц алдаа илэрсэн. Үүний үр дүнд бид устгасан мэдээллийн аюулгүй байдалд илүү анхаарал хандуулж эхэлсэн; Харин бидний дискэнд хадгалагдсан зүйлсийн талаар юу хэлэх вэ?

Төхөөрөмжийн стекийг блоклох

Шифрлэлттэй танилцахаас өмнө блок төхөөрөмж хэрхэн ажилладагийг ойлгох нь чухал. Эдгээр нь /dev/sda гэх мэт хадгалах төхөөрөмжүүдийн системийн интерфейс юм! Блок төхөөрөмжийн дотор SATA гэх мэт техник хангамжийн драйвер болон техник хангамж нь өөрөө байдаг. Дараа нь үйлдлийн систем нь блок төхөөрөмжтэй харилцаж, түүн дээр файлын системийг үүсгэдэг.

Блок төхөөрөмжийг ихэвчлэн энэ хүчин чадалд тооцдог боловч тэдгээр нь бусад функцтэй байдаг. Ялангуяа ийм төхөөрөмж нь бусад хэд хэдэн блок төхөөрөмжүүдийн интерфейс байж болно - тэдгээр нь стек үүсгэж болно. Мөн та үүнийг аль хэдийн хийсэн байна: танд /dev/sda1 (дискний хуваалт) дээр файлын систем байгаа бөгөөд энэ блок төхөөрөмж нь /dev/sda (бүхэл бүтэн диск) руу чиглэнэ.

RAID болон LVM (Logical Volume Management) зэрэг технологиуд нь блок төхөөрөмжийн стек юм. Та дээр нь LVM байж магадгүй RAID массив, энэ нь эргээд тусдаа диск эсвэл тэдгээрийн хуваалтуудын блок төхөөрөмж дээр байрладаг.

dm-crypt бүхий бүхэл төхөөрөмжийн шифрлэлт нь дараах байдлаар ажилладаг: блок төхөөрөмж нь таны хадгалах хэрэгсэлд тулгуурлан бүтээгдсэн бөгөөд энэ нь өгөгдлийг хадгалах үед шифрлэж, унших үед шифрлэлтийг тайлдаг. Дараа нь та шифрлэгдсэн төхөөрөмж дээр стандарт файлын системийг холбох ба энэ нь ердийн дискний хуваалт шиг ажилладаг.

Олон түгээлтийг шифрлэгдсэн дискэн дээр суулгаж болох боловч суулгагчийн гүйцэтгэдэг хар ид шидийг хөндөхгүйгээр бид dm-crypt төхөөрөмжүүдийг үүсгэх, ажиллуулахыг шууд үзэх болно. Dm-crypt нь цөмийн төхөөрөмжийн зураглалын дэд системийг шифрлэх зорилгоор цөмийн криптограф функц бүхий блок төхөөрөмжүүдийг удирдахад ашигладаг.

Бүх зүйл цөмөөр хийгддэг боловч хэрэглэгчийн түвшинд dm-crypt төхөөрөмж үүсгэх, удирдах програм хангамж хэрэгтэй; үүн шиг стандарт хэрэгсэл cryptsetup гэсэн үгийн товчлол юм. Энэ нь таны түгээлт дээр аль хэдийн суулгасан байх; хэрэв үгүй ​​бол энэ нь үндсэн агуулахад байх нь гарцаагүй.

Шифрлэлт

Өгөгдмөл утгууд нь ихэвчлэн хангалттай байдаг бөгөөд бүгдээрээ боломжтой сонголтууд cryptsetup -help ашиглан үзэх боломжтой Эдгээр сонголтууд нь зөвхөн LuksFormat-д хэрэгтэй. Аюулгүй төхөөрөмж үүсгэх үед cryptsetup автоматаар ашигладаг зөв тохиргооүүнийг нээх.

Хэрэв танд өөр зүйл сонгох илүү сайн шалтгаан байхгүй бол алдартай шифр, хэшийг ашиглах нь дээр. Бага ашигладаг аргууд нь бага туршигдсан учраас нуугдмал дутагдалтай байж болох бөгөөд энэ нь саяхан Crypsetup-ийн ашигладаг libcgrypt номын санд Whirlpool хэш хэрэгжилтэд тохиолдсон явдал юм. Залруулга хийх үед аль хэдийн гэмтэлтэй хэш ашиглаж байсан системүүд нөлөөлсөн.

Уламжлалт аргыг хэрэглэх өөр нэг шалтгаан нь зөөврийн чадвар юм. Энэ нь дотоод дискний хувьд чухал биш боловч хэрэв та шифрлэгдсэн дискийг өөр систем дээр ашиглахыг хүсвэл ижил хэш болон шифрийг тэнд суулгасан байх ёстой.

ЛУКС

ЛУКС— Линуксийн нэгдсэн түлхүүрийн тохиргоо нь дискэн дээр шифрлэгдсэн өгөгдлийг хадгалах стандарт, хөндлөн платформ (нэрийг үл харгалзан) форматаар хангах зорилгоор бүтээгдсэн. Энэ нь шифрлэлтийн аргууд биш, харин тэдгээрийн талаарх мэдээллийг хадгалах арга замд хамаатай.

Тэр бас илүү найдвартай аргаар dm-crypt арга нь хакердахад өртөмтгий тул түлхүүр эсвэл нууц үг хадгалах. LUKS нь хөндлөн платформ учраас шифрлэгдсэн төхөөрөмжүүдэд Windows-оос .

Компьютер дээр чухал мэдээллийг хадгалдаг хүмүүст аюулгүй байдал, нууцлал маш чухал байдаг. Таны гэрийн компьютераюулгүй боловч зөөврийн компьютер эсвэл бусад зөөврийн төхөөрөмжүүдийн хувьд нөхцөл байдал огт өөр байна. Хэрэв та зөөврийн компьютерээ бараг хаа сайгүй авч явдаг бөгөөд зөвшөөрөлгүй хүмүүс түүнд нэвтрэх боломжтой бол бусад хүмүүсийн хөндлөнгийн оролцооноос мэдээллээ хэрхэн хамгаалах вэ гэсэн асуулт гарч ирнэ. Энэ нь физик халдлагаас үүдэлтэй бөгөөд хэн ч мэдээлэл авахыг оролдож болно USB санах ойэсвэл хатуу дискзөөврийн компьютерын хувьд төхөөрөмжийг зүгээр л салгаж, эсвэл зөөврийн компьютерын хувьд хатуу дискийг салгаж, өөр үйлдлийн системд холбоно.

Олон аж ахуйн нэгж, тэр ч байтугай энгийн хэрэглэгчидҮйлчлүүлэгчийн мэдээлэл, файл, холбогдох мэдээлэлболон бусад олон. Линукс үйлдлийн систем нь хуваалтууд, тусдаа лавлахууд эсвэл хатуу дискийг бүхэлд нь хамгаалах хэд хэдэн криптографийн аргыг дэмждэг. Эдгээр аргуудын аль нэг дэх бүх өгөгдлийг автоматаар шифрлэж, шууд шифрлэнэ.

Файлын системийн түвшний шифрлэлт:

  • 1. eCryptfs- энэ бол криптограф файл юм Линукс систем. Энэ нь файл бүрийн криптограф мета өгөгдлийг хадгалдаг тусдаа файл, ингэснээр файлуудыг компьютер хооронд хуулж болно. Хэрэв танд түлхүүр байгаа бол файл амжилттай шифрлэгдэх болно. Энэ шийдэл нь жишээлбэл Ubuntu дээр шифрлэгдсэн гэрийн лавлахыг хэрэгжүүлэхэд өргөн хэрэглэгддэг. Мөн ChromeOS нь эдгээр алгоритмуудыг ашиглах үед ил тод байдлаар суулгадаг сүлжээний төхөөрөмжүүдөгөгдөл хадгалах зориулалттай (NAS).
  • 2.EncFS- хэрэглэгчийн орон зайд шифрлэгдсэн файлын системийг хангадаг. Энэ нь ямар ч нэмэлт эрхгүйгээр ажилладаг бөгөөд файлын системийн интерфэйсийг хангахын тулд гал хамгаалагчийн сан болон цөмийн модулийг ашигладаг. EncFS нь үнэгүй програм хангамж бөгөөд GPL-ийн дагуу лицензтэй.

Төхөөрөмжийн түвшний блок шифрлэлт:

  • Давталт-AES- хурдан бөгөөд ил тод файлын систем, түүнчлэн Линукс дээр своп хуваалтыг шифрлэх багц. Програмын эх код өөрчлөгдөөгүй удаж байна. Энэ нь 4.x, 3.x, 2.2, 2.0 цөмтэй ажилладаг.
  • TrueCrypt- Энэ үнэгүй шийдэлнээлттэй эх кодҮйлдлийн өрөөнд дискний шифрлэлт хийх зориулалттай Windows системүүд 7 / Vista / XP / Mac OS X, түүнчлэн Линукс.
  • dm-crypt+LUKS- dm-crypt нь цөмийн 2.6 болон түүнээс хойшхи хувилбаруудад дискний шифрлэлтийн ил тод дэд систем юм. Бүх диск, зөөврийн зөөвөрлөгч, хуваалт, RAID эзлэхүүний шифрлэлтийг дэмждэг. програм хангамж, логик боть болон файлууд.

Энэхүү гарын авлагад бид Линукс дээр хатуу дискийг дискний форматаар тохируулах (LUKS) алгоритмыг ашиглан хатуу дискийг шифрлэх талаар авч үзэх болно.

LUKS хэрхэн ажилладаг вэ?

LUKS (Linux Unified Key Setup нь блок төхөөрөмжийн шифрлэлтийн протокол юм. Гэхдээ бид энэ нь хэрхэн ажилладагийг ойлгохын тулд энэ аргад ашигладаг бусад технологийг ойлгох хэрэгтэй.

Шифрлэлт хийх линукс диск dm-crypt цөмийн модулийг ашигладаг. Энэ модуль нь файлын систем болон хэрэглэгчдэд ил тод шифрлэлт бүхий /dev/mapper санд виртуал блок төхөөрөмж үүсгэх боломжийг танд олгоно. Үнэн хэрэгтээ бүх өгөгдөл шифрлэгдсэн физик хуваалт дээр байрладаг. Хэрэв хэрэглэгч виртуал төхөөрөмж рүү өгөгдөл бичихийг оролдвол шууд шифрлэж, диск рүү бичдэг; виртуал төхөөрөмжөөс унших үед урвуу үйлдлийг гүйцэтгэдэг - өгөгдлийг физик дискнээс тайлж, тодорхой текст хэлбэрээр дамжуулдаг. виртуал дискхэрэглэгч рүү. Ихэнхдээ AES аргыг шифрлэхэд ашигладаг, учир нь ихэнх нь үүнийг оновчтой болгодог. орчин үеийн процессорууд. Та зөвхөн хуваалт, дискийг төдийгүй ердийн файлуудыг дотор нь файлын систем үүсгэж, тэдгээрийг давталтын төхөөрөмж болгон холбож шифрлэх боломжтой гэдгийг анхаарах нь чухал юм.

LUKS алгоритм нь шифрлэгдсэн зөөвөрлөгчтэй ажиллахдаа ямар үйлдэл, ямар дарааллаар хийгдэхийг тодорхойлдог. LUKS болон dm-crypt модультай ажиллахын тулд Cryptsetup хэрэгслийг ашиглана уу. Бид үүнийг цаашид авч үзэх болно.

Cryptsetup хэрэгсэл

Cryptsetup хэрэгсэл нь dm-crypt модулийг ашиглан Linux хуваалтыг шифрлэхэд хялбар болгоно. Эхлээд суулгацгаая.

Debian эсвэл Ubuntu дээр энэ тушаалыг ашиглана уу:

apt-get суулгах cryptsetup

Red Hat дээр суурилсан түгээлтүүд нь дараах байдлаар харагдах болно.

yum cryptsetup-luks суулгана

Командыг ажиллуулах синтакс нь:

$ cryptsetup options үйлдлийн options_operations

Энэ хэрэгслийг ашиглан хийж болох үндсэн үйлдлүүдийг харцгаая.

  • luksFormat- luks linux шифрлэгдсэн хуваалт үүсгэх
  • luksOpen- виртуал төхөөрөмж холбоно (донг шаардлагатай)
  • luksClose- luks linux виртуал төхөөрөмжийг хаах
  • luksAddKey- шифрлэлтийн түлхүүр нэмэх
  • luksRemoveKey- шифрлэлтийн түлхүүрийг устгах
  • luksUUID- UUID хуваалтыг харуулах
  • luksDump- бий болгох нөөц хуулбар LUKS толгой

Үйлдлийн параметрүүд нь тухайн үйлдлээс хамаардаг бөгөөд ихэвчлэн энэ нь үйлдлийг гүйцэтгэх шаардлагатай физик төхөөрөмж эсвэл виртуал төхөөрөмж эсвэл хоёулаа байдаг. Одоохондоо бүх зүйл тодорхой болоогүй байгаа ч дадлага хийснээр та үүнийг ойлгох болно гэж бодож байна.

Линукс дискний шифрлэлт

Онол нь дууссан, бүх хэрэгсэл бэлэн болсон. Одоо Linux хуваалтын шифрлэлтийг харцгаая. Хатуу дискний тохиргоо руу шилжье. Энэ нь таны шифрлэх гэж буй диск эсвэл хуваалтаас бүх өгөгдлийг устгах болно гэдгийг анхаарна уу. Тиймээс хэрэв тэнд чухал өгөгдөл байгаа бол түүнийг илүү найдвартай газар хуулах нь дээр.

Хэсэг үүсгэх

Энэ жишээнд бид /dev/sda6 хуваалтыг шифрлэх болно, гэхдээ та оронд нь бүхэл бүтэн хатуу диск эсвэл тэгээр дүүргэсэн ганц файлыг ашиглаж болно. Шифрлэгдсэн хуваалт үүсгэх:

cryptsetup -y -v luksFormat /dev/sda6

АНХААРУУЛГА!
========
Энэ нь /dev/sda6 дээрх өгөгдлийг эргэлт буцалтгүй дарж бичих болно.

Чи итгэлтэй байна уу? (Том үсгээр тийм гэж бичнэ үү): YES
LUKS нэвтрэх үг оруулна уу:
Нууц үгийг баталгаажуулах:
Тушаал амжилттай.

Энэ тушаал нь хуваалтыг эхлүүлж, эхлүүлэх түлхүүр болон нууц үгийг тохируулна. Нууц үгээ дараа нь мартахгүйн тулд зааж өгнө үү.

/dev/mapper доторх dm-crypt модулийг ашиглан шинээр үүсгэсэн хуваалтыг нээхийн тулд дараах тушаалыг ажиллуулна уу, үүний тулд та luks linux шифрлэлт хийсэн нууц үгээ оруулах шаардлагатай болно.

/dev/sda6-д нэвтрэх үг оруулна уу

Одоо та luksFormat командыг ашиглан үүсгэсэн /dev/mapper/backup2 шинэ виртуал төхөөрөмжийг харж болно:

ls -l /dev/mapper/backup2

Төхөөрөмжийн төлөвийг харахын тулд дараахыг ажиллуулна уу:

cryptsetup -v статус нөөцлөх2

/dev/mapper/backup2 идэвхтэй байна.
төрөл: LUKS1
шифр: aes-cbc-essiv: sha256
түлхүүрийн хэмжээ: 256 бит
төхөөрөмж: /dev/sda6
офсет: 4096 салбар
хэмжээ: 419426304 салбар
горим: унших/бичих
Тушаал амжилттай.

Дараах тушаалын тусламжтайгаар та LUKS толгойн нөөц хуулбарыг хийх боломжтой.

cryptsetup luksDump /dev/sda6

За, хэсэг бэлэн болсон гэж хэлж болно. Хамгийн сайн тал нь та үүнийг одоо /dev лавлах дахь бусад ердийн хуваалтуудын нэгэн адил ашиглах боломжтой болсон явдал юм. Та үүнийг стандарт хэрэглүүр ашиглан форматлах, түүнд өгөгдөл бичих, файлын системийг өөрчлөх, шалгах гэх мэт боломжтой. Та зөвхөн хэмжээг өөрчлөх боломжгүй. Өөрөөр хэлбэл, нийтлэлийн эхэнд дурдсанчлан бүх зүйл бүрэн ил тод байна.

Хуваалтыг форматлаж байна

Эхлээд дискээ форматлаж үзье. Аюулгүй байхын тулд өмнө нь энэ газарт байсан бүх өгөгдлийг устгахын тулд бид шифрлэгдсэн Linux хуваалтыг тэгээр дарж бичих болно. Энэ нь санамсаргүй мэдээллийн хэмжээг нэмэгдүүлэх замаар шифрлэлтийг эвдэх магадлалыг бууруулна. Үүнийг хийхийн тулд ажиллуулна уу:

dd if=/dev/zero of=/dev/mapper/backup2

Хэрэгслийг ажиллуулахад хэдэн цаг зарцуулагдаж магадгүй бөгөөд үйл явцыг хянахын тулд pv ашиглана уу:

pv -tpreb /dev/zero | dd of=/dev/mapper/backup2 bs=128M

Процесс дууссаны дараа бид төхөөрөмжийг дурын файлын системд форматлаж болно. Жишээлбэл, үүнийг ext4 форматаар форматлацгаая:

mkfs.ext4 /dev/mapper/backup2

Таны харж байгаагаар крипт тохируулгын бүх командыг физик хуваалтад ашигладаг бол дисктэй ажиллах бусад командуудыг манай виртуаль хэсэгт ашигладаг.

Хуваалт суурилуулах

Одоо та зөвхөн үүсгэсэн файлын системийг холбож болно:

$ mount /dev/mapper/backup2 /backup2

Хуваалтыг идэвхгүй болгож байна

Бүх зүйл ажилладаг, гэхдээ төхөөрөмжийг хэрхэн идэвхгүй болгох, өгөгдлийг хамгаалах. Үүнийг хийхийн тулд ажиллуулна уу:

cryptsetup luks Нөөцлөлтийг хаах2

Дахин угсрах

LUKS Linux ашиглан шифрлэгдсэн хуваалттай дахин ажиллахын тулд та үүнийг дахин нээх хэрэгтэй.

cryptsetup luksOpen /dev/sda6 backup2

Одоо бид холбож болно:

холбох /dev/mapper/backup2 /backup2

Файлын системийн люксийг шалгана уу

Luks linux-ээр хуваалтыг нээсний дараа энэ хуваалтыг систем бусад бүхний адилаар зохицуулдаг тул та fsck хэрэгслийг ашиглаж болно.

sudo umount / нөөцлөх2

$ fsck -vy /dev/mapper/backup2

$ холбох /dev/mapper/backup2 /backu2

Нууц үг хэллэгийг өөрчлөх

Линукс дискний шифрлэлтийг тусгай нууц үгээр гүйцэтгэдэг боловч та үүнийг өөрчилж болно. Бүр илүү сайн, та найман хүртэл өөр нэвтрэх үг үүсгэх боломжтой. Өөрчлөхийн тулд дараах тушаалуудыг ажиллуулна уу. Эхлээд LUKS толгойг нөөцөлцгөөе:

cryptsetup luksDump /dev/sda6

Дараа нь шинэ түлхүүр үүсгэнэ үү:

cryptsetup luksAddKey /dev/sda6

Дурын нууц үг оруулна уу:

Түлхүүрийн үүрэнд шинэ нууц үг оруулна уу:
Нууц үгийг баталгаажуулах:

Хуучин нэгийг нь устгана уу:

cryptsetup luksRemoveKey /dev/sda6

Одоо та хуучин нууц үгээ оруулах хэрэгтэй болно.

дүгнэлт

Ингээд л та Линукс дээр хуваалтыг хэрхэн шифрлэхээ мэдэж байгаа бөгөөд энэ бүхэн хэрхэн ажилладагийг та бас ойлгож байна. Нэмж дурдахад, LUKS алгоритмыг ашиглан Линукс дээрх дискний шифрлэлт нь суулгасан системийг бүрэн шифрлэх өргөн боломжийг нээж өгдөг.

Давуу тал:

  • LUKS нь блок төхөөрөмжийг бүхэлд нь шифрлэдэг тул зөөврийн төхөөрөмжүүдийн агуулгыг хамгаалахад маш тохиромжтой. Гар утас, зөөврийн зөөвөрлөгчэсвэл хатуу дискүүдзөөврийн компьютерууд.
  • Та нөөцлөлтөө хамгаалахын тулд серверүүд дээр NAS ашиглаж болно
  • AES-NI (Advanced Encryption Standard) бүхий Intel болон AMD процессорууд нь 2.6.32-с хойш Линуксийн цөм дэх dm-crypt-д суурилсан шифрлэлтийн процессыг хурдасгах командын багцтай.
  • Своп хуваалттай бас ажилладаг тул таны зөөврийн компьютер унтах горим эсвэл ичээний горимыг бүрэн аюулгүй ашиглах боломжтой.