Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot
Diropéa pituduh sorangan pikeun enkripsi full-disk di RuNet V0.2.

Strategi koboi:

[A] enkripsi blok sistem Windows 7 tina sistem anu dipasang;
[B] Enkripsi blok sistem GNU/Linux (Debian) sistem dipasang (kaasup / boot);
[C] Konfigurasi GRUB2, panyalindungan bootloader kalayan tanda tangan digital / auténtikasi / hashing;
[D] stripping-ngancurkeun data unencrypted;
[E] cadangan universal OS énkripsi;
[F] serangan <on item [C6]> target - GRUB2 bootloader;
[G] dokuméntasi mantuan.

╭───Skema #kamar 40# :
├──╼ Windows 7 dipasang - enkripsi sistem pinuh, teu disumputkeun;
├──╼ GNU/Linux dipasang (Distribusi Debian sareng turunan) - enkripsi sistem pinuh, teu disumputkeun(/, kaasup / boot; swap);
├──╼ bootloader mandiri: VeraCrypt bootloader dipasang dina MBR, GRUB2 bootloader dipasang dina partisi nambahan;
├──╼euweuh instalasi OS / reinstallation diperlukeun;
└──╼parangkat lunak kriptografi anu dianggo: VeraCrypt; cryptsetup; GnuPG; Kuda laut; Hashdeep; GRUB2 bebas / bebas .

Skéma di luhur sawaréh ngarengsekeun masalah "boot jauh ka flash drive", ngamungkinkeun anjeun pikeun mikaresep OS énkripsi Windows / Linux sareng tukeur data liwat "saluran énkripsi" tina hiji OS ka OS anu sanés.

Urutan boot PC (salah sahiji pilihan):

  • ngahurungkeun mesin;
  • muatkeun bootloader VeraCrypt (ngasupkeun sandi nu bener bakal neruskeun boot Windows 7);
  • mencét "Esc" konci bakal muka GRUB2 boot loader;
  • GRUB2 boot loader (pilih distribution/GNU/Linux/CLI), bakal merlukeun auténtikasi tina GRUB2 superuser <login/sandi>;
  • saatos auténtikasi suksés sareng seleksi distribusi, anjeun kedah ngalebetkeun frasa sandi pikeun muka konci "/boot/initrd.img";
  • sanggeus ngasupkeun sandi bébas kasalahan, GRUB2 bakal "merlukeun" entri sandi (katilu, sandi BIOS atanapi sandi akun pamaké GNU / Linux - henteu nganggap) pikeun muka konci sareng boot GNU/Linux OS, atanapi substitusi otomatis konci rahasia (dua kecap akses + konci, atanapi sandi + konci);
  • intrusion éksternal kana konfigurasi GRUB2 bakal freeze prosés boot GNU/Linux.

Nyusahkeun? Ok, hayu urang nga-otomatisasi prosés.

Nalika ngabagi hard drive (méja MBR) Hiji PC tiasa gaduh henteu langkung ti 4 partisi utama, atanapi 3 utama sareng hiji anu diperpanjang, kitu ogé daérah anu henteu dialokasikeun. Bagian anu diperpanjang, teu siga anu utama, tiasa ngandung subbagian (drive logis = partisi ngalegaan). Dina basa sejen, "partisi ngalegaan" dina HDD ngagantikeun LVM pikeun tugas di leungeun: enkripsi sistem pinuh. Upami disk anjeun dibagi kana 4 partisi utama, anjeun kedah nganggo lvm, atanapi transformasi (kalayan pormat) bagian tina utama ka canggih, atawa bijaksana ngagunakeun sakabeh opat bagian sarta ninggalkeun sagalana sakumaha anu kasebut, meunang hasil nu dipikahoyong. Sanaos anjeun gaduh hiji partisi dina disk anjeun, Gparted bakal ngabantosan anjeun ngabagi HDD anjeun (pikeun bagian tambahan) tanpa leungitna data, tapi tetep ku pinalti leutik pikeun lampah sapertos.

Skéma perenah hard drive, nu patali jeung sakabeh artikel bakal verbalized, dibere dina tabel di handap ieu.

Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot
Méja (No. 1) tina partisi 1TB.

Anjeun ogé kedah gaduh anu sami.
sda1 - partisi utama No.. 1 NTFS (énkripsi);
sda2 - spidol bagian nambahan;
sda6 - disk logis (eta boga bootloader GRUB2 dipasang);
sda8 - swap (file swap énkripsi / henteu salawasna);
sda9 - uji disk logis;
sda5 - disk logis pikeun panasaran;
sda7 - GNU/Linux OS (dialihkeun OS ka disk logis énkripsi);
sda3 - partisi utama No.. 2 kalawan Windows 7 OS (énkripsi);
sda4 - bagian utama No.. 3 (eta ngandung GNU/Linux unencrypted, dipaké pikeun cadangan / teu salawasna).

[A] Énkripsi Blok Sistem Windows 7

A1. VeraCryptÉnkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

Unduh ti situs resmi, atawa tina eunteung sourceforge Vérsi pamasangan parangkat lunak kriptografi VeraCrypt (dina waktos publikasi artikel v1.24-Update3, versi portabel tina VeraCrypt teu cocog pikeun enkripsi sistem). Pariksa checksum tina software nu diundeur

$ Certutil -hashfile "C:VeraCrypt Setup 1.24.exe" SHA256

sareng ngabandingkeun hasilna sareng CS anu dipasang dina halaman wéb pamekar VeraCrypt.

Upami parangkat lunak HashTab dipasang, éta langkung gampang: RMB (VeraCrypt Setup 1.24.exe)-properties - jumlah hash file.

Pikeun pariksa tanda tangan program, parangkat lunak sareng konci pgp umum pamekar kedah dipasang dina sistem gnuPG; gpg4win.

A2. Masang/ngajalankeun software VeraCrypt kalawan hak administratorÉnkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

A3. Milih parameter énkripsi sistem pikeun partisi aktipVeraCrypt - Sistem - Énkripsi partisi / disk sistem - Normal - Énkripsi partisi sistem Windows - Multiboot - (peringatan: "Pamaké anu teu berpengalaman henteu disarankeun pikeun ngagunakeun metode ieu" sareng ieu leres, kami satuju "Leres") – Boot disk ("enya", sanajan henteu kitu, tetep "enya") - Jumlah disk sistem "2 atanapi langkung" - Sababaraha sistem dina hiji disk "Leres" - Bootloader non-Windows "Henteu" (sabenerna, "Leres," tapi VeraCrypt / GRUB2 boot loaders moal babagi MBR diantara sorangan; leuwih tepat, ngan bagian pangleutikna tina kode boot loader disimpen dina MBR / boot lagu, bagian utama éta. ayana dina sistem file) – Multiboot – Setélan énkripsi…

Upami anjeun nyimpang tina léngkah-léngkah di luhur (meungpeuk skéma énkripsi sistem), teras VeraCrypt bakal ngaluarkeun peringatan sareng moal ngantep anjeun énkripsi partisi.

Dina lengkah saterusna nuju panyalindungan data sasaran, ngalaksanakeun "Test" tur pilih hiji algoritma enkripsi. Upami anjeun gaduh CPU anu luntur, maka kamungkinan algoritma enkripsi anu paling gancang nyaéta Twofish. Upami CPU kuat, anjeun bakal perhatikeun bédana: enkripsi AES, dumasar kana hasil tés, bakal sababaraha kali langkung gancang tibatan pesaing crypto na. AES mangrupikeun algoritma enkripsi anu populer, parangkat keras CPU modern dioptimalkeun khusus pikeun "rahasia" sareng "hacking."

VeraCrypt ngadukung kamampuan pikeun énkripsi disk dina kaskade AES(Dua lauk)/ jeung kombinasi séjén. Dina CPU Intel inti heubeul ti sapuluh taun ka pengker (tanpa dukungan hardware pikeun AES, énkripsi kaskade A/T) Turunna kinerja dasarna teu katingali. (pikeun CPU AMD jaman anu sarua/~parameter, kinerja rada ngurangan). OS jalan dinamis sarta konsumsi sumberdaya pikeun enkripsi transparan teu katempo. Sabalikna, contona, aya panurunan nyata dina pagelaran kusabab lingkungan desktop test anu teu stabil dipasang Mate v1.20.1. (atanapi v1.20.2 Abdi henteu émut persis) dina GNU/Linux, atawa alatan operasi rutin telemétri dina Windows7↑. Biasana, pangguna ngalaman ngalaksanakeun tés kinerja hardware sateuacan énkripsi. Contona, dina Aida64/Sysbench/systemd-analyze ngalepatkeun dibandingkeun jeung hasil tes sarua sanggeus encrypting sistem, kukituna refuting mitos sorangan yén "enkripsi sistem ngabahayakeun". The slowdown tina mesin jeung kasulitan anu noticeable nalika nyadangkeun / malikkeun data énkripsi, sabab operasi "data sistem cadangan" sorangan teu diukur dina ms, sarta maranéhanana sarua <decrypt / encrypt on laleur> ditambahkeun. Pamustunganana, unggal pangguna anu diidinan ngintip sareng kriptografi nyaimbangkeun algoritma enkripsi ngalawan kapuasan tugas anu aya, tingkat paranoia, sareng betah dianggo.

Éta langkung saé pikeun ngantepkeun parameter PIM salaku standar, ku kituna nalika ngamuat OS anjeun henteu kedah ngalebetkeun nilai iterasi anu pasti unggal waktos. VeraCrypt ngagunakeun sajumlah ageung iterations pikeun nyiptakeun "hash anu lambat". Serangan kana "crypto snail" sapertos nganggo metode Brute force / rainbow tables ngan ukur nganggo frasa sandi "basajan" pondok sareng daptar charset pribadi korban. Harga pikeun mayar kakuatan sandi nyaéta reureuh dina nuliskeun sandi anu leres nalika ngamuat OS. (Pamasangan volume VeraCrypt dina GNU/Linux nyata leuwih gancang).
Parangkat lunak gratis pikeun ngalaksanakeun serangan brute force (ekstrak frasa sandi tina header disk VeraCrypt/LUKS) Hashcat. John the Ripper henteu terang kumaha "megatkeun Veracrypt", sareng nalika damel sareng LUKS henteu ngartos kriptografi Twofish.

Alatan kakuatan kriptografi algoritma enkripsi, cypherpunks unstoppable ngembang software kalawan véktor serangan béda. Contona, extracting metadata / konci tina RAM (cold boot/serangan aksés memori langsung), Aya parangkat lunak gratis sareng non-gratis khusus pikeun tujuan ieu.

Saatos parantosan nyetél / ngahasilkeun "metadata unik" tina partisi aktip énkripsi, VeraCrypt bakal nawiskeun pikeun ngamimitian deui PC sareng nguji fungsionalitas boot loader na. Saatos rebooting/ngamimitian Windows, VeraCrypt bakal dimuat dina modeu sayaga, ngan ukur pikeun mastikeun prosés enkripsi - Y.

Dina tahap ahir enkripsi sistem, VeraCrypt bakal nawiskeun ngadamel salinan cadangan tina lulugu partisi énkripsi aktip dina bentuk "veracrypt rescue disk.iso" - ieu kedah dilakukeun - dina software ieu operasi misalna hiji sarat (dina LUKS, salaku sarat - ieu hanjakalna disingkahkeun, tapi emphasized dina dokuméntasi). Nyalametkeun disk bakal datang dina gunana for everyone, jeung sababaraha leuwih ti sakali. Karugian (header/nulis ulang MBR) salinan cadangan header permanén bakal mungkir aksés ka partisi decrypted kalawan OS Windows.

A4. Nyiptakeun USB / disk nyalametkeun VeraCryptSacara standar, VeraCrypt nawiskeun pikeun ngaduruk "~ 2-3MB metadata" kana CD, tapi henteu sadayana jalma gaduh disk atanapi drive DWD-ROM, sareng nyiptakeun flash drive bootable "VeraCrypt Rescue disk" bakal kejutan téknis pikeun sababaraha: Rufus / GUIdd-ROSA ImageWriter sareng parangkat lunak anu sami moal tiasa ngatasi tugas, sabab salian ti nyalin metadata offset kana flash drive bootable, anjeun kedah nyalin / nempelkeun gambar di luar sistem file USB drive, pondok, neuleu nyalin MBR / jalan ka keychain. Anjeun tiasa nyiptakeun flash drive bootable tina GNU / Linux OS nganggo utilitas "dd", ningali tanda ieu.

Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

Nyiptakeun disk nyalametkeun dina lingkungan Windows béda. Pamekar VeraCrypt henteu ngalebetkeun solusi pikeun masalah ieu dina resmi dokuméntasi ku "nyalametkeun disk", tapi ngajukeun solusi dina cara béda: anjeunna dipasang software tambahan pikeun nyieun "usb nyalametkeun disk" pikeun aksés bébas dina forum VeraCrypt na. Arsip parangkat lunak ieu pikeun Windows nyaéta "nyiptakeun disk nyalametkeun usb veracrypt". Saatos nyimpen nyalametkeun disk.iso, prosés enkripsi sistem blok partisi aktip bakal dimimitian. Salila enkripsi, operasi OS teu eureun; Kana parantosan operasi enkripsi, partisi aktip janten pinuh énkripsi sarta bisa dipaké. Upami boot loader VeraCrypt henteu muncul nalika anjeun ngamimitian PC, sareng operasi pamulihan header henteu ngabantosan, teras pariksa bendera "boot", éta kedah disetél kana partisi dimana Windows aya. (paduli enkripsi sarta OS séjén, tingali tabel No.. 1).
Ieu ngalengkepan pedaran enkripsi sistem blok sareng OS Windows.

[B] LUKAS. énkripsi GNU/Linux (~Debian) dipasang OS. Algoritma jeung Léngkah

Pikeun énkripsi distribusi Debian / turunan anu dipasang, anjeun kedah petakeun partisi anu disiapkeun kana alat blok virtual, mindahkeun kana disk GNU / Linux anu dipetakeun, sareng pasang / konfigurasi GRUB2. Mun anjeun teu mibanda server logam bulistir, jeung anjeun hargana waktos Anjeun, mangka anjeun kudu make GUI, sarta lolobana paréntah terminal dijelaskeun di handap ieu dimaksudkeun pikeun ngajalankeun dina "mode Chuck-Norris".

B1. Booting PC tina live usb GNU/Linux

"Ngalaksanakeun tés crypto pikeun pagelaran hardware"

lscpu && сryptsetup benchmark

Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

Mun anjeun nu boga senang tina mobil kuat kalawan rojongan hardware AES, lajeng angka bakal kasampak kawas sisi katuhu terminal lamun anjeun boga senang, tapi kalawan hardware antik, angka bakal kasampak kawas sisi kénca.

B2. Ngabagi disk. ningkatna / pormat fs disk logis HDD ka Ext4 (Gparted)

B2.1. Nyiptakeun lulugu partisi sda7 énkripsiKuring bakal ngajelaskeun nami partisi, di dieu sareng salajengna, saluyu sareng tabel partisi anu dipasang di luhur. Numutkeun perenah disk anjeun, anjeun kedah ngagentos nami partisi anjeun.

Logis Drive Énkripsi Mapping (/dev/sda7 > /dev/mapper/sda7_crypt).
# Gampang nyiptakeun "partisi LUKS-AES-XTS"

cryptsetup -v -y luksFormat /dev/sda7

Pilihan:

* luksFormat - initialization tina lulugu LUKS;
* -y -passphrase (sanes konci / file);
* -v -verbalization (nembongkeun informasi dina terminal);
* / dev / sda7 - disk logis anjeun tina partisi nambahan (dimana rencanana pikeun mindahkeun / énkripsi GNU / Linux).

Algoritma énkripsi standar <LUKS1: aes-xts-plain64, Konci: 256 bit, LUKS header hashing: sha256, RNG: /dev/urandom> (gumantung kana versi cryptsetup).

#Проверка default-алгоритма шифрования
cryptsetup  --help #самая последняя строка в выводе терминала.

Mun euweuh rojongan hardware pikeun AES on CPU, pilihan pangalusna bakal nyieun hiji nambahan "LUKS-Twofish-XTS-partisi".

B2.2. Penciptaan canggih "LUKS-Twofish-XTS-partisi"

cryptsetup luksFormat /dev/sda7 -v -y -c twofish-xts-plain64 -s 512 -h sha512 -i 1500 --use-urandom

Pilihan:
* luksFormat - initialization tina lulugu LUKS;
* / dev / sda7 nyaéta disk logis énkripsi masa depan anjeun;
* -v verbalization;
* -y kecap akses;
* -c pilih algoritma énkripsi data;
* -s ukuran konci enkripsi;
* -h algoritma hashing / fungsi crypto, RNG dipaké (--make-urandom) pikeun ngahasilkeun konci enkripsi / dekripsi unik pikeun header disk logis, konci lulugu sekundér (XTS); Konci master unik anu disimpen dina header disk énkripsi, konci XTS sekundér, sadaya metadata ieu sareng rutin énkripsi anu, ngagunakeun konci master sareng konci XTS sekundér, énkripsi / ngadekrip data naon waé dina partisi. (iwal judul bagian) disimpen dina ~ 3MB dina partisi hard disk anu dipilih.
* -i iterations dina milliseconds, tinimbang "jumlah" (waktu reureuh nalika ngolah frasa sandi mangaruhan kana beban OS sareng kakuatan kriptografi konci). Pikeun ngajaga kasaimbangan kakuatan kriptografi, ku sandi basajan kawas "Rusia" Anjeun kudu ningkatkeun nilai -(i) ku kecap akses kompléks kawas "?8dƱob/øfh" nilai bisa turun.
* -generator angka acak make-urandom, ngahasilkeun konci sareng uyah.

Saatos pemetaan bagian sda7> sda7_crypt (Operasina gancang, sabab lulugu énkripsi didamel ku ~3 MB metadata sareng éta waé), anjeun kedah pormat sareng masang sistem file sda7_crypt.

B2.3. Babandingan

cryptsetup open /dev/sda7 sda7_crypt
#выполнение данной команды запрашивает ввод секретной парольной фразы.

pilihan:
* kabuka - cocog sareng bagian "kalayan nami";
* / dev / sda7 -logis disk;
* sda7_crypt - pemetaan ngaran anu dipaké pikeun masang partisi énkripsi atanapi initialize nalika OS boot.

B2.4. Pormat sistem file sda7_crypt kana ext4. Masang disk dina OS(Catetan: anjeun moal tiasa damel sareng partisi énkripsi di Gparted)

#форматирование блочного шифрованного устройства
mkfs.ext4 -v -L DebSHIFR /dev/mapper/sda7_crypt 

pilihan:
* -v -verbalization;
* -L - labél drive (anu dipintonkeun dina Explorer diantara drive séjén).

Salajengna, anjeun kedah pasang alat blok énkripsi virtual / dev / sda7_crypt kana sistem

mount /dev/mapper/sda7_crypt /mnt

Gawe sareng file dina folder / mnt otomatis bakal encrypt / ngadekrip data dina sda7.

Éta langkung saé pikeun peta sareng pasang partisi dina Explorer (nautilus/caja GUI), partisi bakal geus aya dina daptar pilihan disk, ngan ukur ngasupkeun frasa sandi pikeun muka / ngadekrip disk. Ngaran anu cocog bakal dipilih sacara otomatis sareng sanés "sda7_crypt", tapi sapertos /dev/mapper/Luks-xx-xx...

B2.5. Cadangan header disc (~ 3MB metadata)Salah sahiji anu pang penting operasi anu kedah dilakukeun tanpa reureuh - salinan cadangan tina header "sda7_crypt". Upami anjeun nimpa / ngarusak header (contona, masang GRUB2 dina partisi sda7, jsb.), data énkripsi bakal leungit lengkep tanpa kamungkinan cageur deui, sabab bakal mustahil pikeun ngahasilkeun deui konci anu sami;

#Бэкап заголовка раздела
cryptsetup luksHeaderBackup --header-backup-file ~/Бэкап_DebSHIFR /dev/sda7 

#Восстановление заголовка раздела
cryptsetup luksHeaderRestore --header-backup-file <file> <device>

pilihan:
* luksHeaderBackup —header-backup-file -backup paréntah;
* luksHeaderRestore —header-backup-file -restore paréntah;
* ~/Backup_DebSHIFR - file cadangan;
* / dev / sda7 - partisi anu énkripsi salinan cadangan header disk anu bakal disimpen.
Dina léngkah ieu <nyiptakeun sareng ngédit partisi énkripsi> parantos réngsé.

B3. Porting GNU/Linux OS (sda4) ka partisi énkripsi (sda7)

Jieun folder / mnt2 (Catetan - kami masih damel sareng live usb, sda7_crypt dipasang dina / mnt), sareng pasang GNU/Linux kami dina /mnt2, anu kedah énkripsi.

mkdir /mnt2
mount /dev/sda4 /mnt2

Kami ngalaksanakeun transfer OS anu leres nganggo parangkat lunak Rsync

rsync -avlxhHX --progress /mnt2/ /mnt

Pilihan Rsync dijelaskeun dina paragraf E1.

Teras anu diperyogikeun defragment partisi disk logis

e4defrag -c /mnt/ #после проверки, e4defrag выдаст, что степень дефрагментации раздела~"0", это заблуждение, которое может вам стоить существенной потери производительности!
e4defrag /mnt/ #проводим дефрагментацию шифрованной GNU/Linux

Jieun aturan: ngalakukeun e4defrag on énkripsi GNU / LInux ti jaman ka jaman lamun boga HDD a.
Transfer sareng sinkronisasi [GNU/Linux> GNU/Linux-énkripsi] parantos réngsé dina léngkah ieu.

AT 4. Nyetél GNU/Linux dina partisi sda7 énkripsi

Saatos suksés mindahkeun OS / dev / sda4> / dev / sda7, anjeun kedah lebet kana GNU / Linux dina partisi énkripsi sareng ngalaksanakeun konfigurasi salajengna. (tanpa rebooting PC) relatif ka sistem énkripsi. Nyaéta, janten dina usb langsung, tapi laksanakeun paréntah "relatif ka akar OS énkripsi." "chroot" bakal simulate kaayaan sarupa. Pikeun gancang nampi inpormasi ngeunaan OS anu anjeun damel ayeuna (Énkripsi atanapi henteu, sabab data dina sda4 sareng sda7 disingkronkeun), desynchronize OS. Jieun dina diréktori akar (sda4/sda7_crypt) file spidol kosong, contona, / mnt / encryptedOS jeung / mnt2 / decryptedOS. Gancang parios naon OS anjeun dina (kaasup keur mangsa nu bakal datang):

ls /<Tab-Tab>

B4.1. "Simulasi asup kana OS énkripsi"

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt

B4.2. Verifikasi yén pagawéan dilaksanakeun ngalawan sistem énkripsi

ls /mnt<Tab-Tab> 
#и видим файл "/шифрованнаяОС"

history
#в выводе терминала должна появиться история команд su рабочей ОС.

B4.3. Nyiptakeun / ngonpigurasikeun swap énkripsi, ngédit crypttab / fstabKusabab file swap diformat unggal waktos OS dimimitian, teu aya rasa pikeun nyieun jeung peta swap kana disk logis ayeuna, sarta paréntah tipe sakumaha dina paragraf B2.2. Pikeun Swap, konci enkripsi samentara sorangan bakal otomatis dihasilkeun dina unggal ngamimitian. Daur hirup konci swap: unmounting / unmounting partisi swap (+ngabersihkeun RAM); atanapi balikan deui OS. Nyetel swap, muka file anu tanggung jawab pikeun konfigurasi alat énkripsi blok (analog kana file fstab, tapi tanggung jawab pikeun crypto).

nano /etc/crypttab 

urang edit

# "ngaran target" "alat sumber" "file konci" "pilihan"
swap /dev/sda8 /dev/urandom swap,cipher=twofish-xts-plain64,ukuran=512,hash=sha512

Pilihan
* swap - nami dipetakeun nalika énkripsi / dev / mapper / swap.
* / dev / sda8 - nganggo partisi logis anjeun pikeun swap.
* /dev/urandom - generator konci énkripsi acak pikeun swap (kalawan unggal boot OS anyar, konci anyar dijieun). Generator / dev / urandom kirang acak ti / dev / acak, sanggeus kabeh / dev / acak dipaké nalika digawé dina kaayaan paranoid bahaya. Nalika ngamuat OS, /dev/random ngalambatkeun ngamuat sababaraha menit (tingali systemd-analyze).
* swap, cipher = twofish-xts-plain64, ukuran = 512, hash = sha512: -partisi weruh yén éta téh swap sarta formatna "sasuai"; algoritma énkripsi.

#Открываем и правим fstab
nano /etc/fstab

urang edit

# swap éta dina / dev / sda8 nalika dipasang
/dev/mapper/swap euweuh swap sw 0 0

/ dev / mapper / swap nyaéta nami anu disetél dina crypttab.

Swap énkripsi alternatif
Upami kusabab sababaraha alesan anjeun henteu hoyong nyerah sadayana partisi pikeun file swap, maka anjeun tiasa nganggo cara alternatif sareng langkung saé: nyiptakeun file swap dina file dina partisi énkripsi sareng OS.

fallocate -l 3G /swap #создание файла размером 3Гб (почти мгновенная операция)
chmod 600 /swap #настройка прав
mkswap /swap #из файла создаём файл подкачки
swapon /swap #включаем наш swap
free -m #проверяем, что файл подкачки активирован и работает
printf "/swap none swap sw 0 0" >> /etc/fstab #при необходимости после перезагрузки swap будет постоянный

Setélan partisi swap parantos réngsé.

B4.4. Nyetél GNU/Linux énkripsi (ngédit file crypttab/fstab)File /etc/crypttab, sakumaha anu diserat di luhur, ngajelaskeun parangkat blok énkripsi anu dikonpigurasi nalika boot sistem.

#правим /etc/crypttab 
nano /etc/crypttab 

mun anjeun cocog bagian sda7> sda7_crypt sakumaha dina paragraf B2.1

# "ngaran target" "alat sumber" "file konci" "pilihan"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

mun anjeun cocog bagian sda7> sda7_crypt sakumaha dina paragraf B2.2

# "ngaran target" "alat sumber" "file konci" "pilihan"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512

Upami anjeun cocog sareng bagian sda7>sda7_crypt sapertos dina paragraf B2.1 atanapi B2.2, tapi henteu hoyong ngalebetkeun deui kecap konci pikeun muka konci sareng boot OS, teras tinimbang kecap konci anjeun tiasa ngagentoskeun konci rahasia / file acak.

# "ngaran target" "alat sumber" "file konci" "pilihan"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

gambaran
* teu aya - ngalaporkeun yén nalika ngamuat OS, asupkeun frasa sandi rahasia diperyogikeun pikeun muka konci akar.
* UUID - identifier partisi. Pikeun manggihan ID anjeun, ngetik dina terminal (pangeling-eling yén ti ayeuna ka hareup, anjeun damel di terminal di lingkungan chroot, sareng henteu di terminal usb live anu sanés).

fdisk -l #проверка всех разделов
blkid #должно быть что-то подобное 

/dev/sda7: UUID=«81048598-5bb9-4a53-af92-f3f9e709e2f2» TYPE=«crypto_LUKS» PARTUUID=«0332d73c-07»
/dev/mapper/sda7_crypt: LABEL=«DebSHIFR» UUID=«382111a2-f993-403c-aa2e-292b5eac4780» TYPE=«ext4»

garis ieu katempo nalika requesting blkid ti terminal USB hirup kalawan sda7_crypt dipasang).
Anjeun nyandak UUID tina sdaX anjeun (sanes sdaX_crypt !, UUID sdaX_crypt - bakal otomatis ditinggalkeun nalika ngahasilkeun grub.cfg config).
* cipher = twofish-xts-plain64, ukuran = 512, Hash = enkripsi sha512 -luks dina modeu canggih.
* /etc/skey - file konci rahasia, anu diselapkeun sacara otomatis pikeun muka konci boot OS (tinimbang ngasupkeun sandi 3rd). Anjeun tiasa netepkeun file naon waé dugi ka 8MB, tapi datana bakal dibaca <1MB.

#Создание "генерация" случайного файла <секретного ключа> размером 691б.
head -c 691 /dev/urandom > /etc/skey

#Добавление секретного ключа (691б) в 7-й слот заголовка luks
cryptsetup luksAddKey --key-slot 7 /dev/sda7 /etc/skey

#Проверка слотов "пароли/ключи luks-раздела"
cryptsetup luksDump /dev/sda7 

Éta bakal katingali sapertos kieu:

(ngalakukeun eta diri tur tingal keur diri).

cryptsetup luksKillSlot /dev/sda7 7 #удаление ключа/пароля из 7 слота

/etc/fstab ngandung émbaran deskriptif ngeunaan rupa-rupa sistem file.

#Правим /etc/fstab
nano /etc/fstab

# "Sistem file" "titik gunung" "tipe" "pilihan" "dump" "pass"
# / éta dina / dev / sda7 nalika dipasang
/dev/mapper/sda7_crypt / ext4 kasalahan = remount-ro 0 1

pilihan
* /dev/mapper/sda7_crypt - nami pemetaan sda7>sda7_crypt, anu dieusian dina file /etc/crypttab.
Setélan crypttab / fstab parantos réngsé.

B4.5. Ngédit file konfigurasi. Momen konciB4.5.1. Ngédit config /etc/initramfs-tools/conf.d/resume

#Если у вас ранее был активирован swap раздел, отключите его. 
nano /etc/initramfs-tools/conf.d/resume

jeung mairan kaluar (lamun aya) "#" baris "neruskeun". Koropakna kedah kosong.

B4.5.2. Ngédit config /etc/initramfs-tools/conf.d/cryptsetup

nano /etc/initramfs-tools/conf.d/cryptsetup

kedah cocog

# /etc/initramfs-tools/conf.d/cryptsetup
CRYPTSETUP=enya
ékspor CRYPTSETUP

B4.5.3. Ngédit /etc/default/grub config (konfigurasi ieu tanggung jawab pikeun kamampuan ngahasilkeun grub.cfg nalika damel sareng énkripsi / boot)

nano /etc/default/grub

tambahkeun garis "GRUB_ENABLE_CRYPTODISK = y"
nilai 'y', grub-mkconfig sareng grub-install bakal mariksa drive énkripsi sareng ngahasilkeun paréntah tambahan anu diperyogikeun pikeun ngaksés éta dina waktos boot (insmod ).
kudu aya sasaruaanana

GRUB_DEFAULT = 0
GRUB_TIMEOUT = 1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=vendor"
GRUB_CMDLINE_LINUX = "percikan sepi noautomount"
GRUB_ENABLE_CRYPTODISK=y

B4.5.4. Ngédit config /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

pariksa yén garis ngomentaran <#>.
Dina mangsa nu bakal datang (malah kiwari, parameter ieu moal boga harti naon, tapi kadang interferes jeung ngamutahirkeun gambar initrd.img).

B4.5.5. Ngédit config /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

nambahan

KEYFILE_PATTERN=”/etc/skey”
UMASK=0077

Ieu bakal ngapak konci rusiah "skey" kana initrd.img, koncina diperyogikeun pikeun muka konci akar nalika OS boot. (upami anjeun teu hoyong asupkeun kecap akses deui, konci "skey" diganti pikeun mobil).

B4.6. Apdet /boot/initrd.img [versi]Pikeun pak konci rusiah kana initrd.img jeung nerapkeun cryptsetup fixes, update gambar

update-initramfs -u -k all

nalika ngamutahirkeun initrd.img (sakumaha aranjeunna nyarios "Ieu mungkin, tapi henteu pasti") warnings patali cryptsetup bakal muncul, atawa, contona, bewara ngeunaan leungitna modul Nvidia - ieu téh normal. Saatos ngamutahirkeun file, pariksa yen eta geus sabenerna geus diropéa, tingali waktu (relatif ka lingkungan chroot./boot/initrd.img). Awas! sateuacan [update-initramfs -u -k sadayana] pastikeun pikeun pariksa yén cryptsetup dibuka / dev / sda7 sda7_crypt - ieu nami anu muncul dina /etc/crypttab, upami henteu saatos reboot bakal aya kasalahan busybox)
Dina léngkah ieu, nyetél file konfigurasi parantos réngsé.

[C] Masang sareng ngonpigurasikeun GRUB2 / Protection

C1. Upami diperyogikeun, pormat partisi khusus pikeun bootloader (partisi peryogi sahenteuna 20MB)

mkfs.ext4 -v -L GRUB2 /dev/sda6

C2. Gunung / dev / sda6 ka / mntJanten urang damel di chroot, teras moal aya diréktori / mnt2 dina akar, sareng folder / mnt bakal kosong.
pasang partisi GRUB2

mount /dev/sda6 /mnt

Upami Anjeun gaduh versi heubeul tina GRUB2 dipasang, dina / mnt / boot / grub / i-386-pc diréktori (platform séjén mungkin, contona, teu "i386-pc") euweuh modul crypto (dina pondok, folder kudu ngandung modul, kaasup ieu .mod: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod), dina hal ieu, GRUB2 perlu shaken.

apt-get update
apt-get install grub2 

Kadé! Nalika ngamutahirkeun pakét GRUB2 tina gudang, nalika ditaros "ngeunaan milih" dimana masang bootloader, anjeun kedah nampik pamasangan. (alesan - nyobian masang GRUB2 - dina "MBR" atanapi dina USB langsung). Upami teu kitu, anjeun bakal ngaruksak VeraCrypt header / loader. Saatos ngamutahirkeun bungkusan GRUB2 sareng ngabatalkeun pamasangan, boot loader kedah dipasang sacara manual dina disk logis, sanés dina MBR. Upami gudang anjeun gaduh versi GRUB2 anu luntur, cobian apdet éta tina situs wéb resmi - henteu acan dipariksa (digarap sareng GRUB 2.02 ~ Loaders boot BetaX panganyarna).

C3. Masang GRUB2 kana partisi ngalegaan [sda6]Anjeun kedah gaduh partisi anu dipasang [item C.2]

grub-install --force --root-directory=/mnt /dev/sda6

pilihan
* —force - pamasangan bootloader, ngalangkungan sadaya peringatan anu ampir sok aya sareng ngahalangan pamasangan (bandéra diperlukeun).
* --root-directory - pamasangan diréktori kana akar sda6.
* / dev / sda6 - partisi sdaХ Anjeun (teu luput <spasi> antara / mnt / dev / sda6).

C4. Nyiptakeun file konfigurasi [grub.cfg]Poho ngeunaan paréntah "update-grub2", sareng nganggo paréntah generasi file konfigurasi lengkep

grub-mkconfig -o /mnt/boot/grub/grub.cfg

sanggeus completing generasi / Ngamutahirkeun tina file grub.cfg, terminal kaluaran kedah ngandung garis (s) jeung OS kapanggih dina disk. ("grub-mkconfig" sigana bakal mendakan sareng nyandak OS tina USB langsung, upami anjeun gaduh flash drive multiboot Windows 10 sareng sakumpulan distribusi langsung - ieu normal). Upami terminalna "kosong" sareng file "grub.cfg" henteu dihasilkeun, maka ieu mangrupikeun kasus anu sami nalika aya bug GRUB dina sistem. (sareng paling dipikaresep loader ti cabang uji gudang), pasang deui GRUB2 tina sumber anu dipercaya.
Pamasangan "konfigurasi basajan" sareng setelan GRUB2 parantos réngsé.

C5. Uji bukti pikeun GNU/Linux OS énkripsiUrang ngalengkepan misi crypto leres. Taliti ninggalkeun GNU/Linux énkripsi (kaluar lingkungan chroot).

umount -a #размонтирование всех смонтированных разделов шифрованной GNU/Linux
Ctrl+d #выход из среды chroot
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount -a #размонтирование всех смонтированных разделов на live usb
reboot

Saatos rebooting PC, bootloader VeraCrypt kedah dimuat.
Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

*Ngasupkeun sandi pikeun partisi aktip bakal ngamimitian ngamuat Windows.
*Mencét konci "Esc" bakal mindahkeun kadali kana GRUB2, upami anjeun milih GNU/Linux énkripsi - kecap akses (sda7_crypt) bakal diperyogikeun pikeun muka konci /boot/initrd.img (upami grub2 nyerat uuid "teu kapendak" - ieu mangrupikeun masalah jeung bootloader grub2, eta kudu reinstalled, misalna, ti cabang test / stabil jsb).
Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

*Gumantung kana kumaha anjeun ngonpigurasi sistem (tingali paragraf B4.4/4.5), sanggeus ngasupkeun sandi nu bener pikeun muka konci gambar /boot/initrd.img, Anjeun bakal peryogi sandi pikeun muka kernel OS / root, atawa rusiah. konci bakal otomatis diganti "skey", ngaleungitkeun kudu ngasupkeun deui passphrase.
Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot
(layar "substitusi otomatis tina konci rusiah").

* Teras prosés anu biasa pikeun ngamuat GNU/Linux sareng auténtikasi akun pangguna bakal nuturkeun.
Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

* Saatos otorisasina pangguna sareng login ka OS, anjeun kedah ngapdet deui /boot/initrd.img (tingali B4.6).

update-initramfs -u -k all

Sareng upami aya garis tambahan dina ménu GRUB2 (tina OS-m pickup sareng live usb) nyingkirkeun aranjeunna

mount /dev/sda6 /mnt
grub-mkconfig -o /mnt/boot/grub/grub.cfg

Ringkesan gancang enkripsi sistem GNU/Linux:

  • GNU/Linuxinux pinuh énkripsi, kaasup /boot/kernel jeung initrd;
  • konci rusiah ieu rangkep dina initrd.img;
  • skéma otorisasina ayeuna (ngasupkeun kecap akses pikeun muka konci initrd; kecap akses/konci pikeun boot OS; kecap akses pikeun otorisasi akun Linux).

"Konfigurasi GRUB2 Basajan" sistem enkripsi partisi blok parantos réngsé.

C6. Konfigurasi GRUB2 canggih. Perlindungan bootloader kalayan tanda tangan digital + panyalindungan auténtikasiGNU / Linux sagemblengna énkripsi, tapi bootloader teu bisa énkripsi - kaayaan ieu didikte ku mios. Ku sabab kitu, boot énkripsi ranté tina GRUB2 teu mungkin, tapi boot ranté basajan mungkin / sadia, tapi tina sudut pandang kaamanan teu perlu [tingali. P. F].
Pikeun GRUB2 "rentan", pamekar ngalaksanakeun algoritma panyalindungan bootloader "tanda tangan / auténtikasi".

  • Nalika bootloader ditangtayungan ku "signature digital sorangan," modifikasi éksternal file, atawa usaha pikeun muka modul tambahan dina bootloader ieu, bakal ngakibatkeun prosés boot diblokir.
  • Nalika ngajagi bootloader nganggo auténtikasi, pikeun milih ngamuat distribusi, atanapi ngalebetkeun paréntah tambahan dina CLI, anjeun kedah ngalebetkeun login sareng kecap akses superuser-GRUB2.

C6.1. Perlindungan auténtikasi bootloaderPariksa yén anjeun damel di terminal dina OS énkripsi

ls /<Tab-Tab> #обнаружить файл-маркер

Jieun sandi superuser pikeun otorisasina di GRUB2

grub-mkpasswd-pbkdf2 #введите/повторите пароль суперпользователя. 

Meunangkeun sandi hash. Sapertos kieu

grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

pasang partisi GRUB

mount /dev/sda6 /mnt 

edit config

nano -$ /mnt/boot/grub/grub.cfg 

parios milarian file yén teu aya umbul di mana waé dina "grub.cfg" ("-unrestricted" "-user",
tambahkeun dina tungtungna (saméméh garis ### TAMAT /etc/grub.d/41_custom ###)
"set superusers="root"
password_pbkdf2 root hash."

Kuduna siga kieu

# File ieu nyayogikeun cara anu gampang pikeun nambihan éntri ménu khusus. Kantun ngetik
# éntri ménu anu anjeun hoyong tambahkeun saatos koméntar ieu. Kade ulah robah
# garis 'buntut exec' di luhur.
### TAMAT /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
lamun [-f ${config_directory}/custom.cfg]; saterusna
sumber ${config_directory}/custom.cfg
elif [-z "${config_directory}" -a -f $prefix/custom.cfg]; saterusna
sumber $prefix/custom.cfg;
fi
set superusers = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### TAMAT /etc/grub.d/41_custom ###
#

Upami anjeun sering nganggo paréntah "grub-mkconfig -o /mnt/boot/grub/grub.cfg" sareng henteu hoyong ngarobih grub.cfg unggal waktos, lebetkeun garis di luhur. (Login: Sandi) dina skrip pangguna GRUB di bagian handap pisan

nano /etc/grub.d/41_custom 

ucing <<EOF
set superusers = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF

Nalika ngahasilkeun config "grub-mkconfig -o /mnt/boot/grub/grub.cfg", baris jawab auténtikasi bakal otomatis ditambahkeun kana grub.cfg.
Léngkah ieu ngalengkepan setélan auténtikasi GRUB2.

C6.2. Perlindungan bootloader kalayan tanda tangan digitalHal ieu dianggap yén anjeun geus boga konci enkripsi pgp pribadi Anjeun (atanapi nyiptakeun konci sapertos kitu). Sistim kudu dipasang software cryptographic: gnuPG; kleopatra / IPK; Kuda laut. Parangkat lunak Crypto bakal ngajantenkeun hirup anjeun langkung gampang dina sagala hal sapertos kitu. Seahorse - versi stabil tina pakét 3.14.0 (versi luhur, contona, V3.20, anu cacad sarta mibanda bug signifikan).

Konci PGP perlu dihasilkeun / dibuka / ditambahkeun ukur dina lingkungan su!

Ngahasilkeun konci enkripsi pribadi

gpg - -gen-key

Ékspor konci anjeun

gpg --export -o ~/perskey

Pasang disk logis dina OS upami teu acan dipasang

mount /dev/sda6 /mnt #sda6 – раздел GRUB2

ngabersihan partisi GRUB2

rm -rf /mnt/

Pasang GRUB2 di sda6, nempatkeun konci pribadi anjeun dina gambar GRUB utama "core.img"

grub-install --force --modules="gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" -k ~/perskey --root-directory=/mnt /dev/sda6

pilihan
* --force - install bootloader nu, bypassing sagala warnings nu salawasna aya (bandéra diperlukeun).
* -modules = "gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" - maréntahkeun GRUB2 ka preload modul diperlukeun nalika PC dimimitian.
* -k ~/perskey -path kana "konci PGP" (sanggeus pakét konci kana gambar, éta bisa dihapus).
* --root-directory -set diréktori boot kana akar sda6
/ dev / sda6 - partisi sdaX Anjeun.

Ngahasilkeun / ngamutahirkeun grub.cfg

grub-mkconfig  -o /mnt/boot/grub/grub.cfg

Tambahkeun garis "trust /boot/grub/perskey" ka tungtung file "grub.cfg" (maksa ngagunakeun konci pgp.) Kusabab urang dipasang GRUB2 kalawan sakumpulan modul, kaasup modul signature "signature_test.mod", ieu ngaleungitkeun perlu pikeun nambahkeun paréntah kawas "set check_signatures = ngalaksanakeun" config.

Sakuduna kasampak kawas kieu (garis tungtung dina file grub.cfg)

### BEGIN /etc/grub.d/41_custom ###
lamun [-f ${config_directory}/custom.cfg]; saterusna
sumber ${config_directory}/custom.cfg
elif [-z "${config_directory}" -a -f $prefix/custom.cfg]; saterusna
sumber $prefix/custom.cfg;
fi
percanten /boot/grub/perskey
set superusers = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### TAMAT /etc/grub.d/41_custom ###
#

Jalur ka "/boot/grub/perskey" henteu kedah ditunjukkeun kana partisi disk khusus, contona hd0,6 pikeun bootloader sorangan, "root" mangrupikeun jalur standar tina partisi dimana GRUB2 dipasang (tingali set rot =..).

Signing GRUB2 (sadayana file dina sadaya / diréktori GRUB) kalawan konci Anjeun "perskey".
Hiji leyuran basajan ngeunaan cara asup (pikeun nautilus/caja explorer): install "seahorse" extension pikeun Explorer ti gudang. konci Anjeun kudu ditambahkeun kana lingkungan su.
Buka Explorer nganggo sudo "/ mnt / boot" - RMB - tanda. Dina layar katingalina kieu

Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

Koncina sorangan nyaéta "/mnt/boot/grub/perskey" (salinan ka diréktori grub) ogé kudu ditandatanganan ku tanda tangan anjeun sorangan. Pariksa yén [*.sig] file signatures némbongan dina diréktori / subdirectories.
Ngagunakeun métode ditétélakeun di luhur, tanda "/boot" (kernel urang, initrd). Upami waktos anjeun aya nanaon, maka metode ieu ngaleungitkeun kabutuhan nyerat skrip bash pikeun ngadaptarkeun "seueur file."

Pikeun mupus sadaya tanda tangan bootloader (upami aya anu lepat)

rm -f $(find /mnt/boot/grub -type f -name '*.sig')

Dina raraga teu asup bootloader sanggeus ngamutahirkeun sistem, urang freeze sakabeh pakét update patali GRUB2.

apt-mark hold grub-common grub-pc grub-pc-bin grub2 grub2-common

Dina léngkah ieu <protect bootloader with digital signature> konfigurasi canggih GRUB2 parantos réngsé.

C6.3. Buktina-test tina bootloader GRUB2, ditangtayungan ku signature digital sarta auténtikasiGRUB2. Nalika milih distribusi GNU/Linux atanapi ngalebetkeun CLI (garis paréntah) Otorisasi superuser bakal diperyogikeun. Saatos ngalebetkeun nami pangguna/sandi anu leres, anjeun peryogi sandi initrd

Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot
Potret layar auténtikasi suksés tina superuser GRUB2.

Lamun tamper kalawan salah sahiji file GRUB2 / jieun perobahan ka grub.cfg, atawa mupus file / signature, atawa muka modul.mod jahat, bakal muncul peringatan pakait. GRUB2 bakal ngareureuhkeun loading.

Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot
Screenshot, usaha pikeun ngaganggu GRUB2 "ti luar".

Salila booting "normal" "tanpa intrusion", status kode kaluar sistem nyaéta "0". Ku alatan éta, kanyahoan naha panyalindungan dianggo atanapi henteu (nyaéta, "nganggo atanapi henteu nganggo panyalindungan tanda tangan bootloader" salami ngamuat normal statusna sami "0" - ieu goréng).

Kumaha pariksa panyalindungan tanda tangan digital?

Hiji cara merenah cek: palsu / miceun modul dipaké ku GRUB2, contona, nyabut signature luks.mod.sig tur meunang kasalahan.

Cara anu leres: angkat ka bootloader CLI sareng ketik paréntahna

trust_list

Salaku réspon, anjeun kedah nampi sidik "perskey" upami statusna "0," maka panyalindungan tanda tangan henteu jalan, pariksa deui ayat C6.2.
Dina léngkah ieu, konfigurasi canggih "Ngajagi GRUB2 nganggo tanda tangan digital sareng auténtikasi" parantos réngsé.

C7 Metode alternatif pikeun ngajagi bootloader GRUB2 nganggo hashingMetodeu "CPU Boot Loader Protection / Authentication" ditétélakeun di luhur nyaéta klasik. Alatan imperfections of GRUB2, dina kaayaan paranoid éta susceptible kana serangan nyata, nu kuring bakal masihan handap dina paragraf [F]. Salaku tambahan, saatos ngapdet OS / kernel, bootloader kedah ditandatanganan deui.

Ngajagi bootloader GRUB2 nganggo hashing

Kaunggulan tina klasik:

  • tingkat luhur reliabiliti (hashing / verifikasi lumangsung ngan ti hiji sumberdaya lokal énkripsi. Sakabéh partisi disadiakeun dina GRUB2 dikawasa pikeun parobahan mana wae, jeung sagalana sejenna geus énkripsi; dina skéma Palasik kalawan panyalindungan CPU loader / auténtikasi, ngan file dikawasa, tapi teu bebas spasi, nu "hal" hal sinister "bisa ditambahkeun).
  • logging énkripsi (log énkripsi pribadi anu tiasa dibaca ku manusa ditambah kana skéma).
  • kagancangan (perlindungan / verifikasi sakabéh partisi disadiakeun pikeun GRUB2 lumangsung ampir instan).
  • Automation sadaya prosés cryptographic.

Kalemahan leuwih klasik.

  • Pemalsuan tanda tangan (sacara téoritis, kasebut nyaéta dimungkinkeun pikeun manggihan hiji tabrakan fungsi Hash dibikeun).
  • Ningkatkeun tingkat kasulitan (dibandingkeun sareng klasik, peryogi sakedik kaahlian dina GNU / Linux OS).

Kumaha GRUB2 / partisi hashing gagasan jalan

Partisi GRUB2 "ditandatanganan" nalika OS boot, partisi boot loader dipariksa pikeun immutability, dituturkeun ku logging di lingkungan aman (énkripsi). Upami bootloader atanapi partisina dikompromi, salian ti log intrusion, ieu diluncurkeun:

Hal.Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

Pamariksaan anu sami lumangsung opat kali sadinten, anu henteu ngamuat sumber daya sistem.
Ngagunakeun paréntah "-$ check_GRUB", cek instan lumangsung iraha wae tanpa logging, tapi kalawan kaluaran informasi ka CLI.
Nganggo paréntah "-$ sudo signature_GRUB", GRUB2 boot loader / partisi langsung ditandatanganan deui sareng logging na diropéa. (diperlukeun sanggeus OS / update boot), sarta hirup nuluykeun.

Palaksanaan metode hashing pikeun bootloader sareng bagian na

0) Hayu urang asup kana bootloader / partisi GRUB ku mimiti dipasang dina /media/username

-$ hashdeep -c md5 -r /media/username/GRUB > /podpis.txt

1) Urang nyieun naskah tanpa extension dina akar OS énkripsi ~ / podpis, nerapkeun perlu 744 hak kaamanan sarta panyalindungan foolproof kana eta.

Ngeusian eusina

#!/bin/bash

#Проверка всего раздела выделенного под загрузчик GRUB2 на неизменность.
#Ведется лог "о вторжении/успешной проверке каталога", короче говоря ведется полный лог с тройной вербализацией. Внимание! обратить взор на пути: хранить ЦП GRUB2 только на зашифрованном разделе OS GNU/Linux. 
echo -e "******************************************************************n" >> '/var/log/podpis.txt' && date >> '/var/log/podpis.txt' && hashdeep -vvv -a -k '/podpis.txt' -r '/media/username/GRUB' >> '/var/log/podpis.txt'

a=`tail '/var/log/podpis.txt' | grep failed` #не использовать "cat"!! 
b="hashdeep: Audit failed"

#Условие: в случае любых каких-либо изменений в разделе выделенном под GRUB2 к полному логу пишется второй отдельный краткий лог "только о вторжении" и выводится на монитор мигание gif-ки "warning".
if [[ "$a" = "$b" ]] 
then
echo -e "****n" >> '/var/log/vtorjenie.txt' && echo "vtorjenie" >> '/var/log/vtorjenie.txt' && date >> '/var/log/vtorjenie.txt' & sudo -u username DISPLAY=:0 eom '/warning.gif' 
fi

Ngajalankeun naskah ti su, hashing tina partisi GRUB sareng bootloader na bakal dipariksa, simpen log.

Hayu urang jieun atawa nyalin, contona, "file jahat" [virus.mod] kana partisi GRUB2 tur ngajalankeun scan / test samentara:

-$ hashdeep -vvv -a -k '/podpis.txt' -r '/media/username/GRUB

CLI kedah ningali invasi -benteng- kami.#Dipotong log di CLI

Ср янв  2 11::41 MSK 2020
/media/username/GRUB/boot/grub/virus.mod: Moved from /media/username/GRUB/1nononoshifr
/media/username/GRUB/boot/grub/i386-pc/mda_text.mod: Ok
/media/username/GRUB/boot/grub/grub.cfg: Ok
hashdeep: Audit failed
   Input files examined: 0
  Known files expecting: 0
          Files matched: 325
Files partially matched: 0
            Files moved: 1
        New files found: 0
  Known files not found: 0

#Sakumaha anjeun tiasa tingali, "Files dipindahkeun: 1 sareng Inok gagal" nembongan, anu hartosna cek gagal.
Kusabab sifat partisi anu diuji, tinimbang "File anyar kapanggih"> "Files dipindahkeun"

2) Pasang gif di dieu > ~/warning.gif, setel idin ka 744.

3) Ngonpigurasikeun fstab pikeun ngotomatisasi partisi GRUB nalika boot

-$ sudo nano /etc/fstab

LABEL=GRUB /media/username/GRUB ext4 standar 0 0

4) Puteran log

-$ sudo nano /etc/logrotate.d/podpis 

/var/log/podpis.txt {
unggal poe
puteran 50
ukuran 5M
titimangsa
niiskeun
komérsial
olddir /var/log/old
}

/var/log/vtorjenie.txt {
seu sasih
puteran 5
ukuran 5M
titimangsa
olddir /var/log/old
}

5) Tambahkeun pakasaban kana cron

-$ sudo crontab -e

reboot '/langganan'
0 */6 * * * '/podpis

6) Nyiptakeun alias permanén

-$ sudo su
-$ echo "alias подпись_GRUB='hashdeep -c md5 -r /media/username/GRUB > /podpis.txt'" >> /root/.bashrc && bash
-$ echo "alias проверка_GRUB='hashdeep -vvv -a -k '/podpis.txt' -r /media/username/GRUB'" >> .bashrc && bash

Saatos update OS -$ apt-get upgrade asup deui partisi GRUB kami
-$ подпись_GRUB
Dina titik ieu, panyalindungan hashing tina partisi GRUB parantos réngsé.

[D] Wiping - karuksakan data unencrypted

Hapus file pribadi anjeun sacara lengkep sahingga "malah Allah henteu tiasa maca aranjeunna," saur juru carios Karolina Kidul Trey Gowdy.

Sakumaha biasa, aya rupa-rupa “mitos jeung legenda", ngeunaan malikkeun data saatosna dihapus tina hard drive. Upami anjeun percanten kana cyberwitchcraft, atanapi mangrupikeun anggota komunitas wéb Dr sareng henteu kantos nyobian pamulihan data saatos dihapus / ditimpa. (contona, pamulihan nganggo R-studio), teras metodeu anu diusulkeun sigana moal cocog sareng anjeun, nganggo anu pangdeukeutna ka anjeun.

Sanggeus hasil mindahkeun GNU/Linux ka partisi énkripsi, salinan heubeul kudu dihapus tanpa kamungkinan recovery data. Métode beberesih universal: parangkat lunak pikeun parangkat lunak GUI gratis Windows/Linux BleachBit.
Gancang pormat bagian, data anu kedah dirusak (ngaliwatan Gparted) peluncuran BleachBit, pilih "Ngabersihan rohangan bébas" - pilih partisi (sdaX anjeun sareng salinan GNU/Linux saméméhna), prosés stripping bakal ngamimitian. BleachBit - wipes disk dina hiji pass - ieu téh naon "urang peryogi", Tapi! Ieu ngan ukur dianggo dina téori upami anjeun pormat disk sareng ngabersihkeun dina parangkat lunak BB v2.0.

perhatian! BB wipes disk, ninggalkeun metadata ngaran file dilestarikan nalika data dileungitkeun (Ccleaner - henteu ninggalkeun metadata).

Jeung mitos ngeunaan kamungkinan recovery data teu sagemblengna mitos.Bleachbit V2.0-2 urut pakét OS Debian teu stabil (sareng parangkat lunak anu sami: sfill; wipe-Nautilus - ogé diperhatoskeun dina usaha kotor ieu) saleresna ngagaduhan bug kritis: fungsi "ngabersihan rohangan bébas". gawéna teu bener dina HDD / Flash drive (ntfs/ext4). Parangkat lunak sapertos kieu, nalika ngabersihan rohangan bébas, henteu nimpa sadayana disk, sakumaha anu disangka ku seueur pangguna. Jeung sababaraha (seueur) data dihapus OS / software nganggap data ieu salaku non-dihapus / data pamaké sarta nalika meresihan "OSP" eta skips file ieu. Masalahna nyaéta sanggeus lila, meresihan disk "file dihapus" bisa pulih malah sanggeus 3+ pass of wiping disc.
Dina GNU/Linux di Bleachbit 2.0-2 Fungsi mupus file sareng diréktori sacara permanén tiasa dipercaya, tapi henteu ngabersihan rohangan kosong. Pikeun babandingan: dina Windows di CCleaner fungsi "OSP pikeun ntfs" jalan leres, jeung Allah bener moal bisa maca data dihapus.

Jeung saterusna, pikeun miceun tuntas "kompromi" data heubeul unencrypted, Bleachbit peryogi aksés langsung kana data ieu, teras, nganggo fungsi "ngahapus file / directories permanén".
Pikeun mupus "file anu dihapus nganggo alat OS standar" dina Windows, paké CCleaner/BB kalayan fungsi "OSP". Dina GNU / Linux ngeunaan masalah ieu (Hapus file anu dihapus) Anjeun kudu meunang latihan sorangan (ngahapus data + usaha mandiri pikeun mulangkeunana sareng anjeun henteu kedah ngandelkeun versi parangkat lunak (upami sanés tetengger, teras kutu)), ngan dina hal ieu anjeun bakal tiasa ngartos mékanisme masalah ieu sareng ngaleungitkeun data anu dihapus lengkep.

Kuring teu acan nguji Bleachbit v3.0, masalahna mungkin geus dibereskeun.
Bleachbit v2.0 jalan jujur.

Dina léngkah ieu, wiping disk parantos réngsé.

[E] Cadangan universal tina OS énkripsi

Unggal pamaké boga metoda sorangan nyadangkeun data, tapi énkripsi System OS data merlukeun pendekatan rada béda pikeun tugas. Parangkat lunak ngahiji, sapertos Clonezilla sareng parangkat lunak anu sami, henteu tiasa langsung dianggo sareng data énkripsi.

Pernyataan masalah nyadangkeun alat blok énkripsi:

  1. universality - algoritma cadangan sarua / software pikeun Windows / Linux Ubuntu;
  2. kamampuhan pikeun digawé di konsol jeung sagala hirup USB GNU / Linux tanpa butuh undeuran software tambahan (tapi tetep nyarankeun GUI);
  3. kaamanan salinan cadangan - disimpen "gambar" kudu énkripsi / sandi-ditangtayungan;
  4. ukuran data énkripsi kudu luyu jeung ukuran data sabenerna keur disalin;
  5. ékstraksi merenah file diperlukeun tina salinan cadangan (Euweuh sarat pikeun ngadekrip sakabéh bagian kahiji).

Contona, cadangan / balikkeun via utilitas "dd".

dd if=/dev/sda7 of=/путь/sda7.img bs=7M conv=sync,noerror
dd if=/путь/sda7.img of=/dev/sda7 bs=7M conv=sync,noerror

Ieu pakait jeung ampir sakabéh titik tina tugas, tapi nurutkeun titik 4 teu nangtung nepi ka kritik, sabab nyalin sakabéh partisi disk, kaasup spasi bébas - teu metot.

Contona, cadangan GNU/Linux via arsip [tar" | gpg] merenah, tapi pikeun cadangan Windows anjeun kedah milarian solusi anu sanés - éta henteu pikaresepeun.

E1. Cadangan Windows/Linux universal. Link rsync (Grsync) + volume VeraCryptAlgoritma pikeun nyieun salinan cadangan:

  1. nyieun wadah énkripsi (volume/file) VeraCrypt pikeun OS;
  2. mindahkeun / nyingkronkeun OS ngagunakeun software Rsync kana wadah crypto VeraCrypt;
  3. lamun perlu, unggah volume VeraCrypt ka www.

Nyiptakeun wadah VeraCrypt énkripsi gaduh ciri sorangan:
nyiptakeun volume dinamis (Nyieun DT ngan sadia dina Windows, ogé bisa dipaké dina GNU/Linux);
nyieun volume biasa, tapi aya sarat tina "karakter paranoid" (nurutkeun pamekar) - pormat wadahna.

Volume dinamis dijieun ampir instan dina Windows, tapi lamun nyalin data ti GNU/Linux> VeraCrypt DT, kinerja sakabéh operasi cadangan nurun nyata.

Volume Twofish biasa 70 GB dijieun (nyaéta, rata-rata kakuatan PC) ka HDD ~ dina satengah jam (overwriting urut data wadahna dina hiji pass téh alatan sarat kaamanan). Fungsi gancang pormat volume nalika nyieun eta geus dihapus tina VeraCrypt Windows / Linux Ubuntu, jadi nyieun wadahna ngan mungkin ngaliwatan "one-pass nulis balik" atawa nyieun volume-kinerja low dinamis.

Jieun volume VeraCrypt biasa (henteu dinamis/ntfs), teu kedah aya masalah.

Konpigurasikeun/nyieun/buka wadah dina VeraCrypt GUI> GNU/Linux live usb (volume bakal otomatis dipasang kana /media/veracrypt2, volume Windows OS bakal dipasang ka /media/veracrypt1). Nyiptakeun cadangan énkripsi tina OS Windows nganggo GUI rsync (grsync)ku mariksa kotak.

Énkripsi disk pinuh ku sistem dipasang Windows Linux. Énkripsi multi-boot

Ngadagoan prosés pikeun réngsé. Sakali cadangan geus réngsé, urang bakal boga hiji file énkripsi.

Nya kitu, jieun salinan cadangan GNU/Linux OS ku cara pupus centang kotak centang "Windows compatibility" dina rsync GUI.

perhatian! jieun wadah Veracrypt pikeun "GNU / Linux cadangan" dina sistem file ext4. Upami anjeun ngadamel cadangan kana wadah ntfs, teras nalika anjeun malikkeun salinan sapertos kitu, anjeun bakal kaleungitan sadaya hak / grup kana sadaya data anjeun.

Sadaya operasi tiasa dilaksanakeun di terminal. Pilihan dasar pikeun rsync:
* -g -simpen grup;
* -P —progress — status waktos dianggo dina file;
* -H - nyalin hardlinks sakumaha anu kasebut;
* -a modeu arsip (sababaraha bandéra rlptgoD);
* -v -verbalization.

Upami anjeun hoyong masang "volume Windows VeraCrypt" ngalangkungan konsol dina parangkat lunak cryptsetup, anjeun tiasa nyiptakeun alias (su)

echo "alias veramount='cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sdaX Windows_crypt && mount /dev/mapper/ Windows_crypt /media/veracrypt1'" >> .bashrc && bash

Ayeuna paréntah "gambar veramount" bakal ngajurung anjeun ngalebetkeun frasa sandi, sareng volume sistem Windows anu énkripsi bakal dipasang dina OS.

Peta / Gunung volume sistem VeraCrypt dina paréntah cryptsetup

cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sdaX Windows_crypt
mount /dev/mapper/Windows_crypt /mnt

Peta / Gunung partisi VeraCrypt / wadahna dina paréntah cryptsetup

cryptsetup open --veracrypt --type tcrypt /dev/sdaY test_crypt
mount /dev/mapper/test_crypt /mnt

Gantina alias, urang bakal nambahan (skrip pikeun ngamimitian) volume sistem sareng OS Windows sareng disk ntfs énkripsi logis kana ngamimitian GNU/Linux.

Jieun skrip teras simpen dina ~/VeraOpen.sh

printf 'Ym9i' | base64 -d | cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sda3 Windows_crypt && mount /dev/mapper/Windows_crypt /media/Winda7 #декодируем пароль из base64 (bob) и отправляем его на запрос ввода пароля при монтировании системного диска ОС Windows.
printf 'Ym9i' | base64 -d | cryptsetup open --veracrypt --type tcrypt /dev/sda1 ntfscrypt && mount /dev/mapper/ntfscrypt /media/КонтейнерНтфс #аналогично, но монтируем логический диск ntfs.

Urang ngadistribusikaeun hak "bener":

sudo chmod 100 /VeraOpen.sh

Jieun dua file idéntik (ngaran sarua!) Dina /etc/rc.local jeung ~/etc/init.d/rc.local
Ngeusian file

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will «exit 0» on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

sh -c "sleep 1 && '/VeraOpen.sh'" #после загрузки ОС, ждём ~ 1с и только потом монтируем диски.
exit 0

Urang ngadistribusikaeun hak "bener":

sudo chmod 100 /etc/rc.local && sudo chmod 100 /etc/init.d/rc.local 

Éta waé, ayeuna nalika ngamuat GNU / Linux kami henteu kedah ngalebetkeun kecap konci pikeun masang disk ntfs énkripsi, disk dipasang sacara otomatis.

Catetan sakeudeung ngeunaan naon anu dijelaskeun di luhur dina paragraf E1 step by step (tapi ayeuna pikeun OS GNU/Linux)
1) Jieun volume dina fs ext4> 4gb (pikeun file) Linux di Veracrypt [Cryptbox].
2) Reboot pikeun hirup USB.
3) ~$ cryptsetup open /dev/sda7 Lunux #mapping partisi énkripsi.
4) ~$ mount /dev/mapper/Linux /mnt #mount partisi énkripsi kana /mnt.
5) ~$ mkdir mnt2 #nyieun diréktori pikeun cadangan hareup.
6) ~$ cryptsetup open —veracrypt —type tcrypt ~/CryptoBox CryptoBox && mount /dev/mapper/CryptoBox /mnt2 #Map volume Veracrypt ngaranna "CryptoBox" sareng pasang CryptoBox ka / mnt2.
7) ~$ rsync -avlxhHX —progress /mnt /mnt2/ operasi #backup tina partisi énkripsi kana volume Veracrypt énkripsi.

(p/s/ perhatian! Upami anjeun nransferkeun GNU/Linux énkripsi tina hiji arsitéktur/mesin ka anu sanés, contona, Intel> AMD (nyaéta, nyebarkeun cadangan tina hiji partisi énkripsi ka énkripsi Intel> partisi AMD anu sanés), Entong hilap Saatos nransper OS énkripsi, édit konci pangganti rusiah tinimbang sandi, meureun. konci saméméhna ~/etc/skey - moal cocog deui partisi énkripsi sejen, sarta teu sasaena nyieun konci anyar "cryptsetup luksAddKey" ti handapeun chroot - glitch mungkin, ngan dina ~/etc/crypttab tangtukeun tinimbang "/etc/skey" samentawis "euweuh" ", saatos rebot sareng asup kana OS, jieun deui konci wildcard rusiah anjeun).

Salaku para veteran IT, émut pikeun misah-misah nyieun cadangan tina lulugu partisi Windows/Linux OS énkripsi, atanapi énkripsi bakal ngalawan anjeun.
Dina léngkah ieu, cadangan OS énkripsi parantos réngsé.

[F] Serangan kana bootloader GRUB2

rinciUpami anjeun parantos ngajagi bootloader anjeun ku tanda tangan digital sareng / atanapi auténtikasi (tingali titik C6.), mangka ieu moal ngajaga tina aksés fisik. Data énkripsi bakal tetep teu tiasa diaksés, tapi panyalindunganna bakal dileungitkeun (ngareset panyalindungan tanda tangan digital) GRUB2 ngamungkinkeun cyber-penjahat pikeun nyuntik kode na kana bootloader tanpa raising kacurigaan (iwal pamaké sacara manual ngawas kaayaan bootloader, atawa datang nepi ka sorangan mantap kode arbitrary-script sorangan pikeun grub.cfg).

Algoritma serangan. Panyusup

* Sapatu PC tina live usb. Sakur parobahan (pelanggar) file bakal ngabéjaan nu boga nyata PC ngeunaan intrusion kana bootloader nu. Tapi hiji reinstallation basajan GRUB2 ngajaga grub.cfg (sareng kamampuan salajengna pikeun ngédit éta) bakal ngidinan panyerang pikeun ngédit file naon waé (dina kaayaan ieu, nalika ngamuat GRUB2, pamaké nyata moal dibere beja. Statusna sarua <0>)
* Mounts hiji partisi unencrypted, toko "/mnt/boot/grub/grub.cfg".
* Pasang deui bootloader (ngahapus "perskey" tina gambar core.img)

grub-install --force --root-directory=/mnt /dev/sda6

* Mulih "grub.cfg" > "/mnt/boot/grub/grub.cfg", édit éta lamun perlu, contona, nambahkeun modul anjeun "keylogger.mod" kana folder kalawan modul loader, dina "grub.cfg" > baris "insmod keylogger". Atawa, contona, lamun musuh licik, lajeng sanggeus reinstalling GRUB2 (sadayana tanda tangan tetep aya) eta ngawangun gambar GRUB2 utama ngagunakeun "grub-mkimage kalawan pilihan (-c)." The "-c" pilihan bakal ngidinan Anjeun pikeun muka config anjeun saméméh loading utama "grub.cfg". Konfigurasi bisa diwangun ku ngan hiji baris: alihan ka "modern.cfg" wae, dicampur, contona, kalawan ~400 file (modul + tanda tangan) dina folder "/boot/grub/i386-pc". Dina hal ieu, panyerang tiasa nyelapkeun kode sawenang-wenang sareng ngamuat modul tanpa mangaruhan "/boot/grub/grub.cfg", sanaos pangguna nerapkeun "hashsum" kana file sareng samentawis nampilkeunana dina layar.
Panyerang teu kedah hack login / sandi superuser GRUB2; anjeunna ngan ukur kedah nyalin garis (tanggung jawab pikeun auténtikasi) "/boot/grub/grub.cfg" kana "modern.cfg" anjeun

set superusers = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

Sareng pamilik PC masih bakal dioténtikasi salaku superuser GRUB2.

Ngamuat ranté (bootloader ngamuat bootloader anu sanés), sakumaha kuring nulis di luhur, teu asup akal (éta dimaksudkeun pikeun tujuan anu béda). Bootloader énkripsi teu tiasa dimuat kusabab BIOS (chain boot balikan deui GRUB2> énkripsi GRUB2, kasalahan!). Nanging, upami anjeun masih nganggo ideu loading ranté, anjeun tiasa yakin yén éta énkripsi anu dimuat. (henteu dimodernisasi) "grub.cfg" tina partisi énkripsi. Sareng ieu ogé mangrupikeun rasa kaamanan palsu, sabab sadayana anu dituduhkeun dina énkripsi "grub.cfg" (modul loading) nambahan nepi ka modul nu dimuat ti GRUB2 unencrypted.

Upami anjeun hoyong pariksa ieu, teras alokasikeun / énkripsi partisi anu sanés sdaY, salin GRUB2 ka dinya (operasi grub-install dina partisi énkripsi teu mungkin) sareng dina "grub.cfg" (konfigurasi teu énkripsi) ngarobah garis kawas ieu

menuentry 'GRUBx2' --class parrot --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
load_video
insmod gzio
lamun [x$grub_platform = xxen]; lajeng insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod cryptodisk
insmod lux
insmod gcry_twofish
insmod gcry_twofish
insmod gcry_sha512
insmod ext2
cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838
set root=’cryptouuid/15c47d1c4bd34e5289df77bcf60ee838′
normal /boot/grub/grub.cfg
}

senar
* insmod - ngamuat modul anu dipikabutuh pikeun damel sareng disk énkripsi;
* GRUBx2 - nami garis anu dipidangkeun dina ménu boot GRUB2;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 -tingali. fdisk -l (sda9);
* set root - install root;
* normal /boot/grub/grub.cfg - file konfigurasi laksana dina partisi énkripsi.

Kapercayaan yén éta énkripsi "grub.cfg" anu dimuat nyaéta réspon anu positip pikeun ngasupkeun sandi / muka konci "sdaY" nalika milih garis "GRUBx2" dina ménu GRUB.

Nalika damel di CLI, supados henteu lieur (sareng pariksa naha variabel lingkungan "set root" dianggo), jieun file token kosong, contona, dina bagian énkripsi "/ shifr_grub", dina bagian unencrypted "/ noshifr_grub". Pariksa dina CLI

cat /Tab-Tab

Sakumaha anu kacatet di luhur, ieu moal ngabantosan pikeun ngaunduh modul jahat upami modul sapertos kitu dina PC anjeun. Salaku conto, keylogger anu bakal tiasa nyimpen keystrokes kana file sareng nyampur sareng file anu sanés dina "~/i386" dugi ka diunduh ku panyerang kalayan aksés fisik kana PC.

Cara panggampangna pikeun pariksa yén panyalindungan tanda tangan digital aktip dianggo (teu reset), sareng teu aya anu nyerang bootloader, lebetkeun paréntah dina CLI

list_trusted

salaku respon kami nampi salinan "perskey" urang, atanapi urang nampi nanaon lamun urang diserang (anjeun ogé kedah pariksa "set check_signatures = ngalaksanakeun").
A disadvantage signifikan tina hambalan ieu ngasupkeun paréntah sacara manual. Lamun ditambahkeun paréntah ieu "grub.cfg" na ngajaga config kalawan signature digital, lajeng kaluaran awal snapshot konci dina layar teuing pondok dina timing, jeung anjeun bisa jadi teu boga waktu pikeun ningali kaluaran sanggeus loading GRUB2. .
Teu aya anu khusus pikeun ngaku: pamekar di na dokuméntasi klausa 18.2 resmi nyatakeun

"Catetan yén sanajan nganggo panyalindungan sandi GRUB, GRUB sorangan henteu tiasa nyegah jalma anu gaduh aksés fisik kana mesin tina ngarobih firmware mesin éta (contona, Coreboot atanapi BIOS) pikeun nyababkeun mesin boot tina alat anu béda (dikadalikeun penyerang). GRUB paling saé ngan ukur hiji tautan dina ranté boot anu aman."

GRUB2 teuing overloaded kalawan fungsi nu bisa masihan rasa kaamanan palsu, sarta ngembangkeun na geus outstripped MS-DOS dina hal fungsionalitas, tapi ngan bootloader a. Éta lucu yén GRUB2 - "isukan" tiasa janten OS, sareng mesin virtual GNU / Linux anu tiasa bootable.

Pidéo pondok ngeunaan kumaha kuring ngareset panyalindungan tanda tangan digital GRUB2 sareng nyatakeun intrusi kuring ka pangguna nyata (Kuring sieun anjeun, tapi tinimbang naon ditémbongkeun dina video, Anjeun bisa nulis kode sawenang non-bahaya / .mod).

conclusions:

1) Blok enkripsi sistem pikeun Windows langkung gampang diimplementasikeun, sareng panyalindungan sareng hiji kecap konci langkung merenah tibatan panyalindungan sareng sababaraha kecap akses sareng enkripsi sistem blok GNU/Linux, janten adil: anu terakhir otomatis.

2) Kuring nulis artikel sakumaha relevan sarta lengkep basajan pituduh pikeun enkripsi full-disk VeraCrypt / LUKS on hiji imah mesin, nu ku jauh pangalusna di RuNet (IMHO). Panungtun panjangna > 50k karakter, ku kituna henteu nutupan sababaraha bab anu pikaresepeun: kriptografi anu ngaleungit / tetep dina kalangkang; ngeunaan kanyataan yén dina sagala rupa buku GNU / Linux aranjeunna nyerat sakedik / henteu nyerat ngeunaan kriptografi; ngeunaan Pasal 51 Konstitusi Féderasi Rusia; O lisénsi/ngalarang énkripsi di Féderasi Rusia, ngeunaan naha anjeun kedah énkripsi "root / boot". Panungtun tétéla rada éksténsif, tapi lengkep. (ngajéntrékeun léngkah-léngkah saderhana), kahareupna ieu bakal nyalametkeun anjeun loba waktu nalika anjeun meunang ka "enkripsi nyata".

3) Énkripsi disk pinuh dilaksanakeun dina Windows 7 64; GNU/Linux Parrot 4x; GNU/Debian 9.0/9.5.

4) Dilaksanakeun serangan suksés dina anjeun GRUB2 bootloader.

5) Tutorial dijieun pikeun mantuan sakabeh jalma paranoid di CIS, dimana gawé bareng enkripsi diijinkeun dina tingkat législatif. Sarta utamana pikeun maranéhanana anu rék gulung kaluar enkripsi full-disk tanpa demolishing sistem maranéhna ngonpigurasi.

6) Didamel deui sareng diropéa manual kuring, anu relevan dina 2020.

[G] Dokuméntasi mangpaat

  1. Pituduh Pamaké TrueCrypt (Pébruari 2012 RU)
  2. Dokuméntasi VeraCrypt
  3. /usr/share/doc/cryptsetup(-run) [sumber daya lokal] (Dokuméntasi lengkep resmi ngeunaan nyetél énkripsi GNU/Linux nganggo cryptsetup)
  4. cryptsetup FAQ resmi (Dokuméntasi ringkes ngeunaan nyetél énkripsi GNU/Linux nganggo cryptsetup)
  5. énkripsi alat LUKS (Dokuméntasi archlinux)
  6. Katerangan lengkep ngeunaan sintaksis cryptsetup (halaman arch man)
  7. pedaran lengkep ngeunaan crypttab (halaman arch man)
  8. Dokuméntasi resmi GRUB2.

Tag: enkripsi disk pinuh, enkripsi partisi, Linux enkripsi disk pinuh, LUKS1 enkripsi sistem pinuh.

Ngan pamaké nu kadaptar bisa ilubiung dina survey. Daptar, Punten.

Dupi anjeun énkripsi?

  • 17,1%Kuring encrypt sagalana kuring bisa. Abdi paranoid.14

  • 34,2%Kuring ngan énkripsi data penting.28

  • 14,6%Sakapeung mah enkripsi, kadang poho.12

  • 34,2%Henteu, kuring henteu énkripsi, éta henteu pikaresepeun sareng mahal.28

82 pamaké milih. 22 pamaké abstained.

sumber: www.habr.com

Tambahkeun komentar