Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan
Mengemas kini panduan sendiri untuk penyulitan cakera penuh dalam RuNet V0.2.

Strategi koboi:

[A] Penyulitan blok sistem Windows 7 bagi sistem yang dipasang;
[B] Penyulitan blok sistem GNU/Linux (Debian) sistem yang dipasang (termasuk /boot);
[C] Konfigurasi GRUB2, perlindungan pemuat but dengan tandatangan digital/pengesahan/pencincangan;
[D] pelucutan—pemusnahan data yang tidak disulitkan;
[E] sandaran universal OS yang disulitkan;
[F] serangan <pada item [C6]> sasaran - pemuat but GRUB2;
[G]dokumentasi yang berguna.

╭───Skim #bilik 40# :
├──╼ Windows 7 dipasang - penyulitan sistem penuh, tidak tersembunyi;
├──╼ GNU/Linux dipasang (Taburan Debian dan terbitan) — penyulitan sistem penuh, tidak tersembunyi(/, termasuk /boot; swap);
├──╼ pemuat but bebas: Pemuat but VeraCrypt dipasang dalam MBR, pemuat but GRUB2 dipasang dalam partition lanjutan;
├──╼tiada pemasangan/pemasangan semula OS diperlukan;
└──╼perisian kriptografi yang digunakan: VeraCrypt; cryptsetup; GnuPG; Kuda laut; Hashdeep; GRUB2 adalah percuma/percuma.

Skim di atas sebahagiannya menyelesaikan masalah "but jauh ke pemacu kilat", membolehkan anda menikmati OS Windows/Linux yang disulitkan dan bertukar-tukar data melalui "saluran yang disulitkan" dari satu OS ke OS yang lain.

Pesanan but PC (salah satu pilihan):

  • menghidupkan mesin;
  • memuatkan pemuat but VeraCrypt (memasukkan kata laluan yang betul akan terus boot Windows 7);
  • menekan kekunci "Esc" akan memuatkan pemuat but GRUB2;
  • pemuat but GRUB2 (pilih pengedaran/GNU/Linux/CLI), akan memerlukan pengesahan pengguna super GRUB2 <login/kata laluan>;
  • selepas pengesahan dan pemilihan pengedaran berjaya, anda perlu memasukkan frasa laluan untuk membuka kunci “/boot/initrd.img”;
  • selepas memasukkan kata laluan bebas ralat, GRUB2 akan "memerlukan" kemasukan kata laluan (ketiga, kata laluan BIOS atau kata laluan akaun pengguna GNU/Linux – tidak dipertimbangkan) untuk membuka kunci dan but GNU/Linux OS, atau penggantian automatik kunci rahsia (dua kata laluan + kunci, atau kata laluan + kunci);
  • pencerobohan luaran ke dalam konfigurasi GRUB2 akan membekukan proses but GNU/Linux.

Menyusahkan? Ok, mari kita mengautomasikan proses.

Apabila membahagikan cakera keras (jadual MBR) PC boleh mempunyai tidak lebih daripada 4 partition utama, atau 3 utama dan satu dilanjutkan, serta kawasan yang tidak diperuntukkan. Bahagian lanjutan, tidak seperti bahagian utama, boleh mengandungi subseksyen (pemacu logik=pembahagian lanjutan). Dalam erti kata lain, "partition lanjutan" pada HDD menggantikan LVM untuk tugas yang sedang dijalankan: penyulitan sistem penuh. Jika cakera anda dibahagikan kepada 4 partition utama, anda perlu menggunakan lvm, atau transform (dengan pemformatan) bahagian daripada utama kepada lanjutan, atau bijak menggunakan keempat-empat bahagian dan biarkan segala-galanya seperti sedia ada, mendapatkan hasil yang diingini. Walaupun anda mempunyai satu partition pada cakera anda, Gparted akan membantu anda membahagikan HDD anda (untuk bahagian tambahan) tanpa kehilangan data, tetapi masih dengan penalti kecil untuk tindakan sedemikian.

Skim susun atur cakera keras, yang berkaitan dengan keseluruhan artikel akan diungkapkan secara lisan, dibentangkan dalam jadual di bawah.

Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan
Jadual (No. 1) bagi sekatan 1TB.

Anda sepatutnya mempunyai sesuatu yang serupa juga.
sda1 - partition utama No. 1 NTFS (disulitkan);
sda2 - penanda bahagian lanjutan;
sda6 - cakera logik (ia mempunyai pemuat but GRUB2 dipasang);
sda8 - swap (fail swap disulitkan/tidak selalu);
sda9 - menguji cakera logik;
sda5 - cakera logik untuk yang ingin tahu;
sda7 - OS GNU/Linux (OS dipindahkan ke cakera logik yang disulitkan);
sda3 - partition utama No. 2 dengan OS Windows 7 (disulitkan);
sda4 - bahagian utama No. 3 (ia mengandungi GNU/Linux yang tidak disulitkan, digunakan untuk sandaran/tidak selalu).

[A] Penyulitan Blok Sistem Windows 7

A1. VeraCryptPenyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

Muat turun daripada laman rasmi, atau dari cermin sourceforge versi pemasangan perisian kriptografi VeraCrypt (pada masa penerbitan artikel v1.24-Update3, versi mudah alih VeraCrypt tidak sesuai untuk penyulitan sistem). Semak jumlah semak perisian yang dimuat turun

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

dan bandingkan hasilnya dengan CS yang disiarkan di tapak web pembangun VeraCrypt.

Jika perisian HashTab dipasang, ia lebih mudah: RMB (VeraCrypt Setup 1.24.exe)-properties - jumlah cincang fail.

Untuk mengesahkan tandatangan program, perisian dan kunci pgp awam pembangun mesti dipasang pada sistem gnuPG; gpg4win.

A2. Memasang/menjalankan perisian VeraCrypt dengan hak pentadbirPenyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

A3. Memilih parameter penyulitan sistem untuk partition aktifVeraCrypt – Sistem – Sulitkan partition/cakera sistem – Normal – Sulitkan partition sistem Windows – Multiboot – (amaran: "Pengguna yang tidak berpengalaman tidak disyorkan untuk menggunakan kaedah ini" dan ini benar, kami bersetuju "Ya") – Cakera but (“ya”, walaupun tidak begitu, tetap “ya”) – Bilangan cakera sistem “2 atau lebih” – Beberapa sistem pada satu cakera “Ya” – Pemuat but bukan Windows “Tidak” (sebenarnya, "Ya," tetapi pemuat but VeraCrypt/GRUB2 tidak akan berkongsi MBR sesama mereka; lebih tepat lagi, hanya bahagian terkecil kod pemuat but disimpan dalam trek MBR/but, bahagian utamanya ialah terdapat dalam sistem fail) – Multiboot – Tetapan penyulitan…

Jika anda menyimpang daripada langkah di atas (menyekat skim penyulitan sistem), maka VeraCrypt akan mengeluarkan amaran dan tidak akan membenarkan anda menyulitkan partition.

Dalam langkah seterusnya ke arah perlindungan data yang disasarkan, jalankan "Ujian" dan pilih algoritma penyulitan. Jika anda mempunyai CPU yang lapuk, kemungkinan besar algoritma penyulitan terpantas ialah Twofish. Jika CPU berkuasa, anda akan melihat perbezaannya: Penyulitan AES, mengikut keputusan ujian, akan beberapa kali lebih pantas daripada pesaing cryptonya. AES ialah algoritma penyulitan popular perkakasan CPU moden dioptimumkan khas untuk kedua-dua "rahsia" dan "penggodaman."

VeraCrypt menyokong keupayaan untuk menyulitkan cakera dalam lata AES(Dua ikan)/dan kombinasi lain. Pada CPU Intel teras lama dari sepuluh tahun lalu (tanpa sokongan perkakasan untuk AES, penyulitan lata A/T) Penurunan prestasi pada dasarnya tidak dapat dilihat. (untuk CPU AMD era/~parameter yang sama, prestasi dikurangkan sedikit). OS berfungsi secara dinamik dan penggunaan sumber untuk penyulitan telus tidak dapat dilihat. Sebaliknya, sebagai contoh, terdapat penurunan yang ketara dalam prestasi disebabkan oleh persekitaran desktop ujian yang tidak stabil yang dipasang Mate v1.20.1 (atau v1.20.2 saya tidak ingat dengan tepat) dalam GNU/Linux, atau disebabkan oleh pengendalian rutin telemetri dalam Windows7↑. Biasanya, pengguna berpengalaman menjalankan ujian prestasi perkakasan sebelum penyulitan. Sebagai contoh, dalam Aida64/Sysbench/systemd-analyze kesalahan dibandingkan dengan keputusan ujian yang sama selepas menyulitkan sistem, dengan itu menyangkal mitos itu sendiri bahawa "penyulitan sistem adalah berbahaya." Kelembapan mesin dan kesulitan dapat dilihat apabila membuat sandaran/memulihkan data yang disulitkan, kerana operasi "sandaran data sistem" itu sendiri tidak diukur dalam ms, dan <nyahsulit/enkripsi dengan cepat> yang sama ditambah. Akhirnya, setiap pengguna yang dibenarkan bermain-main dengan kriptografi mengimbangi algoritma penyulitan terhadap kepuasan tugasan yang ada, tahap paranoia mereka dan kemudahan penggunaan.

Adalah lebih baik untuk meninggalkan parameter PIM sebagai lalai, supaya apabila memuatkan OS anda tidak perlu memasukkan nilai lelaran yang tepat setiap kali. VeraCrypt menggunakan sejumlah besar lelaran untuk mencipta "cincang perlahan" yang benar-benar. Serangan ke atas "siput kripto" sedemikian menggunakan kaedah jadual brute force/pelangi hanya masuk akal dengan frasa laluan "mudah" pendek dan senarai charset peribadi mangsa. Harga yang perlu dibayar untuk kekuatan kata laluan adalah kelewatan dalam memasukkan kata laluan yang betul semasa memuatkan OS. (memasang volum VeraCrypt dalam GNU/Linux adalah lebih pantas).
Perisian percuma untuk melaksanakan serangan kekerasan (ekstrak frasa laluan daripada pengepala cakera VeraCrypt/LUKS) Hashcat. John the Ripper tidak tahu bagaimana untuk "memecahkan Veracrypt", dan apabila bekerja dengan LUKS tidak memahami kriptografi Twofish.

Disebabkan oleh kekuatan kriptografi algoritma penyulitan, cypherpunk yang tidak dapat dihalang sedang membangunkan perisian dengan vektor serangan yang berbeza. Contohnya, mengekstrak metadata/kunci daripada RAM (serangan boot sejuk/akses memori langsung), Terdapat perisian percuma dan bukan percuma khusus untuk tujuan ini.

Setelah selesai menyediakan/menjana "metadata unik" bagi partition aktif yang disulitkan, VeraCrypt akan menawarkan untuk memulakan semula PC dan menguji kefungsian pemuat butnya. Selepas but semula/memulakan Windows, VeraCrypt akan dimuatkan dalam mod siap sedia, yang tinggal hanyalah untuk mengesahkan proses penyulitan - Y.

Pada langkah terakhir penyulitan sistem, VeraCrypt akan menawarkan untuk membuat salinan sandaran pengepala partition yang disulitkan aktif dalam bentuk "veracrypt rescue disk.iso" - ini mesti dilakukan - dalam perisian ini operasi sedemikian adalah satu keperluan (dalam LUKS, sebagai keperluan - ini malangnya ditinggalkan, tetapi ditekankan dalam dokumentasi). Cakera penyelamat akan berguna untuk semua orang, dan untuk beberapa lebih daripada sekali. rugi (tulisan semula pengepala/MBR) salinan sandaran pengepala akan menafikan akses kepada partition yang dinyahsulit dengan OS Windows secara kekal.

A4. Mencipta USB/cakera penyelamat VeraCryptSecara lalai, VeraCrypt menawarkan untuk membakar "~ 2-3MB metadata" ke CD, tetapi tidak semua orang mempunyai cakera atau pemacu DWD-ROM, dan mencipta pemacu kilat boleh boot "cakera Penyelamat VeraCrypt" akan menjadi kejutan teknikal bagi sesetengah orang: Rufus /GUIdd-ROSA ImageWriter dan perisian lain yang serupa tidak akan dapat menangani tugas itu, kerana selain menyalin metadata mengimbangi ke pemacu kilat boleh boot, anda perlu menyalin/menampal imej di luar sistem fail pemacu USB, Pendek kata, salin MBR/jalan ke rantai kunci dengan betul. Anda boleh mencipta pemacu kilat boleh boot daripada GNU/Linux OS menggunakan utiliti "dd", melihat tanda ini.

Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

Mencipta cakera penyelamat dalam persekitaran Windows adalah berbeza. Pembangun VeraCrypt tidak memasukkan penyelesaian kepada masalah ini dalam rasmi dokumentasi oleh "cakera penyelamat", tetapi mencadangkan penyelesaian dengan cara yang berbeza: dia menyiarkan perisian tambahan untuk mencipta "cakera penyelamat usb" untuk akses percuma pada forum VeraCryptnya. Arkib perisian ini untuk Windows adalah "membuat cakera penyelamat veracrypt usb". Selepas menyimpan rescue disk.iso, proses penyulitan sistem blok bagi partition aktif akan bermula. Semasa penyulitan, operasi OS tidak berhenti; mula semula PC tidak diperlukan. Setelah selesai operasi penyulitan, partition aktif menjadi disulitkan sepenuhnya dan boleh digunakan. Jika pemuat but VeraCrypt tidak muncul semasa anda memulakan PC, dan operasi pemulihan pengepala tidak membantu, kemudian semak bendera "boot", ia mesti ditetapkan kepada partition di mana Windows hadir. (tanpa mengira penyulitan dan OS lain, lihat jadual No. 1).
Ini melengkapkan perihalan penyulitan sistem blok dengan OS Windows.

[B]LUKS. Penyulitan GNU/Linux (~Debian) OS yang dipasang. Algoritma dan Langkah

Untuk menyulitkan pengedaran Debian/derivatif yang dipasang, anda perlu memetakan partition yang disediakan ke peranti blok maya, memindahkannya ke cakera GNU/Linux yang dipetakan dan memasang/konfigurasikan GRUB2. Jika anda tidak mempunyai pelayan logam kosong, dan anda menghargai masa anda, maka anda perlu menggunakan GUI, dan kebanyakan arahan terminal yang diterangkan di bawah bertujuan untuk dijalankan dalam "mod Chuck-Norris".

B1. Boot PC daripada GNU/Linux usb langsung

“Menjalankan ujian kripto untuk prestasi perkakasan”

lscpu && сryptsetup benchmark

Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

Jika anda adalah pemilik gembira kereta berkuasa dengan sokongan perkakasan AES, maka nombor akan kelihatan seperti sebelah kanan terminal jika anda pemilik gembira, tetapi dengan perkakasan antik, nombor akan kelihatan seperti sebelah kiri;

B2. Pembahagian cakera. memasang/memformat fs cakera logik HDD ke Ext4 (Gparted)

B2.1. Mencipta pengepala partition sda7 yang disulitkanSaya akan menerangkan nama-nama partition, di sini dan seterusnya, mengikut jadual partition saya yang dipaparkan di atas. Mengikut susun atur cakera anda, anda mesti menggantikan nama partition anda.

Pemetaan Penyulitan Pemacu Logik (/dev/sda7 > /dev/mapper/sda7_crypt).
#Penciptaan "pembahagian LUKS-AES-XTS" yang mudah

cryptsetup -v -y luksFormat /dev/sda7

Pilihan:

* luksFormat - permulaan pengepala LUKS;
* -y -frasa laluan (bukan kunci/fail);
* -v -verbalization (memaparkan maklumat dalam terminal);
* /dev/sda7 - cakera logik anda daripada partition lanjutan (di mana ia dirancang untuk memindahkan/menyulitkan GNU/Linux).

Algoritma penyulitan lalai <LUKS1: aes-xts-plain64, Kunci: 256 bit, pencincangan pengepala LUKS: sha256, RNG: /dev/urandom> (bergantung pada versi cryptsetup).

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

Jika tiada sokongan perkakasan untuk AES pada CPU, pilihan terbaik adalah untuk mencipta "LUKS-Twofish-XTS-partition" yang dilanjutkan.

B2.2. Penciptaan lanjutan "LUKS-Twofish-XTS-partition"

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

Pilihan:
* luksFormat - permulaan pengepala LUKS;
* /dev/sda7 ialah cakera logik yang disulitkan masa hadapan anda;
* -v pertuturan;
* -y frasa laluan;
* -c pilih algoritma penyulitan data;
* -s saiz kunci penyulitan;
* -h algoritma pencincangan/fungsi crypto, RNG digunakan (--use-urandom) untuk menjana kunci penyulitan/penyahsulitan unik untuk pengepala cakera logik, kunci pengepala sekunder (XTS); kunci induk unik yang disimpan dalam pengepala cakera yang disulitkan, kunci XTS sekunder, semua metadata ini dan rutin penyulitan yang, menggunakan kunci induk dan kunci XTS sekunder, menyulitkan/menyahsulit sebarang data pada partition (kecuali tajuk bahagian) disimpan dalam ~3MB pada partition cakera keras yang dipilih.
* -i lelaran dalam milisaat, bukannya "jumlah" (kelewatan masa semasa memproses frasa laluan menjejaskan pemuatan OS dan kekuatan kriptografi kekunci). Untuk mengekalkan keseimbangan kekuatan kriptografi, dengan kata laluan mudah seperti "Rusia" anda perlu meningkatkan nilai -(i) dengan kata laluan yang kompleks seperti "?8dƱob/øfh" nilai boleh dikurangkan.
* —use-urandom penjana nombor rawak, menjana kunci dan garam.

Selepas memetakan bahagian sda7 > sda7_crypt (operasinya pantas, kerana pengepala yang disulitkan dibuat dengan ~3 MB metadata dan itu sahaja), anda perlu memformat dan melekapkan sistem fail sda7_crypt.

B2.3. Perbandingan

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

pilihan:
* buka - padankan bahagian "dengan nama";
* /dev/sda7 -cakera logik;
* sda7_crypt - pemetaan nama yang digunakan untuk memasang partition yang disulitkan atau memulakannya apabila OS but.

B2.4. Memformat sistem fail sda7_crypt kepada ext4. Memasang cakera dalam OS(Nota: anda tidak akan dapat bekerja dengan partition yang disulitkan dalam Gparted)

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

pilihan:
* -v -verbalisasi;
* -L - label pemacu (yang dipaparkan dalam Explorer antara pemacu lain).

Seterusnya, anda harus memasang peranti blok disulitkan maya /dev/sda7_crypt ke sistem

mount /dev/mapper/sda7_crypt /mnt

Bekerja dengan fail dalam folder /mnt akan secara automatik menyulitkan/menyahsulit data dalam sda7.

Ia lebih mudah untuk memetakan dan melekapkan partition dalam Explorer (nautilus/caja GUI), partition sudah pun berada dalam senarai pemilihan cakera, yang tinggal hanyalah memasukkan frasa laluan untuk membuka/menyahsulit cakera. Nama yang dipadankan akan dipilih secara automatik dan bukan "sda7_crypt", tetapi sesuatu seperti /dev/mapper/Luks-xx-xx...

B2.5. Sandaran pengepala cakera (~3MB metadata)Salah satu yang paling penting operasi yang perlu dilakukan tanpa berlengah-lengah - salinan sandaran pengepala "sda7_crypt". Jika anda menulis ganti/merosakkan pengepala (contohnya, memasang GRUB2 pada partition sda7, dsb.), data yang disulitkan akan hilang sepenuhnya tanpa sebarang kemungkinan untuk memulihkannya, kerana mustahil untuk menjana semula kunci yang sama dibuat secara unik.

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

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

pilihan:
* luksHeaderBackup —header-backup-file -backup command;
* luksHeaderRestore —header-backup-file -restore arahan;
* ~/Backup_DebSHIFR - fail sandaran;
* /dev/sda7 - partition yang salinan sandaran pengepala cakera yang disulitkan akan disimpan.
Pada langkah ini <membuat dan mengedit partition yang disulitkan> selesai.

B3. Memindahkan GNU/Linux OS (sda4) kepada partition yang disulitkan (sda7)

Buat folder /mnt2 (Nota - kami masih bekerja dengan usb langsung, sda7_crypt dipasang pada /mnt), dan lekapkan GNU/Linux kami dalam /mnt2, yang perlu disulitkan.

mkdir /mnt2
mount /dev/sda4 /mnt2

Kami menjalankan pemindahan OS yang betul menggunakan perisian Rsync

rsync -avlxhHX --progress /mnt2/ /mnt

Pilihan Rsync diterangkan dalam perenggan E1.

Lanjut, perlu defragment partition cakera logik

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

Jadikan peraturan: lakukan e4defrag pada GNU/LInux yang disulitkan dari semasa ke semasa jika anda mempunyai HDD.
Pemindahan dan penyegerakan [GNU/Linux > GNU/Linux-encrypted] selesai pada langkah ini.

PADA 4. Menyediakan GNU/Linux pada partition sda7 yang disulitkan

Selepas berjaya memindahkan OS /dev/sda4 > /dev/sda7, anda perlu log masuk ke GNU/Linux pada partition yang disulitkan dan menjalankan konfigurasi selanjutnya (tanpa but semula PC) berbanding dengan sistem yang disulitkan. Iaitu, untuk berada dalam usb langsung, tetapi untuk melaksanakan arahan "berbanding dengan akar OS yang disulitkan." "chroot" akan mensimulasikan situasi yang sama. Untuk menerima maklumat dengan cepat tentang OS yang sedang anda gunakan (disulitkan atau tidak, kerana data dalam sda4 dan sda7 disegerakkan), nyahsegerakkan OS. Buat dalam direktori akar (sda4/sda7_crypt) fail penanda kosong, contohnya, /mnt/encryptedOS dan /mnt2/decryptedOS. Cepat semak OS yang anda gunakan (termasuk untuk masa hadapan):

ls /<Tab-Tab>

B4.1. "Simulasi log masuk ke OS yang disulitkan"

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

B4.2. Mengesahkan bahawa kerja dijalankan terhadap sistem yang disulitkan

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

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

B4.3. Mencipta/mengkonfigurasi swap yang disulitkan, mengedit crypttab/fstabMemandangkan fail swap diformatkan setiap kali OS bermula, tidak masuk akal untuk mencipta dan memetakan swap ke cakera logik sekarang, dan menaip arahan seperti dalam perenggan B2.2. Untuk Swap, kunci penyulitan sementaranya sendiri akan dijana secara automatik pada setiap permulaan. Kitaran hayat kekunci swap: menyahlekap/menurun partition swap (+membersihkan RAM); atau mulakan semula OS. Menyediakan swap, membuka fail yang bertanggungjawab untuk konfigurasi peranti yang disulitkan blok (serupa dengan fail fstab, tetapi bertanggungjawab untuk crypto).

nano /etc/crypttab 

kita edit

#"nama sasaran" "peranti sumber" "fail kunci" "pilihan"
swap /dev/sda8 /dev/urandom swap,cipher=twofish-xts-plain64,size=512,hash=sha512

Pilihan
* swap - nama dipetakan semasa menyulitkan /dev/mapper/swap.
* /dev/sda8 - gunakan partition logik anda untuk swap.
* /dev/urandom - penjana kunci penyulitan rawak untuk swap (dengan setiap but OS baharu, kunci baharu dicipta). Penjana /dev/urandom adalah kurang rawak daripada /dev/random, lagipun /dev/random digunakan apabila bekerja dalam keadaan paranoid yang berbahaya. Apabila memuatkan OS, /dev/random memperlahankan pemuatan selama beberapa ± minit (lihat systemd-analyse).
* swap,cipher=twofish-xts-plain64,size=512,hash=sha512: -partition tahu bahawa ia adalah swap dan diformatkan "mengikut"; algoritma penyulitan.

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

kita edit

# swap dihidupkan / dev / sda8 semasa pemasangan
/dev/mapper/swap tiada tukar sw 0 0

/dev/mapper/swap ialah nama yang telah ditetapkan dalam crypttab.

Swap disulitkan alternatif
Jika atas sebab tertentu anda tidak mahu menyerahkan keseluruhan partition untuk fail swap, maka anda boleh menggunakan cara alternatif dan lebih baik: mencipta fail swap dalam fail pada partition yang disulitkan dengan 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 будет постоянный

Persediaan partition swap selesai.

B4.4. Menyediakan GNU/Linux yang disulitkan (mengedit fail crypttab/fstab)Fail /etc/crypttab, seperti yang ditulis di atas, menerangkan peranti blok yang disulitkan yang dikonfigurasikan semasa but sistem.

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

jika anda memadankan bahagian sda7>sda7_crypt seperti dalam perenggan B2.1

# "nama sasaran" "peranti sumber" "fail kunci" "pilihan"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

jika anda memadankan bahagian sda7>sda7_crypt seperti dalam perenggan B2.2

# "nama sasaran" "peranti sumber" "fail kunci" "pilihan"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512

jika anda memadankan bahagian sda7>sda7_crypt seperti dalam perenggan B2.1 atau B2.2, tetapi tidak mahu memasukkan semula kata laluan untuk membuka kunci dan but OS, maka bukannya kata laluan anda boleh menggantikan kunci rahsia/fail rawak

# "nama sasaran" "peranti sumber" "fail kunci" "pilihan"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

Описание
* tiada - melaporkan bahawa apabila memuatkan OS, memasukkan frasa laluan rahsia diperlukan untuk membuka kunci akar.
* UUID - pengecam partition. Untuk mengetahui ID anda, taip terminal (peringatan bahawa mulai masa ini dan seterusnya, anda bekerja dalam terminal dalam persekitaran chroot, dan bukan dalam terminal usb langsung yang lain).

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 ini kelihatan apabila meminta blkid daripada terminal usb langsung dengan sda7_crypt dipasang).
Anda mengambil UUID daripada sdaX anda (bukan sdaX_crypt!, UUID sdaX_crypt - akan ditinggalkan secara automatik apabila menjana konfigurasi grub.cfg).
* cipher=twofish-xts-plain64,size=512,hash=sha512 -luks penyulitan dalam mod lanjutan.
* /etc/skey - fail kunci rahsia, yang dimasukkan secara automatik untuk membuka kunci but OS (bukannya masukkan kata laluan ke-3). Anda boleh menentukan mana-mana fail sehingga 8MB, tetapi data akan 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 

Ia akan kelihatan seperti ini:

(buat sendiri dan lihat sendiri).

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

/etc/fstab mengandungi maklumat deskriptif tentang pelbagai sistem fail.

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

# "sistem fail" "titik lekap" "jenis" "pilihan" "buang" "laluan"
# / dihidupkan / dev / sda7 semasa pemasangan
/dev/mapper/sda7_crypt / ext4 errors=remount-ro 0 1

pilihan
* /dev/mapper/sda7_crypt - nama pemetaan sda7>sda7_crypt, yang dinyatakan dalam fail /etc/crypttab.
Persediaan crypttab/fstab selesai.

B4.5. Mengedit fail konfigurasi. Detik pentingB4.5.1. Mengedit konfigurasi /etc/initramfs-tools/conf.d/resume

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

dan komen keluar (jika wujud) "#" baris "sambung semula". Fail mestilah kosong sepenuhnya.

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

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

sepatutnya sepadan

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

B4.5.3. Mengedit konfigurasi /etc/default/grub (konfigurasi ini bertanggungjawab untuk keupayaan untuk menjana grub.cfg apabila bekerja dengan /boot yang disulitkan)

nano /etc/default/grub

tambah baris "GRUB_ENABLE_CRYPTODISK=y"
nilai 'y', grub-mkconfig dan grub-install akan menyemak pemacu yang disulitkan dan menjana arahan tambahan yang diperlukan untuk mengaksesnya pada masa but (insmods ).
mesti ada persamaan

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

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

nano /etc/cryptsetup-initramfs/conf-hook

semak bahawa talian mengulas <#>.
Pada masa akan datang (dan walaupun sekarang, parameter ini tidak akan mempunyai apa-apa makna, tetapi kadangkala ia mengganggu pengemaskinian imej initrd.img).

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

nano /etc/cryptsetup-initramfs/conf-hook

Tambah

KEYFILE_PATTERN=”/etc/skey”
UMASK=0077

Ini akan membungkus kunci rahsia "skey" ke dalam initrd.img, kunci diperlukan untuk membuka kunci akar apabila OS but (jika anda tidak mahu memasukkan kata laluan sekali lagi, kekunci "skey" digantikan dengan kereta).

B4.6. Kemas kini /boot/initrd.img [versi]Untuk mengemas kunci rahsia ke dalam initrd.img dan menggunakan pembetulan cryptsetup, kemas kini imej

update-initramfs -u -k all

apabila mengemas kini initrd.img (seperti yang mereka katakan "Ia mungkin, tetapi tidak pasti") amaran yang berkaitan dengan cryptsetup akan muncul, atau, sebagai contoh, pemberitahuan tentang kehilangan modul Nvidia - ini adalah perkara biasa. Selepas mengemas kini fail, semak sama ada ia telah dikemas kini, lihat masa (berbanding dengan persekitaran chroot./boot/initrd.img). Amaran! sebelum [kemas kini-initramfs -u -k all] pastikan anda menyemak bahawa cryptsetup dibuka /dev/sda7 sda7_crypt - ini adalah nama yang muncul dalam /etc/crypttab, jika tidak selepas but semula akan terdapat ralat busybox)
Pada langkah ini, menyediakan fail konfigurasi selesai.

[C] Memasang dan mengkonfigurasi GRUB2/Perlindungan

C1. Jika perlu, formatkan partition khusus untuk pemuat but (sebahagian memerlukan sekurang-kurangnya 20MB)

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

C2. Lekapkan /dev/sda6 ke /mntJadi kita bekerja dalam chroot, maka tidak akan ada direktori /mnt2 dalam root, dan folder /mnt akan kosong.
lekapkan partition GRUB2

mount /dev/sda6 /mnt

Jika anda memasang versi GRUB2 yang lebih lama, dalam direktori /mnt/boot/grub/i-386-pc (platform lain mungkin, sebagai contoh, bukan "i386-pc") tiada modul kripto (pendek kata, folder itu harus mengandungi modul, termasuk .mod ini: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod), dalam kes ini, GRUB2 perlu digoncang.

apt-get update
apt-get install grub2 

Penting! Apabila mengemas kini pakej GRUB2 dari repositori, apabila ditanya "tentang memilih" tempat untuk memasang pemuat but, anda mesti menolak pemasangan (sebab - cuba memasang GRUB2 - dalam “MBR” atau pada usb langsung). Jika tidak, anda akan merosakkan pengepala/pemuat VeraCrypt. Selepas mengemas kini pakej GRUB2 dan membatalkan pemasangan, pemuat but mesti dipasang secara manual pada cakera logik, dan bukan dalam MBR. Jika repositori anda mempunyai versi GRUB2 yang sudah lapuk, cuba kemas kini ia daripada tapak web rasmi - belum menyemaknya (bekerja dengan GRUB 2.02 ~Pemuat but BetaX terkini).

C3. Memasang GRUB2 ke dalam partition lanjutan [sda6]Anda mesti mempunyai partition terpasang [item C.2]

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

pilihan
* —force - pemasangan pemuat but, memintas semua amaran yang hampir selalu wujud dan menyekat pemasangan (bendera yang diperlukan).
* --root-directory - pemasangan direktori kepada akar sda6.
* /dev/sda6 - partition sdaХ anda (jangan terlepas <space> antara /mnt /dev/sda6).

C4. Mencipta fail konfigurasi [grub.cfg]Lupakan tentang arahan "update-grub2", dan gunakan arahan penjanaan fail konfigurasi penuh

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

selepas melengkapkan penjanaan/kemas kini fail grub.cfg, terminal output harus mengandungi baris dengan OS yang terdapat pada cakera (“grub-mkconfig” mungkin akan mencari dan mengambil OS daripada usb langsung, jika anda mempunyai pemacu denyar multiboot dengan Windows 10 dan sekumpulan pengedaran langsung - ini adalah perkara biasa). Jika terminal "kosong" dan fail "grub.cfg" tidak dijana, maka ini adalah kes yang sama apabila terdapat pepijat GRUB dalam sistem (dan kemungkinan besar pemuat dari cawangan ujian repositori), pasang semula GRUB2 daripada sumber yang dipercayai.
Pemasangan "konfigurasi ringkas" dan persediaan GRUB2 selesai.

C5. Ujian bukti bagi GNU/Linux OS yang disulitkanKami menyelesaikan misi crypto dengan betul. Berhati-hati meninggalkan GNU/Linux yang disulitkan (keluar persekitaran chroot).

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

Selepas but semula PC, pemuat but VeraCrypt harus dimuatkan.
Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

*Memasukkan kata laluan untuk partition aktif akan mula memuatkan Windows.
*Menekan kekunci "Esc" akan memindahkan kawalan ke GRUB2, jika anda memilih GNU/Linux yang disulitkan - kata laluan (sda7_crypt) akan diperlukan untuk membuka kunci /boot/initrd.img (jika grub2 menulis uuid "tidak dijumpai" - ini adalah masalah dengan pemuat but grub2, ia harus dipasang semula, mis., dari cawangan ujian/stabil dll.).
Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

*Bergantung pada cara anda mengkonfigurasi sistem (lihat perenggan B4.4/4.5), selepas memasukkan kata laluan yang betul untuk membuka kunci imej /boot/initrd.img, anda memerlukan kata laluan untuk memuatkan kernel/root OS, atau rahsia kunci akan digantikan secara automatik "skey", menghapuskan keperluan untuk memasukkan semula frasa laluan.
Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan
(skrin "penggantian automatik kunci rahsia").

*Seterusnya ialah proses biasa memuatkan GNU/Linux dengan pengesahan akaun pengguna.
Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

*Selepas kebenaran pengguna dan log masuk ke OS, anda perlu mengemas kini /boot/initrd.img sekali lagi (lihat B4.6).

update-initramfs -u -k all

Dan sekiranya terdapat baris tambahan dalam menu GRUB2 (dari pikap OS-m dengan usb langsung) singkirkan mereka

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

Ringkasan ringkas penyulitan sistem GNU/Linux:

  • GNU/Linuxinux disulitkan sepenuhnya, termasuk /boot/kernel dan initrd;
  • kunci rahsia dibungkus dalam initrd.img;
  • skim kebenaran semasa (memasukkan kata laluan untuk membuka kunci initrd; kata laluan/kunci untuk boot OS; kata laluan untuk membenarkan akaun Linux).

Penyulitan sistem "Konfigurasi GRUB2 Mudah" bagi partition blok selesai.

C6. Konfigurasi GRUB2 lanjutan. Perlindungan pemuat but dengan tandatangan digital + perlindungan pengesahanGNU/Linux disulitkan sepenuhnya, tetapi pemuat but tidak boleh disulitkan - keadaan ini ditentukan oleh BIOS. Atas sebab ini, but GRUB2 yang disulitkan berantai tidak boleh dilakukan, tetapi but berantai yang ringkas mungkin/tersedia, tetapi dari sudut keselamatan ia tidak perlu [lihat P. F].
Untuk GRUB2 yang "terdedah", pembangun melaksanakan algoritma perlindungan pemuat but "tandatangan/pengesahan".

  • Apabila pemuat but dilindungi oleh "tandatangan digitalnya sendiri", pengubahsuaian luaran fail, atau percubaan untuk memuatkan modul tambahan dalam pemuat but ini, akan menyebabkan proses pemuatan disekat.
  • Apabila melindungi pemuat but dengan pengesahan, untuk memilih memuatkan pengedaran, atau memasukkan arahan tambahan dalam CLI, anda perlu memasukkan log masuk dan kata laluan superuser-GRUB2.

C6.1. Perlindungan pengesahan pemuat butSemak sama ada anda bekerja dalam terminal pada OS yang disulitkan

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

buat kata laluan superuser untuk kebenaran dalam GRUB2

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

Dapatkan cincang kata laluan. Sesuatu seperti ini

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

lekapkan partition GRUB

mount /dev/sda6 /mnt 

edit konfigurasi

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

semak carian fail bahawa tiada bendera di mana-mana dalam “grub.cfg” (“-unrestricted” “-user”,
tambah di hujung sekali (sebelum baris ### TAMAT /etc/grub.d/41_custom ###)
"set superusers="root"
password_pbkdf2 root hash."

Ia sepatutnya seperti ini

# Fail ini menyediakan cara mudah untuk menambah entri menu tersuai. Cukup taip
# entri menu yang anda mahu tambah selepas ulasan ini. Berhati-hati untuk tidak berubah
# garis 'ekor exec' di atas.
### TAMAT /etc/grub.d/40_custom ###

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

Jika anda sering menggunakan arahan "grub-mkconfig -o /mnt/boot/grub/grub.cfg" dan tidak mahu membuat perubahan pada grub.cfg setiap kali, masukkan baris di atas (Log Masuk: Kata Laluan) dalam skrip pengguna GRUB di bahagian paling bawah

nano /etc/grub.d/41_custom 

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

Apabila menjana konfigurasi "grub-mkconfig -o /mnt/boot/grub/grub.cfg", baris yang bertanggungjawab untuk pengesahan akan ditambahkan secara automatik ke grub.cfg.
Langkah ini melengkapkan persediaan pengesahan GRUB2.

C6.2. Perlindungan pemuat but dengan tandatangan digitalDiandaikan bahawa anda sudah mempunyai kunci penyulitan pgp peribadi anda (atau buat kunci sedemikian). Sistem mesti memasang perisian kriptografi: gnuPG; kleopatra/GPA; Kuda laut. Perisian Crypto akan menjadikan hidup anda lebih mudah dalam semua perkara tersebut. Kuda laut - versi stabil pakej 3.14.0 (versi yang lebih tinggi, contohnya, V3.20, rosak dan mempunyai pepijat yang ketara).

Kunci PGP perlu dijana/dilancarkan/ditambah hanya dalam persekitaran su!

Hasilkan kunci penyulitan peribadi

gpg - -gen-key

Eksport kunci anda

gpg --export -o ~/perskey

Pasang cakera logik dalam OS jika ia belum dipasang

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

bersihkan partition GRUB2

rm -rf /mnt/

Pasang GRUB2 dalam sda6, letakkan kunci peribadi anda dalam imej 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 - pasang pemuat but, memintas semua amaran yang sentiasa wujud (bendera yang diperlukan).
* —modules="gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" - mengarahkan GRUB2 untuk pramuat modul yang diperlukan apabila PC dimulakan.
* -k ~/perskey -path ke "kunci PGP" (selepas membungkus kunci ke dalam imej, ia boleh dipadamkan).
* --root-directory -tetapkan direktori but kepada akar sda6
/dev/sda6 - partition sdaX anda.

Menjana/mengemas kini grub.cfg

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

Tambahkan baris "trust /boot/grub/perskey" pada penghujung fail "grub.cfg" (paksa menggunakan kunci pgp.) Memandangkan kami memasang GRUB2 dengan set modul, termasuk modul tandatangan "signature_test.mod", ini menghapuskan keperluan untuk menambah arahan seperti "set check_signatures=enforce" pada konfigurasi.

Ia sepatutnya kelihatan seperti ini (baris tamat dalam fail grub.cfg)

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

Laluan ke "/boot/grub/perskey" tidak perlu ditujukan kepada partition cakera tertentu, contohnya hd0,6 untuk pemuat but itu sendiri, "root" ialah laluan lalai bagi partition yang mana GRUB2 dipasang (lihat set reput=..).

Menandatangani GRUB2 (semua fail dalam semua direktori /GRUB) dengan kunci anda "perskey".
Penyelesaian mudah tentang cara menandatangani (untuk nautilus/caja explorer): pasang sambungan "kuda laut" untuk Explorer dari repositori. Kunci anda mesti ditambahkan pada persekitaran su.
Buka Explorer dengan sudo "/mnt/boot" - RMB - tanda. Pada skrin ia kelihatan seperti ini

Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

Kunci itu sendiri ialah "/mnt/boot/grub/perskey" (salin ke direktori grub) mesti juga ditandatangani dengan tandatangan anda sendiri. Semak sama ada tandatangan fail [*.sig] muncul dalam direktori/subdirektori.
Menggunakan kaedah yang diterangkan di atas, tandai “/boot” (kernel kami, initrd). Jika masa anda bernilai apa-apa, kaedah ini menghapuskan keperluan untuk menulis skrip bash untuk menandatangani "banyak fail."

Untuk mengalih keluar semua tandatangan pemuat but (jika ada yang tidak kena)

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

Untuk tidak menandatangani pemuat but selepas mengemas kini sistem, kami membekukan semua pakej kemas kini yang berkaitan dengan GRUB2.

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

Pada langkah ini <protect bootloader with digital signature> konfigurasi lanjutan GRUB2 selesai.

C6.3. Ujian bukti pemuat but GRUB2, dilindungi oleh tandatangan digital dan pengesahanGRUB2. Apabila memilih mana-mana pengedaran GNU/Linux atau memasuki CLI (baris arahan) Keizinan superuser akan diperlukan. Selepas memasukkan nama pengguna/kata laluan yang betul, anda memerlukan kata laluan initrd

Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan
Tangkapan skrin kejayaan pengesahan pengguna super GRUB2.

Jika anda mengganggu mana-mana fail GRUB2/membuat perubahan pada grub.cfg, atau memadam fail/tandatangan, atau memuatkan modul.mod yang berniat jahat, amaran yang sepadan akan dipaparkan. GRUB2 akan menjeda pemuatan.

Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan
Petikan skrin, percubaan untuk mengganggu GRUB2 "dari luar".

Semasa but "biasa" "tanpa pencerobohan", status kod keluar sistem ialah "0". Oleh itu, tidak diketahui sama ada perlindungan itu berfungsi atau tidak (iaitu, "dengan atau tanpa perlindungan tandatangan pemuat but" semasa pemuatan biasa status adalah sama "0" - ini buruk).

Bagaimana untuk menyemak perlindungan tandatangan digital?

Cara yang menyusahkan untuk menyemak: palsu/alih keluar modul yang digunakan oleh GRUB2, contohnya, alih keluar tandatangan luks.mod.sig dan dapatkan ralat.

Cara yang betul: pergi ke pemuat but CLI dan taip arahan

trust_list

Sebagai tindak balas, anda harus menerima cap jari "perskey" jika statusnya ialah "0", maka perlindungan tandatangan tidak berfungsi, semak semula perenggan C6.2.
Pada langkah ini, konfigurasi lanjutan "Melindungi GRUB2 dengan tandatangan digital dan pengesahan" selesai.

C7 Kaedah alternatif untuk melindungi pemuat but GRUB2 menggunakan pencincanganKaedah "CPU Boot Loader Protection/Authentication" yang diterangkan di atas adalah klasik. Disebabkan oleh ketidaksempurnaan GRUB2, dalam keadaan paranoid ia terdedah kepada serangan sebenar, yang akan saya berikan di bawah dalam perenggan [F]. Di samping itu, selepas mengemas kini OS/kernel, pemuat but mesti ditandatangani semula.

Melindungi pemuat but GRUB2 menggunakan pencincangan

Kelebihan berbanding klasik:

  • Tahap kebolehpercayaan yang lebih tinggi (pencincangan/pengesahan berlaku hanya daripada sumber tempatan yang disulitkan. Keseluruhan partition yang diperuntukkan di bawah GRUB2 dikawal untuk sebarang perubahan, dan semua yang lain disulitkan; dalam skema klasik dengan perlindungan/Pengesahan pemuat CPU, hanya fail dikawal, tetapi bukan percuma ruang, di mana "sesuatu" sesuatu yang jahat" boleh ditambah).
  • Pengelogan disulitkan (log disulitkan peribadi yang boleh dibaca manusia ditambahkan pada skema).
  • Kelajuan (perlindungan/pengesahan keseluruhan partition yang diperuntukkan untuk GRUB2 berlaku hampir serta-merta).
  • Automasi semua proses kriptografi.

Kelemahan berbanding klasik.

  • Pemalsuan tandatangan (secara teorinya, adalah mungkin untuk mencari perlanggaran fungsi hash yang diberikan).
  • Tahap kesukaran meningkat (berbanding klasik, sedikit lagi kemahiran dalam GNU/Linux OS diperlukan).

Cara idea pencincangan GRUB2/partition berfungsi

Pembahagian GRUB2 "ditandatangani" apabila OS but, partition pemuat but diperiksa untuk tidak berubah, diikuti dengan log masuk dalam persekitaran yang selamat (disulitkan). Jika pemuat but atau partitionnya terjejas, sebagai tambahan kepada log pencerobohan, perkara berikut dilancarkan:

Perkara.Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

Pemeriksaan serupa berlaku empat kali sehari, yang tidak memuatkan sumber sistem.
Menggunakan arahan "-$ check_GRUB", semakan segera berlaku pada bila-bila masa tanpa pengelogan, tetapi dengan output maklumat kepada CLI.
Menggunakan arahan "-$ sudo signature_GRUB", pemuat but/partition GRUB2 serta-merta ditandatangani semula dan pengelogannya dikemas kini (perlu selepas kemas kini OS/boot), dan kehidupan diteruskan.

Pelaksanaan kaedah pencincangan untuk pemuat but dan bahagiannya

0) Mari kita tandatangani pemuat but/partition GRUB dengan terlebih dahulu memasangnya dalam /media/nama pengguna

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

1) Kami mencipta skrip tanpa sambungan dalam akar OS ~/podpis yang disulitkan, menggunakan hak keselamatan 744 yang diperlukan dan perlindungan yang tidak mudah padanya.

Mengisi kandungannya

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

Kami menjalankan skrip dari su, pencincangan partition GRUB dan pemuat butnya akan disemak, simpan log.

Mari buat atau salin, sebagai contoh, "fail berniat jahat" [virus.mod] ke partition GRUB2 dan jalankan imbasan/ujian sementara:

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

CLI mesti melihat pencerobohan -benteng- kami#Log masuk CLI dipangkas

Ср янв  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

#Seperti yang anda lihat, "Fail dialihkan: 1 dan Audit gagal" muncul, yang bermaksud bahawa semakan gagal.
Disebabkan sifat partition yang sedang diuji, bukannya "Fail baharu ditemui" > "Fail dialihkan"

2) Letakkan gif di sini > ~/warning.gif, tetapkan kebenaran kepada 744.

3) Mengkonfigurasi fstab untuk automount partition GRUB semasa but

-$ sudo nano /etc/fstab

LABEL=GRUB /media/nama pengguna/GRUB ext4 lalai 0 0

4) Memusingkan log

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

/var/log/podpis.txt {
harian
putar 50
saiz 5M
tarikh tarikh
tekanan
kelewatan
olddir /var/log/old
}

/var/log/vtorjenie.txt {
bulanan
putar 5
saiz 5M
tarikh tarikh
olddir /var/log/old
}

5) Tambahkan kerja pada cron

-$ sudo crontab -e

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

6) Mencipta alias kekal

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

Selepas kemas kini OS -$ apt-get upgrade menandatangani semula partition GRUB kami
-$ подпись_GRUB
Pada ketika ini, perlindungan pencincangan bagi partition GRUB selesai.

[D] Mengelap - pemusnahan data yang tidak disulitkan

Padamkan fail peribadi anda sepenuhnya sehingga "Tuhan pun tidak boleh membacanya," menurut jurucakap South Carolina, Trey Gowdy.

Seperti biasa, terdapat pelbagai “mitos dan lagenda", mengenai memulihkan data selepas ia dipadamkan daripada pemacu keras. Jika anda percaya kepada sihir siber, atau ahli komuniti web Dr dan tidak pernah mencuba pemulihan data selepas ia dipadam/ditulis ganti (contohnya, pemulihan menggunakan R-studio), maka kaedah yang dicadangkan tidak mungkin sesuai dengan anda, gunakan yang paling hampir dengan anda.

Selepas berjaya memindahkan GNU/Linux ke partition yang disulitkan, salinan lama mesti dipadamkan tanpa kemungkinan pemulihan data. Kaedah pembersihan sejagat: perisian untuk perisian GUI percuma Windows/Linux BleachBit.
Cepat format bahagian, data yang perlu dimusnahkan (melalui Gparted) lancarkan BleachBit, pilih "Clean up free space" - pilih partition (sdaX anda dengan salinan GNU/Linux sebelumnya), proses pelucutan akan bermula. BleachBit - mengelap cakera dalam satu laluan - inilah yang "kita perlukan", Tetapi! Ini hanya berfungsi secara teori jika anda memformat cakera dan membersihkannya dalam perisian BB v2.0.

Perhatian! BB mengelap cakera, meninggalkan metadata nama fail disimpan apabila data dihapuskan (Ccleaner - tidak meninggalkan metadata).

Dan mitos tentang kemungkinan pemulihan data bukanlah mitos sepenuhnya.Bleachbit V2.0-2 bekas pakej OS Debian yang tidak stabil (dan mana-mana perisian lain yang serupa: sfill; wipe-Nautilus - turut diperhatikan dalam perniagaan kotor ini) sebenarnya mempunyai pepijat kritikal: fungsi "pembersihan ruang bebas". ia berfungsi dengan tidak betul pada pemacu HDD/Flash (ntfs/ext4). Perisian jenis ini, apabila mengosongkan ruang kosong, tidak menimpa keseluruhan cakera, seperti yang difikirkan oleh ramai pengguna. Dan beberapa (banyak) data yang dipadam OS/perisian menganggap data ini sebagai data tidak dipadam/pengguna dan apabila membersihkan "OSP" ia melangkau fail ini. Masalahnya ialah selepas sekian lama, membersihkan cakera "fail yang dipadam" boleh dipulihkan walaupun selepas 3+ pas mengelap cakera.
Pada GNU/Linux di Bleachbit 2.0-2 Fungsi memadam fail dan direktori secara kekal berfungsi dengan pasti, tetapi tidak mengosongkan ruang kosong. Sebagai perbandingan: pada Windows dalam CCleaner fungsi "OSP untuk ntfs" berfungsi dengan betul, dan Tuhan benar-benar tidak akan dapat membaca data yang dipadamkan.

Dan sebagainya, untuk mengalih keluar dengan teliti "berkompromi" data lama yang tidak disulitkan, Bleachbit memerlukan akses terus kepada data ini, kemudian, gunakan fungsi "padam fail/direktori secara kekal".
Untuk mengalih keluar "fail yang dipadam menggunakan alat OS standard" dalam Windows, gunakan CCleaner/BB dengan fungsi "OSP". Dalam GNU/Linux mengenai masalah ini (padam fail yang dipadam) anda perlu berlatih sendiri (memadam data + percubaan bebas untuk memulihkannya dan anda tidak seharusnya bergantung pada versi perisian (jika bukan penanda halaman, maka pepijat)), hanya dalam kes ini anda akan dapat memahami mekanisme masalah ini dan menyingkirkan data yang dipadam sepenuhnya.

Saya belum menguji Bleachbit v3.0, masalahnya mungkin telah dibetulkan.
Bleachbit v2.0 berfungsi dengan jujur.

Pada langkah ini, mengelap cakera selesai.

[E] Sandaran universal OS yang disulitkan

Setiap pengguna mempunyai kaedah mereka sendiri untuk membuat sandaran data, tetapi data OS Sistem yang disulitkan memerlukan pendekatan yang sedikit berbeza untuk tugas itu. Perisian bersatu, seperti Clonezilla dan perisian serupa, tidak boleh berfungsi secara langsung dengan data yang disulitkan.

Pernyataan masalah menyandarkan peranti blok yang disulitkan:

  1. kesejagatan - algoritma/perisian sandaran yang sama untuk Windows/Linux;
  2. keupayaan untuk bekerja dalam konsol dengan mana-mana usb GNU/Linux langsung tanpa memerlukan muat turun perisian tambahan (tetapi masih mengesyorkan GUI);
  3. keselamatan salinan sandaran - "imej" yang disimpan mesti disulitkan/dilindungi kata laluan;
  4. saiz data yang disulitkan mesti sepadan dengan saiz data sebenar yang disalin;
  5. pengekstrakan mudah fail yang diperlukan daripada salinan sandaran (tiada keperluan untuk menyahsulit keseluruhan bahagian dahulu).

Contohnya, sandarkan/pulihkan melalui utiliti "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

Ia sepadan dengan hampir semua mata tugas, tetapi menurut titik 4 ia tidak tahan terhadap kritikan, kerana ia menyalin keseluruhan partition cakera, termasuk ruang kosong - tidak menarik.

Contohnya, sandaran GNU/Linux melalui pengarkib [tar" | gpg] mudah, tetapi untuk sandaran Windows anda perlu mencari penyelesaian lain - ia tidak menarik.

E1. Sandaran Windows/Linux Universal. Pautan rsync (Grsync)+VeraCrypt volumAlgoritma untuk membuat salinan sandaran:

  1. mencipta bekas yang disulitkan (volume/fail) VeraCrypt untuk OS;
  2. pindahkan/segerakkan OS menggunakan perisian Rsync ke dalam bekas kripto VeraCrypt;
  3. jika perlu, muat naik volum VeraCrypt ke www.

Mencipta bekas VeraCrypt yang disulitkan mempunyai ciri tersendiri:
mencipta volum dinamik (penciptaan DT hanya tersedia dalam Windows, juga boleh digunakan dalam GNU/Linux);
mencipta volum biasa, tetapi terdapat keperluan "watak paranoid" (menurut pemaju) – pemformatan bekas.

Kelantangan dinamik dicipta hampir serta-merta dalam Windows, tetapi apabila menyalin data daripada GNU/Linux > VeraCrypt DT, prestasi keseluruhan operasi sandaran berkurangan dengan ketara.

Jumlah biasa 70 GB Twofish dicipta (katakan sahaja, secara purata kuasa PC) ke HDD ~ dalam setengah jam (menimpa data bekas bekas dalam satu pas adalah disebabkan oleh keperluan keselamatan). Fungsi memformatkan volum dengan cepat apabila menciptanya telah dialih keluar daripada VeraCrypt Windows/Linux, jadi mencipta bekas hanya boleh dilakukan melalui "penulisan semula satu laluan" atau mencipta volum dinamik berprestasi rendah.

Buat volum VeraCrypt biasa (bukan dinamik/ntfs), sepatutnya tidak ada masalah.

Konfigurasikan/buat/buka bekas dalam VeraCrypt GUI> GNU/Linux live usb (volum akan dipasang secara automatik ke /media/veracrypt2, volum OS Windows akan dipasang ke /media/veracrypt1). Mencipta sandaran disulitkan OS Windows menggunakan GUI rsync (grsync)dengan menandakan kotak.

Penyulitan cakera penuh sistem dipasang Windows Linux. Berbilang but yang disulitkan

Tunggu proses selesai. Setelah sandaran selesai, kami akan mempunyai satu fail yang disulitkan.

Begitu juga, buat salinan sandaran OS GNU/Linux dengan menyahtanda kotak semak "keserasian Windows" dalam GUI rsync.

Perhatian! buat bekas Veracrypt untuk "sandaran GNU/Linux" dalam sistem fail ext4. Jika anda membuat sandaran kepada bekas ntfs, maka apabila anda memulihkan salinan sedemikian, anda akan kehilangan semua hak/kumpulan untuk semua data anda.

Semua operasi boleh dijalankan di terminal. Pilihan asas untuk rsync:
* -g -simpan kumpulan;
* -P —progres — status masa yang dihabiskan untuk bekerja pada fail;
* -H - salin pautan keras seperti sedia ada;
* -a -mod arkib (bendera rlptgoD berbilang);
* -v -verbalisasi.

Jika anda ingin memasang "volum Windows VeraCrypt" melalui konsol dalam perisian cryptsetup, anda boleh membuat 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

Sekarang arahan "gambar utama" akan menggesa anda memasukkan frasa laluan, dan volum sistem Windows yang disulitkan akan dipasang dalam OS.

Peta/lekapkan volum sistem VeraCrypt dalam arahan cryptsetup

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

Peta/lekapkan partition/bekas VeraCrypt dalam arahan cryptsetup

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

Daripada alias, kami akan menambah (skrip untuk memulakan) volum sistem dengan OS Windows dan cakera ntfs yang disulitkan logik kepada permulaan GNU/Linux

Cipta skrip dan simpan dalam ~/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.

Kami mengedarkan hak "betul":

sudo chmod 100 /VeraOpen.sh

Buat dua fail yang sama (nama yang sama!) dalam /etc/rc.local dan ~/etc/init.d/rc.local
Mengisi fail

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

Kami mengedarkan hak "betul":

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

Itu sahaja, kini apabila memuatkan GNU/Linux kita tidak perlu memasukkan kata laluan untuk memasang cakera ntfs yang disulitkan, cakera itu dipasang secara automatik.

Nota ringkas tentang perkara yang diterangkan di atas dalam perenggan E1 langkah demi langkah (tetapi kini untuk OS GNU/Linux)
1) Buat volum dalam fs ext4 > 4gb (untuk fail) Linux dalam Veracrypt [Cryptbox].
2) But semula untuk menghidupkan usb.
3) ~$ cryptsetup open /dev/sda7 Lunux #mapping encrypted partition.
4) ~$ lekapkan /dev/mapper/Linux /mnt #lekapkan partition yang disulitkan ke /mnt.
5) ~$ mkdir mnt2 #mewujudkan direktori untuk sandaran masa hadapan.
6) ~$ cryptsetup open —veracrypt —taip tcrypt ~/CryptoBox CryptoBox && lekapkan /dev/mapper/CryptoBox /mnt2 #Peta volum Veracrypt bernama “CryptoBox” dan lekapkan CryptoBox ke /mnt2.
7) ~$ rsync -avlxhHX —progress /mnt /mnt2/ #operasi sandaran partition yang disulitkan kepada volum Veracrypt yang disulitkan.

(p/s/ Perhatian! Jika anda memindahkan GNU/Linux yang disulitkan daripada satu seni bina/mesin ke yang lain, contohnya, Intel > AMD (iaitu, menggunakan sandaran daripada satu partition yang disulitkan kepada partition Intel > AMD yang disulitkan yang lain), Jangan lupa Selepas memindahkan OS yang disulitkan, edit kunci pengganti rahsia dan bukannya kata laluan, mungkin. kunci sebelumnya ~/etc/skey - tidak akan muat lagi partition yang disulitkan, dan tidak digalakkan untuk mencipta kunci baharu "cryptsetup luksAddKey" dari bawah chroot - gangguan boleh berlaku, hanya dalam ~/etc/crypttab specify dan bukannya “/etc/skey” sementara “tiada” ", selepas rebot dan log masuk ke OS, buat semula kunci kad bebas rahsia anda sekali lagi).

Sebagai veteran IT, ingat untuk membuat sandaran secara berasingan bagi pengepala partition Windows/Linux OS yang disulitkan, atau penyulitan akan bertentangan dengan anda.
Pada langkah ini, sandaran OS yang disulitkan selesai.

[F] Serangan pada pemuat but GRUB2

DetailsJika anda telah melindungi pemuat but anda dengan tandatangan digital dan/atau pengesahan (lihat titik C6.), maka ini tidak akan melindungi daripada akses fizikal. Data yang disulitkan masih tidak boleh diakses, tetapi perlindungan akan dipintas (set semula perlindungan tandatangan digital) GRUB2 membenarkan penjahat siber menyuntik kodnya ke dalam pemuat but tanpa menimbulkan syak wasangka (melainkan pengguna memantau keadaan pemuat but secara manual, atau menghasilkan kod skrip arbitrari mereka sendiri yang mantap untuk grub.cfg).

Algoritma serangan. penceroboh

* But PC daripada usb langsung. Sebarang perubahan (pelanggar) fail akan memberitahu pemilik sebenar PC tentang pencerobohan ke dalam pemuat but. Tetapi pemasangan semula mudah GRUB2 keeping grub.cfg (dan keupayaan seterusnya untuk mengeditnya) akan membenarkan penyerang mengedit sebarang fail (dalam situasi ini, apabila memuatkan GRUB2, pengguna sebenar tidak akan dimaklumkan. Statusnya adalah sama <0>)
* Melekapkan partition yang tidak disulitkan, menyimpan "/mnt/boot/grub/grub.cfg".
* Memasang semula pemuat but (mengalih keluar "perskey" daripada imej core.img)

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

* Mengembalikan “grub.cfg” > “/mnt/boot/grub/grub.cfg”, mengeditnya jika perlu, contohnya, menambahkan modul anda “keylogger.mod” pada folder dengan modul pemuat, dalam “grub.cfg” > baris "insmod keylogger". Atau, sebagai contoh, jika musuh licik, maka selepas memasang semula GRUB2 (semua tandatangan kekal di tempatnya) ia membina imej GRUB2 utama menggunakan "grub-mkimage dengan pilihan (-c)." Pilihan "-c" akan membolehkan anda memuatkan konfigurasi anda sebelum memuatkan "grub.cfg" utama. Konfigurasi boleh terdiri daripada hanya satu baris: ubah hala ke mana-mana "modern.cfg", bercampur, sebagai contoh, dengan ~400 fail (modul+tandatangan) dalam folder "/boot/grub/i386-pc". Dalam kes ini, penyerang boleh memasukkan kod arbitrari dan memuatkan modul tanpa menjejaskan "/boot/grub/grub.cfg", walaupun pengguna menggunakan "hashsum" pada fail dan memaparkannya buat sementara waktu pada skrin.
Penyerang tidak perlu menggodam log masuk/kata laluan superuser GRUB2 dia hanya perlu menyalin baris (bertanggungjawab untuk pengesahan) "/boot/grub/grub.cfg" ke "modern.cfg" anda

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

Dan pemilik PC masih akan disahkan sebagai pengguna super GRUB2.

Pemuatan rantai (pemuat but memuatkan pemuat but lain), seperti yang saya tulis di atas, tidak masuk akal (ia bertujuan untuk tujuan yang berbeza). Pemuat but yang disulitkan tidak boleh dimuatkan kerana BIOS (but rantai memulakan semula GRUB2 > GRUB2 yang disulitkan, ralat!). Walau bagaimanapun, jika anda masih menggunakan idea pemuatan rantai, anda boleh yakin bahawa ia adalah yang disulitkan yang sedang dimuatkan. (tidak dimodenkan) "grub.cfg" daripada partition yang disulitkan. Dan ini juga merupakan rasa selamat yang palsu, kerana semua yang ditunjukkan dalam "grub.cfg" yang disulitkan (pemuatan modul) menambah sehingga modul yang dimuatkan daripada GRUB2 yang tidak disulitkan.

Jika anda ingin menyemak ini, kemudian peruntukkan/sulitkan partition lain sdaY, salin GRUB2 kepadanya (operasi pemasangan grub pada partition yang disulitkan tidak mungkin) dan dalam "grub.cfg" (konfigurasi tidak disulitkan) tukar baris seperti ini

menuentry 'GRUBx2' --class parrot --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
muatkan_video
insmod gzio
jika [ x$grub_platform = xxen ]; kemudian 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′
biasa /boot/grub/grub.cfg
}

tali
* insmod - memuatkan modul yang diperlukan untuk bekerja dengan cakera yang disulitkan;
* GRUBx2 - nama baris yang dipaparkan dalam menu but GRUB2;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 -lihat. fdisk -l (sda9);
* set root - pasang root;
* normal /boot/grub/grub.cfg - fail konfigurasi boleh laku pada partition yang disulitkan.

Keyakinan bahawa ia adalah "grub.cfg" yang disulitkan yang dimuatkan adalah tindak balas positif untuk memasukkan kata laluan/membuka kunci "sdaY" apabila memilih baris "GRUBx2" dalam menu GRUB.

Apabila bekerja di CLI, supaya tidak keliru (dan semak sama ada pembolehubah persekitaran "set root" berfungsi), buat fail token kosong, contohnya, dalam bahagian yang disulitkan "/shifr_grub", dalam bahagian yang tidak disulitkan "/noshifr_grub". Menyemak dalam CLI

cat /Tab-Tab

Seperti yang dinyatakan di atas, ini tidak akan membantu daripada memuat turun modul berniat jahat jika modul tersebut berakhir pada PC anda. Contohnya, keylogger yang akan dapat menyimpan ketukan kekunci pada fail dan mencampurkannya dengan fail lain dalam “~/i386” sehingga ia dimuat turun oleh penyerang dengan akses fizikal kepada PC.

Cara paling mudah untuk mengesahkan bahawa perlindungan tandatangan digital berfungsi secara aktif (tidak ditetapkan semula), dan tiada siapa yang telah menyerang pemuat but, masukkan arahan dalam CLI

list_trusted

sebagai tindak balas, kami menerima salinan "perskey" kami, atau kami tidak menerima apa-apa jika kami diserang (anda juga perlu menyemak "set check_signatures=enforce").
Kelemahan yang ketara dalam langkah ini ialah memasukkan arahan secara manual. Jika anda menambah arahan ini pada "grub.cfg" dan melindungi konfigurasi dengan tandatangan digital, maka output awal syot kilat kunci pada skrin terlalu singkat dalam masa dan anda mungkin tidak mempunyai masa untuk melihat output selepas memuatkan GRUB2 .
Tiada sesiapa yang khusus untuk membuat tuntutan kepada: pemaju dalam miliknya dokumentasi fasal 18.2 mengisytiharkan secara rasmi

“Perhatikan bahawa walaupun dengan perlindungan kata laluan GRUB, GRUB sendiri tidak dapat menghalang seseorang yang mempunyai akses fizikal kepada mesin daripada mengubah konfigurasi perisian tegar mesin itu (cth, Coreboot atau BIOS) untuk menyebabkan mesin but daripada peranti (kawalan penyerang) yang berbeza. GRUB paling baik hanya satu pautan dalam rantai but selamat."

GRUB2 terlalu sarat dengan fungsi yang boleh memberikan rasa keselamatan palsu, dan pembangunannya telah mengatasi MS-DOS dari segi fungsi, tetapi ia hanyalah pemuat but. Sungguh melucukan bahawa GRUB2 - "esok" boleh menjadi OS, dan mesin maya GNU/Linux boleh boot untuknya.

Video pendek tentang cara saya menetapkan semula perlindungan tandatangan digital GRUB2 dan mengisytiharkan pencerobohan saya kepada pengguna sebenar (Saya menakutkan anda, tetapi bukannya apa yang ditunjukkan dalam video, anda boleh menulis kod sewenang-wenangnya yang tidak berbahaya/.mod).

Kesimpulan:

1) Sekat penyulitan sistem untuk Windows lebih mudah dilaksanakan, dan perlindungan dengan satu kata laluan lebih mudah daripada perlindungan dengan beberapa kata laluan dengan penyulitan sistem blok GNU/Linux, untuk bersikap adil: yang terakhir adalah automatik.

2) Saya menulis artikel sebagai relevan dan terperinci ringkas panduan untuk penyulitan cakera penuh VeraCrypt/LUKS pada satu rumah mesin, yang setakat ini adalah yang terbaik dalam RuNet (IMHO). Panduan ini mempunyai > 50k aksara, jadi ia tidak merangkumi beberapa bab yang menarik: kriptografi yang hilang/bersembunyi dalam bayang-bayang; tentang fakta bahawa pelbagai buku GNU/Linux menulis sedikit/tidak menulis tentang kriptografi; mengenai Perkara 51 Perlembagaan Persekutuan Rusia; O pelesenan/ larangan penyulitan di Persekutuan Rusia, tentang sebab anda perlu menyulitkan "root/boot". Panduan itu ternyata agak luas, tetapi terperinci. (menghuraikan langkah-langkah yang mudah), seterusnya, ini akan menjimatkan banyak masa apabila anda sampai ke "penyulitan sebenar".

3) Penyulitan cakera penuh telah dilakukan pada Windows 7 64; GNU/Linux Parrot 4x; GNU/Debian 9.0/9.5.

4) Melaksanakan serangan yang berjaya ke atas beliau Pemuat but GRUB2.

5) Tutorial dicipta untuk membantu semua orang paranoid dalam CIS, di mana bekerja dengan penyulitan dibenarkan di peringkat perundangan. Dan terutamanya bagi mereka yang ingin melancarkan penyulitan cakera penuh tanpa merobohkan sistem yang dikonfigurasikan mereka.

6) Mengolah semula dan mengemas kini manual saya, yang relevan pada tahun 2020.

[G] Dokumentasi yang berguna

  1. Panduan Pengguna TrueCrypt (Februari 2012 RU)
  2. Dokumentasi VeraCrypt
  3. /usr/share/doc/cryptsetup(-run) [sumber tempatan] (dokumentasi terperinci rasmi tentang menyediakan penyulitan GNU/Linux menggunakan cryptsetup)
  4. Soalan lazim rasmi cryptsetup (dokumentasi ringkas tentang menyediakan penyulitan GNU/Linux menggunakan cryptsetup)
  5. penyulitan peranti LUKS (dokumentasi archlinux)
  6. Penerangan terperinci tentang sintaks cryptsetup (halaman lelaki gerbang)
  7. Penerangan terperinci crypttab (halaman lelaki gerbang)
  8. Dokumentasi rasmi GRUB2.

Tag: penyulitan cakera penuh, penyulitan partition, penyulitan cakera penuh Linux, penyulitan sistem penuh LUKS1.

Hanya pengguna berdaftar boleh mengambil bahagian dalam tinjauan. Log masuk, Sama-sama.

Adakah anda menyulitkan?

  • 17,1% Saya menyulitkan semua yang saya boleh. Saya paranoid.14

  • 34,2% Saya hanya menyulitkan data penting.28

  • 14,6% Kadang-kadang saya encrypt, kadang-kadang saya lupa.12

  • 34,2% Tidak, saya tidak menyulitkan, ia menyusahkan dan mahal.28

82 pengguna mengundi. 22 pengguna berpantang.

Sumber: www.habr.com

Tambah komen