Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi
Dianyari pandhuan dhewe kanggo enkripsi full-disk ing RuNet V0.2.

Strategi koboi:

[A] enkripsi blok sistem Windows 7 saka sistem sing diinstal;
[B] Enkripsi blok sistem GNU/Linux (Debian) sistem diinstal (kalebu / boot);
[C] Konfigurasi GRUB2, proteksi bootloader kanthi tandha digital / otentikasi / hashing;
[D] stripping—rusak data sing ora dienkripsi;
[E] serep universal OS ndhelik;
[F] serangan <ing item [C6]> target - GRUB2 bootloader;
[G] dokumentasi sing migunani.

╭───Diagram #kamar 40# :
├──╼ Windows 7 diinstal - enkripsi sistem lengkap, ora didhelikake;
├──╼ GNU/Linux diinstal (Distribusi Debian lan turunan) - enkripsi sistem lengkap, ora didhelikake(/, kalebu /boot; swap);
├──╼ bootloader independen: VeraCrypt bootloader wis diinstal ing MBR, GRUB2 bootloader diinstal ing partisi lengkap;
├──╼ora perlu instalasi/instal ulang OS;
└──╼ piranti lunak kriptografi sing digunakake: VeraCrypt; cryptsetup; GnuPG; Kuda laut; Hashdeep; GRUB2 gratis / gratis.

Skema ing ndhuwur sebagian ngrampungake masalah "boot remot menyang flash drive", ngidini sampeyan seneng OS Windows / Linux sing dienkripsi lan ijol-ijolan data liwat "saluran terenkripsi" saka siji OS menyang OS liyane.

Urutan boot PC (salah sawijining pilihan):

  • nguripake mesin;
  • mbukak bootloader VeraCrypt (ngetik sandhi sing bener bakal terus boot Windows 7);
  • menet tombol "Esc" bakal mbukak boot loader GRUB2;
  • GRUB2 boot loader (pilih distribusi/GNU/Linux/CLI), bakal mbutuhake otentikasi superuser GRUB2 <login/sandi>;
  • sawise otentikasi sukses lan pilihan distribusi, sampeyan kudu ngetik sandhi kanggo mbukak kunci "/boot/initrd.img";
  • sawise ngetik sandhi tanpa kesalahan, GRUB2 bakal "mbutuhake" entri sandhi ( Katelu, sandhi BIOS utawa sandi akun pangguna GNU / Linux - ora dianggep) kanggo mbukak kunci lan boot GNU/Linux OS, utawa substitusi otomatis kunci rahasia (loro sandhi + kunci, utawa sandhi + kunci);
  • intrusi eksternal menyang konfigurasi GRUB2 bakal beku proses boot GNU/Linux.

Ngganggu? Ok, ayo ngotomatisasi proses kasebut.

Nalika partisi hard drive (Tabel MBR) PC ora bisa duwe luwih saka 4 partisi utama, utawa 3 utama lan siji sing ditambahi, uga area sing ora ana. Bagean sing ditambahi, ora kaya sing utama, bisa ngemot subbagian (drive logis = partisi ekstensif). Ing tembung liyane, "pemisahan lengkap" ing HDD ngganti LVM kanggo tugas ing tangan: enkripsi sistem lengkap. Yen disk dipérang dadi 4 partisi utama, sampeyan kudu nggunakake lvm, utawa ngowahi (karo format) bagean saka utama kanggo majeng, utawa wisely nggunakake kabeh papat bagean lan ninggalake kabeh minangka, entuk asil sing dipengini. Sanajan sampeyan duwe partisi siji ing disk, Gparted bakal mbantu partisi HDD (kanggo bagean tambahan) tanpa mundhut data, nanging isih karo paukuman cilik kanggo tumindak kuwi.

Skema tata letak hard drive, sing ana hubungane karo kabeh artikel sing bakal diwaca, ditampilake ing tabel ing ngisor iki.

Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi
Tabel (No. 1) saka partisi 1TB.

Sampeyan uga kudu duwe sing padha.
sda1 - partisi utama No.. 1 NTFS (enkripsi);
sda2 - panandha bagean lengkap;
sda6 - disk logis (wis GRUB2 bootloader diinstal);
sda8 - swap (file swap terenkripsi / ora mesthi);
sda9 - test disk logis;
sda5 - disk logis kanggo penasaran;
sda7 - GNU/Linux OS (OS sing ditransfer menyang disk logis sing dienkripsi);
sda3 - partisi utama No.. 2 karo Windows 7 OS (enkripsi);
sda4 - bagean utama No (isi GNU/Linux sing ora dienkripsi, digunakake kanggo serep/ora mesthi).

[A] Enkripsi Blok Sistem Windows 7

A1. VeraCryptEnkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

Ngundhuh saka situs resmi, utawa saka pangilon sourceforge versi instalasi piranti lunak kriptografi VeraCrypt (ing wektu publikasi artikel v1.24-Update3, versi portabel VeraCrypt ora cocok kanggo enkripsi sistem). Priksa checksum piranti lunak sing diundhuh

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

lan mbandhingake asil karo CS sing dikirim ing situs web pangembang VeraCrypt.

Yen piranti lunak HashTab wis diinstal, luwih gampang: RMB (VeraCrypt Setup 1.24.exe)-properties - jumlah file hash.

Kanggo verifikasi tandha program, piranti lunak lan kunci pgp umum pangembang kudu diinstal ing sistem gnuPG; gpg4win.

A2. Nginstal / mbukak piranti lunak VeraCrypt kanthi hak administratorEnkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

A3. Milih paramèter enkripsi sistem kanggo partisi aktifVeraCrypt – Sistem – Enkripsi partisi/disk sistem – Normal – Enkripsi partisi sistem Windows – Multiboot – (Pènget: "Panganggo sing ora duwe pengalaman ora dianjurake kanggo nggunakake cara iki" lan iki bener, kita setuju "Ya") - Boot disk ("ya", sanajan ora, tetep "ya") - Jumlah disk sistem "2 utawa luwih" - Sawetara sistem ing siji disk "Ya" - Bootloader non-Windows "Ora" (nyatane, "Ya," nanging VeraCrypt / GRUB2 boot loader ora bakal nuduhake MBR ing antarane awake dhewe; luwih tepat, mung bagean paling cilik saka kode boot loader sing disimpen ing trek MBR / boot, bagean utama yaiku dumunung ing sistem file) – Multiboot – Setelan enkripsi…

Yen sampeyan nyimpang saka langkah ing ndhuwur (blok skema enkripsi sistem), banjur VeraCrypt bakal ngetokake bebaya lan ora ngidini sampeyan ndhelik partisi kasebut.

Ing langkah sabanjure menyang pangayoman data diangkah, tumindak "Test" lan pilih algoritma enkripsi. Yen sampeyan duwe CPU sing wis lawas, kemungkinan algoritma enkripsi paling cepet yaiku Twofish. Yen CPU kuat, sampeyan bakal weruh prabédan: enkripsi AES, miturut asil tes, bakal kaping pirang-pirang luwih cepet tinimbang pesaing crypto. AES minangka algoritma enkripsi sing populer; hardware CPU modern dioptimalake khusus kanggo "rahasia" lan "peretasan."

VeraCrypt ndhukung kemampuan kanggo ndhelik disk ing kaskade AES(Iwak loro)/ lan kombinasi liyane. Ing CPU Intel inti lawas saka sepuluh taun kepungkur (tanpa dhukungan hardware kanggo AES, enkripsi kaskade A/T) Penurunan kinerja pancen ora katon. (kanggo CPU AMD ing jaman sing padha/~parameter, kinerja rada suda). OS dianggo kanthi dinamis lan konsumsi sumber daya kanggo enkripsi transparan ora katon. Beda, contone, ana penurunan kinerja sing nyata amarga lingkungan desktop test sing ora stabil Mate v1.20.1 sing diinstal. (utawa v1.20.2 aku ora ngelingi persis) ing GNU/Linux, utawa amarga operasi rutin telemetri ing Windows7↑. Biasane, pangguna sing berpengalaman nindakake tes kinerja hardware sadurunge enkripsi. Contone, ing Aida64 / Sysbench / systemd-analyze nyalahke dibandhingake karo asil tes sing padha sawise ndhelik sistem, saéngga mbantah mitos kanggo awake dhewe yen "enkripsi sistem mbebayani." Kalem mesin lan ora nyaman katon nalika nggawe serep / mulihake data sing dienkripsi, amarga operasi "serep data sistem" dhewe ora diukur ing ms, lan sing padha <decrypt / encrypt on the fly> ditambahake. Pungkasane, saben pangguna sing diijini nggawe kriptografi ngimbangi algoritma enkripsi kanthi kepuasan tugas sing ditindakake, tingkat paranoia, lan gampang digunakake.

Luwih becik ninggalake parameter PIM minangka standar, supaya nalika mbukak OS sampeyan ora kudu ngetik nilai pengulangan sing pas saben wektu. VeraCrypt nggunakake pirang-pirang iterasi kanggo nggawe "hash alon". Serangan ing "siput crypto" kasebut nggunakake metode Brute force / rainbow tables mung nganggo tembung sandhi sing "prasaja" lan dhaptar charset pribadi korban. Rega kanggo mbayar kekuatan sandhi yaiku wektu tundha ngetik sandhi sing bener nalika mbukak OS. (munggah volume VeraCrypt ing GNU/Linux luwih cepet).
Piranti lunak gratis kanggo ngetrapake serangan brute force (ekstrak frasa sandhi saka header disk VeraCrypt/LUKS) Hashcat. John the Ripper ora ngerti carane "break Veracrypt", lan nalika nggarap LUKS ora ngerti kriptografi Twofish.

Amarga kekuatan kriptografi algoritma enkripsi, cypherpunks sing ora bisa diendhegake ngembangake piranti lunak kanthi vektor serangan sing beda. Contone, ngekstrak metadata / kunci saka RAM (cold boot/serangan akses memori langsung), Ana piranti lunak gratis lan non-gratis khusus kanggo tujuan kasebut.

Sawise rampung nyetel / ngasilake "metadata unik" saka partisi aktif sing dienkripsi, VeraCrypt bakal nawakake kanggo miwiti maneh PC lan nyoba fungsi boot loader. Sawise urip maneh / miwiti Windows, VeraCrypt bakal mbukak ing mode siyaga, sing isih ana yaiku konfirmasi proses enkripsi - Y.

Ing langkah pungkasan enkripsi sistem, VeraCrypt bakal nawakake nggawe salinan serep saka header partisi ndhelik aktif ing wangun "veracrypt rescue disk.iso" - iki kudu ditindakake - ing piranti lunak iki operasi kuwi minangka syarat (ing LUKS, minangka syarat - sayangé diilangi, nanging ditekanake ing dokumentasi). Rescue disk bakal migunani kanggo kabeh wong, lan luwih saka sepisan. mundhut (header/MBR nulis ulang) salinan serep saka header permanen bakal nolak akses menyang pemisahan decrypted karo OS Windows.

A4. Nggawe USB / disk ngluwari VeraCryptSecara default, VeraCrypt nawakake kanggo ngobong "~ 2-3MB metadata" menyang CD, nanging ora kabeh wong duwe disk utawa drive DWD-ROM, lan nggawe flash drive bootable "VeraCrypt Rescue disk" bakal dadi kejutan teknis kanggo sawetara: Rufus / GUIdd-ROSA ImageWriter lan piranti lunak liyane sing padha ora bakal bisa ngatasi tugas kasebut, amarga saliyane nyalin metadata offset menyang flash drive bootable, sampeyan kudu nyalin / nempel gambar ing njaba sistem file drive USB, ing cendhak, bener nyalin MBR / dalan kanggo keychain. Sampeyan bisa nggawe flash drive bootable saka GNU / Linux OS nggunakake sarana "dd", ndeleng tandha iki.

Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

Nggawe disk ngluwari ing lingkungan Windows beda. Pangembang VeraCrypt ora kalebu solusi kanggo masalah iki ing resmi dokumentasi dening "disk ngluwari", nanging ngusulake solusi kanthi cara sing beda: dheweke ngirim piranti lunak tambahan kanggo nggawe "disk nylametake usb" kanggo akses gratis ing forum VeraCrypt. Arsip piranti lunak iki kanggo Windows yaiku "nggawe disk penyelamat veracrypt usb". Sawise nylametake disk.iso, proses enkripsi sistem blok saka partisi aktif bakal diwiwiti. Sajrone enkripsi, operasi OS ora mandheg; restart PC ora dibutuhake. Sawise rampung operasi enkripsi, partisi aktif dadi ndhelik kanthi lengkap lan bisa digunakake. Yen boot loader VeraCrypt ora katon nalika sampeyan miwiti PC, lan operasi pemulihan header ora mbantu, banjur priksa gendera "boot", kudu disetel menyang partisi ing ngendi Windows ana. (preduli saka enkripsi lan OS liyane, ndeleng Tabel No.. 1).
Iki ngrampungake katrangan babagan enkripsi sistem blok karo OS Windows.

[B] LUKAS. Enkripsi GNU/Linux (~Debian) OS sing diinstal. Algoritma lan Langkah

Kanggo ngenkripsi distribusi Debian/turunan sing wis diinstal, sampeyan kudu nggawe peta partisi sing wis disiapake menyang piranti blok virtual, transfer menyang disk GNU/Linux sing dipetakan, lan nginstal/konfigurasi GRUB2. Yen sampeyan ora duwe server logam Bare, lan sampeyan Nilai wektu, sampeyan kudu nggunakake GUI, lan paling saka printah terminal diterangake ing ngisor iki temenan kanggo mbukak ing "mode Chuck-Norris".

B1. Booting PC saka live usb GNU/Linux

"Nindakake tes crypto kanggo kinerja hardware"

lscpu && сryptsetup benchmark

Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

Yen sampeyan minangka pemilik mobil sing kuat kanthi dhukungan hardware AES, nomer kasebut bakal katon ing sisih tengen terminal, yen sampeyan duwe seneng, nanging kanthi hardware antik, angka kasebut bakal katon kaya sisih kiwa.

B2. Pemisahan disk. mounting/format fs logical disk HDD menyang Ext4 (Gparted)

B2.1. Nggawe header partisi sda7 sing dienkripsiAku bakal njlèntrèhaké jeneng partisi, ing kene lan luwih, miturut tabel partisi sing dikirim ing ndhuwur. Miturut tata letak disk, sampeyan kudu ngganti jeneng partisi.

Pemetaan Enkripsi Drive Logis (/dev/sda7 > /dev/mapper/sda7_crypt).
# Gampang nggawe "partisi LUKS-AES-XTS"

cryptsetup -v -y luksFormat /dev/sda7

Pilihan:

* luksFormat - initialization saka header LUKS;
* -y -passphrase (ora tombol / file);
* -v -verbalization (nampilake informasi ing terminal);
* / dev / sda7 - disk logis saka partisi lengkap (ing ngendi direncanakake kanggo nransfer/enkripsi GNU/Linux).

Algoritma enkripsi standar <LUKS1: aes-xts-plain64, Kunci: 256 bit, LUKS header hashing: sha256, RNG: /dev/urandom> (gumantung ing versi cryptsetup).

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

Yen ora ana support hardware kanggo AES ing CPU, pilihan sing paling apik bakal nggawe lengkap "LUKS-Twofish-XTS-partisi".

B2.2. Nggawe lanjutan "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 saka header LUKS;
* / dev / sda7 minangka disk logis sing dienkripsi ing mangsa ngarep;
* -v verbalization;
* -y tembung sandhi;
* -c pilih algoritma enkripsi data;
* -s ukuran tombol enkripsi;
* -h algoritma hashing / fungsi crypto, RNG digunakake (--nggunakake-urandom) kanggo ngasilake kunci enkripsi / dekripsi sing unik kanggo header disk logis, tombol header sekunder (XTS); kunci master unik sing disimpen ing header disk sing dienkripsi, kunci XTS sekunder, kabeh metadata iki lan rutin enkripsi sing, nggunakake kunci master lan tombol XTS sekunder, ndhelik / dekripsi data apa wae ing partisi. (kajaba judhul bagean) disimpen ing ~3MB ing partisi hard disk sing dipilih.
* -i iterasi ing milidetik, tinimbang "jumlah" (tundha wektu nalika ngolah frasa sandhi mengaruhi loading OS lan kekuatan kriptografi tombol). Kanggo njaga keseimbangan kekuatan kriptografi, kanthi tembung sandhi sing prasaja kaya "Rusia" sampeyan kudu nambah nilai -(i), kanthi tembung sandhi sing rumit kaya "?8dƱob/øfh" nilai kasebut bisa dikurangi.
* -generator nomer acak nggunakake-urandom, ngasilake kunci lan uyah.

Sawise pemetaan bagean sda7> sda7_crypt (Operasi kasebut cepet, amarga header sing dienkripsi digawe kanthi ~3 MB metadata lan kabeh iku), sampeyan kudu ngowahi format lan masang sistem file sda7_crypt.

B2.3. Bandhingan

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

pilihan:
* mbukak - cocog bagean "karo jeneng";
* / dev / sda7 -disk logis;
* sda7_crypt - pemetaan jeneng sing digunakake kanggo masang partisi sing dienkripsi utawa miwiti nalika OS boot.

B2.4. Format sistem file sda7_crypt menyang ext4. Pasang disk ing OS(Cathetan: sampeyan ora bakal bisa nggarap partisi sing dienkripsi ing Gparted)

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

pilihan:
* -v -verbalization;
* -L - label drive (sing ditampilake ing Explorer antarane drive liyane).

Sabanjure, sampeyan kudu masang piranti pamblokiran virtual-enkripsi / dev / sda7_crypt menyang sistem

mount /dev/mapper/sda7_crypt /mnt

Nggarap file ing folder / mnt bakal kanthi otomatis encrypt / decrypt data ing sda7.

Luwih trep kanggo peta lan masang partisi ing Explorer (nautilus/caja GUI), partisi kasebut bakal ana ing dhaptar pilihan disk, sing isih ana yaiku ngetik frasa sandhi kanggo mbukak / dekripsi disk. Jeneng sing cocog bakal dipilih kanthi otomatis lan dudu "sda7_crypt", nanging kaya /dev/mapper/Luks-xx-xx...

B2.5. Backup header disk (~ metadata 3MB)Salah siji sing paling penting operasi sing kudu ditindakake tanpa wektu tundha - salinan serep saka header "sda7_crypt". Yen sampeyan nimpa / ngrusak header (contone, nginstal GRUB2 ing partisi sda7, lsp.), data sing dienkripsi bakal ilang tanpa ana kemungkinan kanggo mbalekake maneh, amarga ora bakal bisa ngasilake kunci sing padha; tombol digawe kanthi unik.

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

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

pilihan:
* luksHeaderBackup —header-backup-file -backup printah;
* luksHeaderRestore —header-backup-file -restore printah;
* ~/Backup_DebSHIFR - file serep;
* / dev / sda7 - partisi sing salinan serep header disk sing dienkripsi kudu disimpen.
Ing langkah iki <nggawe lan nyunting partisi sing dienkripsi> wis rampung.

B3. Porting GNU/Linux OS (sda4) menyang partisi sing dienkripsi (sda7)

Nggawe folder / mnt2 (Cathetan - kita isih nggarap usb langsung, sda7_crypt dipasang ing / mnt), lan pasang GNU/Linux ing /mnt2, sing kudu dienkripsi.

mkdir /mnt2
mount /dev/sda4 /mnt2

Kita nindakake transfer OS sing bener nggunakake piranti lunak Rsync

rsync -avlxhHX --progress /mnt2/ /mnt

Pilihan Rsync diterangake ing paragraf E1.

Sabanjure, perlu defragment partisi disk logis

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

Nggawe aturan: nindakake e4defrag ing GNU / LInux sing dienkripsi saka wektu kanggo wektu yen sampeyan duwe HDD.
Transfer lan sinkronisasi [GNU/Linux > GNU/Linux-encrypted] wis rampung ing langkah iki.

AT 4. Nyetel GNU/Linux ing partisi sda7 sing dienkripsi

Sawise kasil nransfer OS / dev / sda4 > / dev / sda7, sampeyan kudu mlebu menyang GNU / Linux ing partisi ndhelik lan nindakake konfigurasi luwih (tanpa reboot PC) relatif kanggo sistem ndhelik. Yaiku, dadi ing usb langsung, nanging nglakokake perintah "relatif karo oyod OS sing dienkripsi." "chroot" bakal simulasi kahanan sing padha. Kanggo cepet nampa informasi babagan OS sing lagi digunakake (dienkripsi utawa ora, amarga data ing sda4 lan sda7 disinkronake), desynchronize OS. Nggawe ing direktori root (sda4/sda7_crypt) file panandha kosong, contone, / mnt / encryptedOS lan / mnt2 / decryptedOS. Priksa kanthi cepet OS apa sing sampeyan gunakake (kalebu kanggo masa depan):

ls /<Tab-Tab>

B4.1. "Simulasi mlebu menyang OS sing dienkripsi"

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

B4.2. Verifikasi manawa karya ditindakake marang sistem sing dienkripsi

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

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

B4.3. Nggawe/konfigurasi swap sing dienkripsi, nyunting crypttab/fstabWiwit file swap diformat saben-saben OS wiwit, iku ndadekake ora pangertèn kanggo nggawe lan map swap menyang disk logis saiki, lan ketik printah kaya ing paragraf B2.2. Kanggo Swap, kunci enkripsi sementara dhewe bakal digawe kanthi otomatis ing saben wiwitan. Siklus urip tombol swap: unmounting/unmounting partisi swap (+ngresiki RAM); utawa miwiti maneh OS. Nggawe swap, mbukak file sing tanggung jawab kanggo konfigurasi piranti sing dienkripsi blok (analog karo file fstab, nanging tanggung jawab kanggo crypto).

nano /etc/crypttab 

kita nyunting

# "jeneng target" "piranti sumber" "file kunci" "pilihan"
swap /dev/sda8 /dev/urandom swap,cipher=twofish-xts-plain64,size=512,hash=sha512

Pilihan
* swap - jeneng sing dipetakan nalika enkripsi / dev / mapper / swap.
* / dev / sda8 - gunakake partisi logis kanggo swap.
* /dev/urandom - generator kunci enkripsi acak kanggo swap (karo saben boot OS anyar, tombol anyar digawe). Generator / dev / urandom kurang acak tinimbang / dev / acak, sawise kabeh / dev / acak digunakake nalika digunakake ing kahanan paranoid mbebayani. Nalika mbukak OS, /dev/random slows mudhun loading kanggo sawetara ± menit (deleng systemd-analyze).
* swap, cipher = twofish-xts-plain64, size = 512, hash = sha512: -partisi ngerti yen iku swap lan diformat "miturut"; algoritma enkripsi.

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

kita nyunting

# swap aktif / dev / sda8 sajrone instalasi
/dev/mapper/swap ora ana swap sw 0 0

/ dev / mapper / swap iku jeneng sing disetel ing crypttab.

Swap ndhelik alternatif
Yen sakperangan alesan sampeyan ora pengin nyerahake partisi kabeh kanggo file swap, sampeyan bisa nggunakake cara alternatif lan luwih apik: nggawe file swap ing file ing partisi sing dienkripsi nganggo 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 будет постоянный

Persiyapan partisi swap wis rampung.

B4.4. Nyiyapake GNU/Linux sing dienkripsi (nyunting file crypttab/fstab)File /etc/crypttab, kaya sing ditulis ing ndhuwur, nggambarake piranti blok sing dienkripsi sing dikonfigurasi nalika boot sistem.

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

yen sampeyan cocog karo bagean sda7>sda7_crypt kaya ing paragraf B2.1

# "jeneng target" "piranti sumber" "file kunci" "pilihan"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

yen sampeyan cocog karo bagean sda7>sda7_crypt kaya ing paragraf B2.2

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

yen sampeyan cocog karo bagean sda7>sda7_crypt kaya ing paragraf B2.1 utawa B2.2, nanging ora pengin ngetik maneh sandhi kanggo mbukak kunci lan boot OS, banjur tinimbang sandi sampeyan bisa ngganti kunci rahasia / file acak

# "jeneng target" "piranti sumber" "file kunci" "pilihan"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

Description
* ora ana - laporan yen nalika mbukak OS, ngetik frasa sandhi rahasia dibutuhake kanggo mbukak kunci root.
* UUID - pengenal pemisahan. Kanggo ngerteni ID sampeyan, ketik terminal (pangeling-eling yen wiwit wektu iki, sampeyan nggarap terminal ing lingkungan chroot, lan ora ing terminal usb urip liyane).

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»

baris iki katon nalika njaluk blkid saka terminal usb urip karo sda7_crypt dipasang).
Sampeyan njupuk UUID saka sdaX sampeyan (ora sdaX_crypt !, UUID sdaX_crypt - bakal ditinggalake kanthi otomatis nalika ngasilake grub.cfg config).
* cipher = twofish-xts-plain64, ukuran = 512, hash = sha512 -luks enkripsi ing mode majeng.
* /etc/skey - file kunci rahasia, sing dilebokake kanthi otomatis kanggo mbukak kunci boot OS (tinimbang ngetik sandhi kaping 3). Sampeyan bisa nemtokake file apa wae nganti 8MB, nanging data kasebut bakal diwaca <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 

Bakal katon kaya iki:

(Nindakake dhewe lan ndeleng dhewe).

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

/etc/fstab ngemot informasi deskriptif babagan macem-macem sistem file.

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

# "sistem file" "titik gunung" "jinis" "pilihan" "mbucal" "pass"
# / aktif / dev / sda7 nalika dipasang
/dev/mapper/sda7_crypt / ext4 errors=remount-ro 0 1

pilihan
* /dev/mapper/sda7_crypt - jeneng pemetaan sda7>sda7_crypt, sing ditemtokake ing file /etc/crypttab.
Persiyapan crypttab/fstab wis rampung.

B4.5. Ngedit file konfigurasi. wayahe kunciB4.5.1. Ngowahi konfigurasi /etc/initramfs-tools/conf.d/resume

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

lan komentar metu (yen ana) "#" baris "resume". Berkas kasebut kudu kosong.

B4.5.2. Ngowahi konfigurasi /etc/initramfs-tools/conf.d/cryptsetup

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

kudu cocog

# /etc/initramfs-tools/conf.d/cryptsetup
CRYPTSETUP=ya
ngekspor CRYPTSETUP

B4.5.3. Ngowahi konfigurasi /etc/default/grub (konfigurasi iki tanggung jawab kanggo kemampuan kanggo ngasilake grub.cfg nalika nggarap ndhelik /boot)

nano /etc/default/grub

tambahake baris "GRUB_ENABLE_CRYPTODISK = y"
Nilai 'y', grub-mkconfig lan grub-install bakal mriksa drive sing dienkripsi lan ngasilake perintah tambahan sing dibutuhake kanggo ngakses nalika boot (insmod ).
kudu ana podho

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="quiet splash noautomount"
GRUB_ENABLE_CRYPTODISK=y

B4.5.4. Ngowahi konfigurasi /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

mriksa sing baris komentar metu <#>.
Mbesuk (lan malah saiki, parameter iki ora duwe makna, nanging kadhangkala interferes karo nganyari gambar initrd.img).

B4.5.5. Ngowahi konfigurasi /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

nambahi

KEYFILE_PATTERN=”/etc/skey”
UMASK=0077

Iki bakal ngemas kunci rahasia "skey" menyang initrd.img, kunci kasebut dibutuhake kanggo mbukak kunci root nalika OS boot. (yen sampeyan ora pengin ngetik sandhi maneh, tombol "skey" diganti kanggo mobil).

B4.6. Nganyari /boot/initrd.img [versi]Kanggo ngemas kunci rahasia menyang initrd.img lan aplikasi koreksi cryptsetup, nganyari gambar kasebut

update-initramfs -u -k all

nalika nganyari initrd.img (Nalika ujar "Sampeyan bisa, nanging ora mesthi") bebaya related kanggo cryptsetup bakal katon, utawa, contone, kabar bab mundhut saka modul Nvidia - iki normal. Sawise nganyari file, priksa manawa wis dianyari, ndeleng wektu (relatif kanggo lingkungan chroot./boot/initrd.img). Ati-ati sadurunge [update-initramfs -u -k all] priksa manawa cryptsetup mbukak / dev / sda7 sda7_crypt - iki jeneng sing katon ing / etc / crypttab, yen sawise urip maneh bakal ana kesalahan busybox)
Ing langkah iki, nyiyapake file konfigurasi wis rampung.

[C] Nginstal lan ngatur GRUB2/Protection

C1. Yen perlu, format partisi khusus kanggo bootloader (partisi mbutuhake paling ora 20MB)

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

C2. Pasang / dev / sda6 menyang / mntDadi, kita kerja ing chroot, mula ora ana direktori / mnt2 ing root, lan folder / mnt bakal kosong.
pasang partisi GRUB2

mount /dev/sda6 /mnt

Yen sampeyan duwe versi GRUB2 lawas sing diinstal, ing direktori / mnt/boot/grub/i-386-pc (platform liyane bisa, contone, ora "i386-pc") ora modul crypto (ing cendhak, folder kudu ngemot modul, kalebu .mod iki: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod), ing kasus iki, GRUB2 kudu goyangake.

apt-get update
apt-get install grub2 

Penting! Nalika nganyari paket GRUB2 saka repositori, nalika takon "babagan milih" ngendi kanggo nginstal bootloader, sampeyan kudu nolak instalasi. (alesan - nyoba nginstal GRUB2 - ing "MBR" utawa ing usb langsung). Yen ora, sampeyan bakal ngrusak header / loader VeraCrypt. Sawise nganyari paket GRUB2 lan mbatalake instalasi, boot loader kudu diinstal kanthi manual ing disk logis, lan ora ing MBR. Yen gudang sampeyan duwe versi GRUB2 sing wis lawas, coba nganyari iku saka situs web resmi - durung mriksa (makarya karo GRUB 2.02 ~BetaX boot loader paling anyar).

C3. Nginstal GRUB2 menyang partisi lengkap [sda6]Sampeyan kudu duwe partisi sing dipasang [item C.2]

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

pilihan
* —force - instalasi saka bootloader, bypassing kabeh bebaya sing meh tansah ana lan mblokir instalasi (gendera sing dibutuhake).
* --root-direktori - instalasi direktori menyang oyod sda6.
* / dev / sda6 - partisi sdaХ Panjenengan (aja kantun <spasi> antarane / mnt / dev / sda6).

C4. Nggawe file konfigurasi [grub.cfg]Lali printah "update-grub2", lan nggunakake printah generasi file konfigurasi lengkap

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

sawise ngrampungake generasi / nganyari file grub.cfg, terminal output kudu ngemot baris karo OS sing ditemokake ing disk. ("grub-mkconfig" mbokmenawa bakal nemokake lan njupuk OS saka usb urip, yen sampeyan duwe multiboot flash drive karo Windows 10 lan Bunch saka distribusi urip - iki normal). Yen terminal "kosong" lan file "grub.cfg" ora digawe, mula iki kasus sing padha nalika ana bug GRUB ing sistem. (lan paling kamungkinan loader saka cabang test saka repositori), instal maneh GRUB2 saka sumber sing dipercaya.
Instalasi "konfigurasi prasaja" lan persiyapan GRUB2 wis rampung.

C5. Tes bukti saka GNU/Linux OS sing dienkripsiKita ngrampungake misi crypto kanthi bener. Kanthi ati-ati ninggalake GNU/Linux sing dienkripsi (metu lingkungan chroot).

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

Sawise rebooting PC, bootloader VeraCrypt kudu dimuat.
Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

* Ngetik sandhi kanggo partisi aktif bakal miwiti mbukak Windows.
* Pencet tombol "Esc" bakal nransfer kontrol menyang GRUB2, yen sampeyan milih GNU/Linux sing dienkripsi - sandhi (sda7_crypt) bakal dibutuhake kanggo mbukak kunci /boot/initrd.img (yen grub2 nulis uuid "ora ditemokake" - iki minangka masalah karo bootloader grub2, kudu diinstal maneh, contone, saka test cabang / stabil etc.).
Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

* Gumantung carane sampeyan ngatur sistem (pirsani paragraf B4.4 / 4.5), sawise ngetik sandhi sing bener kanggo mbukak kunci gambar /boot/initrd.img, sampeyan butuh sandhi kanggo mbukak kernel / root OS, utawa rahasia tombol bakal kanthi otomatis diganti "skey", mbusak perlu kanggo ngetik maneh tembung sandhi.
Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi
(layar "substitusi otomatis saka kunci rahasia").

*Banjur proses sing akrab kanggo mbukak GNU/Linux kanthi otentikasi akun pangguna bakal ditindakake.
Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

*Sawise otorisasi pangguna lan mlebu menyang OS, sampeyan kudu nganyari maneh /boot/initrd.img (pirsani B4.6).

update-initramfs -u -k all

Lan ing kasus garis ekstra ing menu GRUB2 (saka OS-m pickup karo live usb) nyingkirake wong-wong mau

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

Ringkesan cepet enkripsi sistem GNU/Linux:

  • GNU/Linuxinux wis dienkripsi kanthi lengkap, kalebu /boot/kernel lan initrd;
  • tombol rahasia wis rangkep ing initrd.img;
  • skema wewenang saiki (ngetik sandhi kanggo mbukak kunci initrd; sandi/kunci kanggo boot OS; sandhi kanggo menehi wewenang akun Linux).

"Simple GRUB2 Configuration" enkripsi sistem partisi blok rampung.

C6. Konfigurasi GRUB2 majeng. Proteksi bootloader kanthi tandha digital + proteksi otentikasiGNU/Linux wis rampung ndhelik, nanging bootloader ora bisa ndhelik - kondisi iki didikte dening BIOS. Mulane, boot encrypted chained saka GRUB2 ora bisa, nanging boot chained prasaja bisa / kasedhiya, nanging saka sudut pandang keamanan ora perlu [ndeleng. P. F].
Kanggo GRUB2 sing "rawan", para pangembang ngetrapake algoritma proteksi bootloader "tandha / otentikasi".

  • Nalika bootloader dilindhungi dening "tandha digital dhewe," modifikasi eksternal file, utawa nyoba kanggo mbukak modul tambahan ing bootloader iki, bakal nyebabake proses boot diblokir.
  • Nalika nglindhungi bootloader kanthi otentikasi, kanggo milih mbukak distribusi, utawa ketik perintah tambahan ing CLI, sampeyan kudu ngetik login lan sandhi superuser-GRUB2.

C6.1. Proteksi otentikasi bootloaderPriksa manawa sampeyan nggarap terminal ing OS sing dienkripsi

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

nggawe sandhi superuser kanggo wewenang ing GRUB2

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

Entuk tembung sandi hash. Mergo iki

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

pasang partisi GRUB

mount /dev/sda6 /mnt 

ngowahi konfigurasi

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

mriksa telusuran file sing ora ana gendera ing ngendi wae ing "grub.cfg" ("-unrestricted" "-user",
tambah ing pungkasan (sadurunge baris ### END /etc/grub.d/41_custom ###)
"set superusers="root"
password_pbkdf2 root hash."

Mesthine kaya iki

# File iki nyedhiyakake cara sing gampang kanggo nambah entri menu khusus. Cukup ketik
# entri menu sing pengin ditambahake sawise komentar iki. Ati-ati supaya ora owah
# baris 'buntut exec' ing ndhuwur.
### END /etc/grub.d/40_custom ###

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

Yen sampeyan kerep nggunakake printah "grub-mkconfig -o /mnt/boot/grub/grub.cfg" lan ora pengin ngganti grub.cfg saben wektu, ketik garis ndhuwur (Login: Sandi) ing skrip pangguna GRUB ing sisih ngisor

nano /etc/grub.d/41_custom 

kucing <<EOF
atur superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF

Nalika ngasilake config "grub-mkconfig -o /mnt/boot/grub/grub.cfg", baris tanggung jawab kanggo otentikasi bakal otomatis ditambahake menyang grub.cfg.
Langkah iki ngrampungake persiyapan otentikasi GRUB2.

C6.2. Proteksi bootloader kanthi teken digitalDianggep sampeyan wis duwe kunci enkripsi pgp pribadi (utawa nggawe tombol kuwi). Sistem kasebut kudu duwe piranti lunak kriptografi sing diinstal: gnuPG; kleopatra / GPA; Kuda laut. Piranti lunak Crypto bakal nggawe urip luwih gampang ing kabeh perkara kasebut. Seahorse - versi stabil saka paket 3.14.0 (versi sing luwih dhuwur, contone, V3.20, risak lan duwe kewan omo sing signifikan).

Tombol PGP kudu digawe / diluncurake / ditambahake mung ing lingkungan su!

Nggawe kunci enkripsi pribadi

gpg - -gen-key

Ekspor kunci sampeyan

gpg --export -o ~/perskey

Pasang disk logis ing OS yen durung dipasang

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

ngresiki partisi GRUB2

rm -rf /mnt/

Instal GRUB2 ing sda6, sijine kunci pribadi ing 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 - nginstal bootloader, bypassing kabeh bebaya sing tansah ana (gendera sing dibutuhake).
* -modules = "gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" - prentah GRUB2 preload modul perlu nalika PC diwiwiti.
* -k ~/perskey -path menyang "tombol PGP" (sawise ngemas tombol menyang gambar, bisa dibusak).
* --root-directory -set direktori boot menyang root sda6
/ dev / sda6 - partisi sdaX sampeyan.

Ngasilake / nganyari grub.cfg

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

Tambah baris "trust /boot/grub/perskey" ing mburi file "grub.cfg" (meksa nggunakake tombol pgp.) Awit kita diinstal GRUB2 karo pesawat saka modul, kalebu modul teken "signature_test.mod", iki ngilangake perlu kanggo nambah printah kaya "nyetel check_signatures = nglakokaké" kanggo config.

Iku kudu katon kaya iki (baris pungkasan ing file grub.cfg)

### BEGIN /etc/grub.d/41_custom ###
yen [-f ${config_directory}/custom.cfg]; banjur
sumber ${config_directory}/custom.cfg
elif [-z "${config_directory}" -a -f $prefix/custom.cfg ]; banjur
sumber $prefix/custom.cfg;
fi
dipercaya /boot/grub/perskey
atur superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### END /etc/grub.d/41_custom ###
#

Path menyang "/boot/grub/perskey" ora perlu dituju menyang partisi disk tartamtu, contone hd0,6; kanggo bootloader dhewe, "root" minangka path standar partisi sing diinstal GRUB2. (ndeleng set rot=..).

Teken GRUB2 (kabeh file ing kabeh direktori / GRUB) karo tombol "perskey".
Solusi prasaja babagan carane mlebu (kanggo nautilus/caja explorer): nginstal ekstensi "kuda laut" kanggo Explorer saka gudang. Kunci sampeyan kudu ditambahake menyang lingkungan su.
Bukak Explorer kanthi sudo "/ mnt / boot" - RMB - tandha. Ing layar katon kaya iki

Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

Tombol dhewe yaiku "/mnt/boot/grub/perskey" (salinan menyang direktori grub) uga kudu ditandatangani nganggo teken dhewe. Priksa manawa tandha file [*.sig] katon ing direktori / subdirektori.
Nggunakake metode kasebut ing ndhuwur, tandhani "/boot" (kernel kita, initrd). Yen wektu sampeyan ana apa-apa, mula cara iki ngilangi kabutuhan nulis skrip bash kanggo mlebu "akeh file."

Kanggo mbusak kabeh teken bootloader (yen ana sing salah)

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

Supaya ora mlebu bootloader sawise nganyari sistem, kita beku kabeh paket nganyari sing ana gandhengane karo GRUB2.

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

Ing langkah iki <protect bootloader with digital signature> konfigurasi lanjutan GRUB2 wis rampung.

C6.3. Test-bukti saka bootloader GRUB2, dilindhungi dening tandha digital lan otentikasiGRUB2. Nalika milih distribusi GNU/Linux utawa ngetik CLI (baris perintah) Wewenang superuser bakal dibutuhake. Sawise ngetik jeneng pangguna / sandhi sing bener, sampeyan butuh sandhi initrd

Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi
Screenshot otentikasi sukses saka superuser GRUB2.

Yen sampeyan ngrusak file GRUB2 / nggawe owah-owahan menyang grub.cfg, utawa mbusak file / teken, utawa mbukak modul.mod sing ala, bakal ana bebaya sing cocog. GRUB2 bakal ngaso loading.

Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi
Screenshot, upaya kanggo ngganggu GRUB2 "saka njaba".

Sajrone boot "normal" "tanpa gangguan", status kode metu sistem yaiku "0". Mula, ora dingerteni manawa proteksi kasebut bisa digunakake utawa ora (yaiku, "nganggo utawa tanpa proteksi teken bootloader" sajrone mbukak normal status kasebut padha "0" - iki ala).

Kepiye cara mriksa proteksi tandha digital?

Cara sing ora trep kanggo mriksa: palsu / mbusak modul sing digunakake dening GRUB2, contone, mbusak teken luks.mod.sig lan entuk kesalahan.

Cara sing bener: pindhah menyang bootloader CLI lan ketik perintah kasebut

trust_list

Kanggo nanggepi, sampeyan kudu nampa sidik jari "perskey", yen status "0," banjur pangayoman teken ora bisa, mriksa kaping pindho paragraf C6.2.
Ing langkah iki, konfigurasi lanjut "Nglindhungi GRUB2 kanthi tandha digital lan otentikasi" wis rampung.

C7 Cara alternatif kanggo nglindhungi bootloader GRUB2 nggunakake hashingCara "CPU Boot Loader Protection / Authentication" sing diterangake ing ndhuwur minangka klasik. Amarga imperfections GRUB2, ing kondisi paranoid rentan kanggo serangan nyata, kang bakal menehi ngisor ing paragraf [F]. Kajaba iku, sawise nganyari OS / kernel, bootloader kudu ditandatangani maneh.

Nglindhungi bootloader GRUB2 nggunakake hashing

Kaluwihan saka klasik:

  • Tingkat linuwih sing luwih dhuwur (hashing / verifikasi njupuk Panggonan mung saka sumber daya lokal ndhelik. Kabeh partisi diparengake ing GRUB2 kontrol kanggo owah-owahan sembarang, lan kabeh liyane ndhelik; ing skema klasik karo pangayoman CPU loader / Authentication, mung file kontrol, nanging ora free papan, ing ngendi "soko" soko ala" bisa ditambahake).
  • logging sing dienkripsi (log ndhelik pribadi sing bisa diwaca manungsa ditambahake menyang skema).
  • Kacepetan (perlindhungan / verifikasi kabeh partisi sing diparengake kanggo GRUB2 kedadeyan meh langsung).
  • Otomatis kabeh proses kriptografi.

Cacat liwat klasik.

  • Pemalsuan tanda tangan (teoretis, bisa nemokake tabrakan fungsi hash sing diwenehake).
  • Tambah tingkat kangelan (dibandhingake klasik, skills sethitik liyane ing GNU / Linux OS dibutuhake).

Cara kerja ide hashing GRUB2 / partisi

Partisi GRUB2 "ditandatangani"; nalika OS boot, partisi boot loader dicenthang kanggo immutability, banjur mlebu ing lingkungan sing aman (enkripsi). Yen bootloader utawa partisi dikompromi, saliyane log intrusi, ing ngisor iki diluncurake:

bab.Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

Priksa sing padha ditindakake kaping papat dina, sing ora ngemot sumber daya sistem.
Nggunakake printah "-$ check_GRUB", mriksa cepet ana ing sembarang wektu tanpa logging, nanging karo output informasi kanggo CLI.
Nggunakake printah "-$ sudo signature_GRUB", GRUB2 boot loader / partisi langsung ditandatangani maneh lan logging dianyari. (perlu sawise OS / nganyari boot), lan urip terus.

Implementasi metode hashing kanggo bootloader lan bageane

0) Ayo mlebu bootloader / partisi GRUB kanthi nginstal dhisik ing / media / jeneng pangguna

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

1) Kita nggawe script tanpa extension ing ROOT OS ndhelik ~/podpis, aplikasi 744 hak keamanan perlu lan pangayoman foolproof kanggo.

Isine isine

#!/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

Jalanake skrip saka su, hashing saka partisi GRUB lan bootloader bakal dicenthang, simpen log.

Ayo nggawe utawa nyalin, contone, "file angkoro" [virus.mod] menyang partisi GRUB2 lan nglakokake pindai / tes sementara:

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

CLI kudu ndeleng invasi kita -benteng-# Dipotong log ing 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

#Minangka sampeyan bisa ndeleng, "Files dipindhah: 1 lan Audit gagal" katon, tegese mriksa gagal.
Amarga sifat partisi sing dites, tinimbang "File anyar ditemokake"> "File dipindhah"

2) Lebokake gif ing kene > ~/warning.gif, setel ijin menyang 744.

3) Konfigurasi fstab kanggo 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 {
dina
muter 50
ukuran 5M
tanggal sabanjuré
kompres
tundha kompres
olddir /var/log/old
}

/var/log/vtorjenie.txt {
saben wulan
muter 5
ukuran 5M
tanggal sabanjuré
olddir /var/log/old
}

5) Tambah proyek menyang cron

-$ sudo crontab -e

urip maneh '/langganan'
0 */6 * * * '/podpis

6) Nggawe alias permanen

-$ 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

Sawise nganyari OS -$ apt-get upgrade mlebu maneh partisi GRUB kita
-$ подпись_GRUB
Ing jalur iki, proteksi hashing saka partisi GRUB wis rampung.

[D] Wiping - ngrusak data sing ora dienkripsi

Mbusak file pribadhi kanthi lengkap supaya "malah Gusti Allah ora bisa maca," miturut juru bicara South Carolina Trey Gowdy.

Kaya biasane, ana macem-macem "mitos lan legendha", babagan mulihake data sawise dibusak saka hard drive. Yen sampeyan percaya ing cyberwitchcraft, utawa dadi anggota komunitas web Dr lan durung nate nyoba mulihake data sawise dibusak / ditimpa (contone, Recovery nggunakake R-studio), banjur cara sing diusulake ora cocog karo sampeyan, gunakake apa sing paling cedhak karo sampeyan.

Sawise kasil nransfer GNU/Linux menyang partisi ndhelik, salinan lawas kudu dibusak tanpa kamungkinan Recovery data. Cara reresik universal: piranti lunak kanggo piranti lunak GUI gratis Windows/Linux BleachBit.
Cepet format bagean, data sing kudu dirusak (liwat Gparted) miwiti BleachBit, pilih "Clean up free space" - pilih partisi (sdaX sampeyan karo salinan GNU/Linux sadurunge), proses stripping bakal diwiwiti. BleachBit - wipes disk ing siji pass - iki "kita kudu", Nanging! Iki mung bisa digunakake ing teori yen sampeyan ngowahi format disk lan ngresiki ing piranti lunak BB v2.0.

Ati-ati! BB ngilangke disk, ninggalake metadata; jeneng berkas bakal disimpen nalika data dibusak (Ccleaner - ora ninggalake metadata).

Lan mitos bab kamungkinan Recovery data ora tanggung mitos.Bleachbit V2.0-2 mantan paket OS Debian sing ora stabil (lan piranti lunak liyane sing padha: sfill; wipe-Nautilus - uga katon ing bisnis kotor iki) bener duwe bug kritis: fungsi "mbebasake ruang bebas". kerjane ora bener ing HDD / Flash drive (ntfs/ext4). Piranti lunak kaya iki, nalika ngresiki ruang kosong, ora nimpa kabeh disk, kaya sing dipikirake akeh pangguna. Lan sawetara (akeh) data dibusak OS / lunak nganggep data iki minangka non-dibusak / data pangguna lan nalika ngresiki "OSP" skip file iki. Masalahe yaiku sawise wektu sing suwe, ngresiki disk "file sing wis dibusak" bisa dibalekake malah sawise 3+ liwat wiping disk.
Ing GNU/Linux ing Bleachbit 2.0-2 Fungsi mbusak file lan direktori kanthi permanen bisa dipercaya, nanging ora mbusak ruang kosong. Kanggo mbandhingake: ing Windows ing CCleaner fungsi "OSP kanggo ntfs" mlaku kanthi bener, lan Gusti Allah ora bakal bisa maca data sing wis dibusak.

Lan supaya, kanggo sak tenane mbusak "kompromi" data lawas sing ora dienkripsi, Bleachbit mbutuhake akses langsung menyang data iki, banjur, gunakake fungsi "mbusak file / direktori kanthi permanen".
Kanggo mbusak "file sing wis dibusak nggunakake alat OS standar" ing Windows, gunakake CCleaner / BB kanthi fungsi "OSP". Ing GNU / Linux babagan masalah iki (mbusak file sing wis dibusak) sampeyan kudu latihan dhewe (mbusak data + upaya mandiri kanggo mulihake lan sampeyan ora kudu ngandelake versi piranti lunak (yen dudu tetenger, mula bug)), mung ing kasus iki sampeyan bakal bisa ngerti mekanisme masalah iki lan mbusak kabeh data dibusak.

Aku wis ora dites Bleachbit v3.0, masalah bisa uga wis didandani.
Bleachbit v2.0 dianggo jujur.

Ing langkah iki, wiping disk wis rampung.

[E] Serep universal saka OS sing dienkripsi

Saben pangguna duwe cara dhewe kanggo nggawe serep data, nanging data Sistem OS sing dienkripsi mbutuhake pendekatan sing rada beda kanggo tugas kasebut. Piranti lunak terpadu, kayata Clonezilla lan piranti lunak sing padha, ora bisa langsung nganggo data sing dienkripsi.

Pranyatan masalah gawe serep piranti blok sing dienkripsi:

  1. universalitas - algoritma serep sing padha / piranti lunak kanggo Windows / Linux;
  2. kemampuan kanggo bisa ing console karo sembarang urip usb GNU / Linux tanpa perlu kanggo download software tambahan (nanging isih nyaranake GUI);
  3. keamanan salinan serep - "gambar" sing disimpen kudu dienkripsi / dilindhungi sandhi;
  4. ukuran data sing dienkripsi kudu cocog karo ukuran data nyata sing disalin;
  5. extraction trep saka file perlu saka salinan serep (ora ana syarat kanggo dekripsi kabeh bagean dhisik).

Contone, serep / mulihake liwat sarana "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

Iku cocog kanggo meh kabeh TCTerms saka tugas, nanging miturut titik 4 iku ora ngadeg munggah kanggo kritik, awit iku nyalin kabeh partisi disk, kalebu papan free - ora menarik.

Contone, cadangan GNU/Linux liwat arsip [tar" | gpg] trep, nanging kanggo serep Windows sampeyan kudu golek solusi liyane - ora menarik.

E1. Serep Windows/Linux Universal. Link rsync (Grsync)+VeraCrypt volumeAlgoritma kanggo nggawe salinan serep:

  1. nggawe wadhah ndhelik (volume/file) VeraCrypt kanggo OS;
  2. transfer / nyinkronake OS nggunakake piranti lunak Rsync menyang wadhah crypto VeraCrypt;
  3. yen perlu, upload volume VeraCrypt kanggo www.

Nggawe wadhah VeraCrypt sing dienkripsi nduweni ciri dhewe:
nggawe volume dinamis (nggawe DT mung kasedhiya ing Windows, uga bisa digunakake ing GNU/Linux);
nggawe volume biasa, nanging ana syarat "karakter paranoid" (miturut pangembang) - format wadhah.

Volume dinamis digawe meh langsung ing Windows, nanging nalika nyalin data saka GNU/Linux> VeraCrypt DT, kinerja sakabèhé saka operasi serep sudo Ngartekno.

Volume Twofish biasa 70 GB digawe (ayo ngomong, rata-rata daya PC) menyang HDD ~ ing setengah jam (nimpa data bekas wadhah ing siji pass amarga syarat keamanan). Fungsi format cepet volume nalika nggawe wis dibusak saka VeraCrypt Windows/Linux, supaya nggawe wadhah mung bisa liwat "siji-pass rewriting" utawa nggawe volume-kinerja kurang dinamis.

Nggawe volume VeraCrypt biasa (ora dinamis/ntfs), mesthine ora ana masalah.

Konfigurasi / nggawe / mbukak wadhah ing VeraCrypt GUI> GNU/Linux live usb (volume bakal otomatis dipasang menyang /media/veracrypt2, volume OS Windows bakal dipasang menyang /media/veracrypt1). Nggawe serep ndhelik saka Windows OS nggunakake GUI rsync (grsync)kanthi mriksa kothak.

Enkripsi disk lengkap saka sistem sing diinstal Windows Linux. Multi-boot sing dienkripsi

Ngenteni proses rampung. Sawise serep wis rampung, kita bakal duwe siji file ndhelik.

Kajaba iku, gawe salinan serep OS GNU/Linux kanthi mbusak centhang kothak "Kompatibilitas Windows" ing rsync GUI.

Ati-ati! nggawe wadhah Veracrypt kanggo "GNU / Linux serep" ing sistem file ext4. Yen sampeyan nggawe serep menyang wadhah ntfs, banjur nalika mulihake salinan kasebut, sampeyan bakal kelangan kabeh hak / grup kanggo kabeh data sampeyan.

Sampeyan bisa nindakake kabeh operasi ing terminal. Pilihan dhasar kanggo rsync:
* -g -simpen klompok;
* -P —progress — status wektu sing digunakake kanggo nggarap file;
* -H - nyalin hardlinks minangka;
* -a -mode arsip (beberapa gendéra rlptgoD);
* -v - verbalisasi.

Yen sampeyan pengin masang "volume Windows VeraCrypt" liwat konsol ing piranti lunak cryptsetup, sampeyan bisa nggawe 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

Saiki printah "gambar veramount" bakal njaluk sampeyan ngetik sandhi, lan volume sistem Windows sing dienkripsi bakal dipasang ing OS.

Map/mount volume sistem VeraCrypt ing printah cryptsetup

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

Peta / gunung VeraCrypt partisi / wadhah ing printah cryptsetup

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

Tinimbang alias, kita bakal nambah (skrip kanggo miwiti) volume sistem karo OS Windows lan disk ntfs sing dienkripsi logis menyang wiwitan GNU/Linux.

Gawe skrip lan simpen ing ~/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.

Kita nyebarake hak "bener":

sudo chmod 100 /VeraOpen.sh

Gawe rong file sing padha (jeneng sing padha!) ing /etc/rc.local lan ~/etc/init.d/rc.local
Ngisi 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

Kita nyebarake hak "bener":

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

Mekaten, saiki nalika mbukak GNU / Linux, kita ora perlu ngetik sandhi kanggo masang disk ntfs sing dienkripsi, disk kasebut dipasang kanthi otomatis.

Cathetan ringkes babagan apa sing diterangake ing ndhuwur ing paragraf E1 langkah demi langkah (nanging saiki kanggo OS GNU/Linux)
1) Gawe volume ing fs ext4 > 4gb (kanggo file) Linux ing Veracrypt [Cryptbox].
2) Urip maneh kanggo urip usb.
3) ~ $ cryptsetup mbukak / dev / sda7 Lunux #pemetaan partisi enkripsi.
4) ~$ mount /dev/mapper/Linux /mnt #mount partisi sing dienkripsi menyang /mnt.
5) ~$ mkdir mnt2 #nggawe direktori kanggo serep mangsa ngarep.
6) ~$ cryptsetup open —veracrypt —type tcrypt ~/CryptoBox CryptoBox && mount /dev/mapper/CryptoBox /mnt2 #Map volume Veracrypt sing jenenge "CryptoBox" lan pasang CryptoBox menyang / mnt2.
7) ~$ rsync -avlxhHX —progress /mnt /mnt2/ #operasi serep partisi sing dienkripsi menyang volume Veracrypt sing dienkripsi.

(p/s/ Ati-ati! Yen sampeyan nransfer GNU/Linux sing dienkripsi saka siji arsitektur/mesin menyang liyane, contone, Intel > AMD (yaiku, masang serep saka partisi sing dienkripsi menyang partisi Intel > AMD sing ndhelik liyane), Ojo lali Sawise nransfer OS sing dienkripsi, sunting kunci pengganti rahasia tinimbang sandhi, bisa uga. tombol sadurunge ~/etc/skey - ora bakal pas karo partisi ndhelik liyane, lan ora dianjurake kanggo nggawe kunci anyar "cryptsetup luksAddKey" saka ngisor chroot - bisa uga ana kesalahan, mung ing ~/etc/crypttab nemtokake tinimbang "/etc/skey" sementara "ora ana" ", sawise rebot lan mlebu menyang OS, gawe maneh kunci wildcard rahasia sampeyan).

Minangka veteran IT, elinga nggawe serep kanthi kapisah saka header partisi Windows/Linux OS sing dienkripsi, utawa enkripsi bakal nglawan sampeyan.
Ing langkah iki, serep OS sing dienkripsi wis rampung.

[F] Serangan ing bootloader GRUB2

Ndeleng rincianYen sampeyan wis nglindhungi bootloader kanthi teken digital lan/utawa otentikasi (deleng titik C6.), banjur iki ora bakal nglindhungi akses fisik. Data sing dienkripsi isih ora bisa diakses, nanging proteksi kasebut bakal dilewati (reset proteksi tandha digital) GRUB2 ngidini penjahat cyber nyuntikake kode menyang bootloader tanpa curiga (kajaba pangguna manual ngawasi negara bootloader, utawa teka munggah karo kode kasepakatan-script dhewe kanggo grub.cfg).

Algoritma serangan. Penyusup

* Boots PC saka usb urip. Sembarang owah-owahan (pelanggar) file bakal menehi kabar marang pemilik nyata PC babagan intrusi menyang bootloader. Nanging reinstallation prasaja saka GRUB2 tetep grub.cfg (lan kemampuan sabanjure kanggo nyunting) bakal ngidini panyerang ngowahi file apa wae (ing kahanan iki, nalika mbukak GRUB2, pangguna nyata ora bakal diwenehi kabar. Status padha <0>)
* Pasang partisi sing ora dienkripsi, nyimpen "/mnt/boot/grub/grub.cfg".
* Instal maneh bootloader (mbusak "perskey" saka gambar core.img)

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

* Ngasilake "grub.cfg" > "/mnt/boot/grub/grub.cfg", ngowahi yen perlu, contone, nambah modul "keylogger.mod" menyang folder karo modul loader, ing "grub.cfg" > baris "insmod keylogger". Utawa, contone, yen mungsuh licik, banjur sawise reinstalling GRUB2 (kabeh teken tetep ing panggonan) iku mbangun gambar GRUB2 utama nggunakake "grub-mkimage karo pilihan (-c)." Opsi "-c" bakal ngidini sampeyan mbukak konfigurasi sadurunge mbukak "grub.cfg" utama. Konfigurasi bisa kalebu mung siji baris: pangalihan menyang sembarang "modern.cfg", campuran, contone, karo ~400 file (modul + teken) ing folder "/boot/grub/i386-pc". Ing kasus iki, panyerang bisa nglebokake kode sembarang lan mbukak modul tanpa mengaruhi "/boot/grub/grub.cfg", sanajan pangguna aplikasi "hashsum" kanggo file lan sementara ditampilake ing layar.
Penyerang ora perlu hack login / sandhi superuser GRUB2; dheweke mung kudu nyalin garis kasebut (tanggung jawab kanggo otentikasi) "/boot/grub/grub.cfg" menyang "modern.cfg" sampeyan

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

Lan pemilik PC isih bakal dikonfirmasi minangka superuser GRUB2.

Loading chain (bootloader mbukak bootloader liyane), kaya sing daktulis ing ndhuwur, ora ana gunane (iku dimaksudake kanggo tujuan sing beda). Bootloader sing dienkripsi ora bisa dimuat amarga BIOS (boot chain miwiti maneh GRUB2> GRUB2 sing dienkripsi, kesalahan!). Nanging, yen sampeyan isih nggunakake ide loading chain, sampeyan bisa yakin manawa sing dienkripsi sing dimuat. (ora modernisasi) "grub.cfg" saka partisi sing dienkripsi. Lan iki uga minangka rasa aman palsu, amarga kabeh sing dituduhake ing "grub.cfg" sing dienkripsi. (modul loading) nambah nganti modul sing dimuat saka GRUB2 unencrypted.

Yen sampeyan pengin mriksa iki, banjur alokasikan / enkripsi partisi liyane, nyalin GRUB2 menyang (Operasi instalasi grub ing partisi sing dienkripsi ora bisa ditindakake) lan ing "grub.cfg" (konfigurasi ora enkripsi) ngganti garis kaya iki

menuentry 'GRUBx2' --class parrot --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
muat_video
insmod gzio
yen [x$grub_platform = xxen]; banjur 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 - ngemot modul sing dibutuhake kanggo nggarap disk sing dienkripsi;
* GRUBx2 - jeneng baris sing ditampilake ing menu boot GRUB2;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 -deleng. fdisk -l (sda9);
* nyetel root - nginstal root;
* normal /boot/grub/grub.cfg - file konfigurasi eksekusi ing partisi ndhelik.

Kapercayan sing ndhelik "grub.cfg" sing dimuat minangka respon positif kanggo ngetik sandhi / mbukak kunci "sdaY" nalika milih baris "GRUBx2" ing menu GRUB.

Nalika nggarap CLI, supaya ora bingung (lan priksa manawa variabel lingkungan "set root" bisa digunakake), nggawe file token kosong, contone, ing bagean ndhelik "/shifr_grub", ing bagean unencrypted "/noshifr_grub". Priksa ing CLI

cat /Tab-Tab

Kaya kasebut ing ndhuwur, iki ora bakal mbantu ndownload modul sing mbebayani yen modul kasebut ana ing PC. Contone, keylogger sing bakal bisa nyimpen ketukan tombol menyang file lan nyampur karo file liyane ing "~ / i386" nganti diundhuh dening panyerang kanthi akses fisik menyang PC.

Cara paling gampang kanggo verifikasi manawa proteksi tandha digital aktif (ora reset), lan ora ana sing nyerang bootloader, ketik printah ing CLI

list_trusted

nanggepi kita nampa salinan "perskey" kita, utawa ora nampa apa-apa yen kita diserang (sampeyan uga kudu mriksa "set check_signatures=enforce").
Kerugian sing signifikan saka langkah iki yaiku ngetik perintah kanthi manual. Yen sampeyan nambah printah iki kanggo "grub.cfg" lan nglindhungi config karo teken digital, banjur output awal saka gambar asli seko tombol ing layar cendhak banget ing wektu, lan sampeyan bisa uga ora duwe wektu kanggo ndeleng output sawise loading GRUB2 .
Ora ana siji ing tartamtu kanggo nggawe claims kanggo: pangembang ing kang dokumentasi klausa 18.2 resmi ngumumake

"Elinga yen sanajan nganggo proteksi sandhi GRUB, GRUB dhewe ora bisa nyegah wong sing duwe akses fisik menyang mesin kanggo ngganti konfigurasi perangkat kukuh mesin kasebut (contone, Coreboot utawa BIOS) supaya mesin bisa boot saka piranti liyane (dikontrol penyerang). GRUB paling apik mung siji tautan ing rantai boot sing aman."

GRUB2 kakehan fungsi sing bisa menehi rasa keamanan palsu, lan pangembangane wis ngluwihi MS-DOS babagan fungsi, nanging mung bootloader. Iku lucu sing GRUB2 - "sesuk" bisa dadi OS, lan bootable GNU / mesin virtual Linux kanggo iku.

Video cendhak babagan carane ngreset proteksi tanda tangan digital GRUB2 lan nyatakake pelanggaranku menyang pangguna nyata (Aku wedi sampeyan, nanging tinimbang sing ditampilake ing video, sampeyan bisa nulis kode / .mod sing ora mbebayani).

Kesimpulan:

1) Blok enkripsi sistem kanggo Windows luwih gampang dileksanakake, lan proteksi nganggo siji sandhi luwih trep tinimbang proteksi karo sawetara sandhi karo enkripsi sistem blok GNU/Linux, supaya adil: sing terakhir otomatis.

2) Aku nulis artikel minangka relevan lan rinci prasaja guide kanggo enkripsi full-disk VeraCrypt / LUKS ing siji ngarep mesin, kang adoh paling apik ing RuNet (IMHO). Pandhuan kasebut dawane > 50k karakter, mula ora kalebu sawetara bab sing menarik: kriptografi sing ilang / tetep ing bayang-bayang; babagan kasunyatan manawa ing macem-macem buku GNU / Linux padha nulis sethithik / ora nulis babagan kriptografi; bab Pasal 51 Konstitusi Federasi Rusia; O lisènsi/larangan enkripsi ing Federasi Rusia, babagan apa sampeyan kudu ndhelik "root / boot". Pandhuan kasebut cukup jembar, nanging rinci. (Nggambarake langkah-langkah sing prasaja), ing siji, iki bakal ngirit wektu akeh nalika sampeyan njaluk menyang "enkripsi nyata".

3) Enkripsi disk lengkap ditindakake ing Windows 7 64; GNU/Linux Parrot 4x; GNU/Debian 9.0/9.5.

4) Dilaksanakake serangan sukses ing kang GRUB2 bootloader.

5) Tutorial digawe kanggo mbantu kabeh wong paranoid ing CIS, ing ngendi nggarap enkripsi diidini ing tingkat legislatif. Lan utamane kanggo wong-wong sing pengin mbukak enkripsi full-disk tanpa ngrusak sistem sing dikonfigurasi.

6) Digawe maneh lan nganyari manualku, sing relevan ing 2020.

[G] Dokumentasi migunani

  1. Pandhuan pangguna TrueCrypt (Februari 2012 RU)
  2. Dokumentasi VeraCrypt
  3. /usr/share/doc/cryptsetup(-run) [sumber daya lokal] (dokumentasi rinci resmi babagan nyetel enkripsi GNU/Linux nggunakake cryptsetup)
  4. FAQ resmi cryptsetup (dokumentasi singkat babagan nyetel enkripsi GNU/Linux nggunakake cryptsetup)
  5. enkripsi piranti LUKS (dokumentasi archlinux)
  6. Katrangan rinci babagan sintaks cryptsetup (halaman arch man)
  7. Katrangan rinci babagan crypttab (halaman arch man)
  8. Dokumentasi resmi GRUB2.

Tags: enkripsi disk lengkap, enkripsi partisi, enkripsi disk lengkap Linux, enkripsi sistem lengkap LUKS1.

Mung pangguna pangguna sing bisa melu survey. mlebunggih.

Apa sampeyan ngenkripsi?

  • 17,1%Aku encrypt kabeh aku bisa. Aku paranoid.14

  • 34,2%Aku mung ndhelik data penting.28

  • 14,6%Kadhang kala ndhelik, kadhang lali.12

  • 34,2%Ora, aku ora encrypt, iku ora trep lan larang.28

82 pangguna milih. 22 pangguna abstain.

Source: www.habr.com

Add a comment