Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat
Ghid propriu actualizat pentru criptarea întregului disc în RuNet V0.2.

Strategia de cowboy:

[A] Sistemul Windows 7 blochează criptarea sistemului instalat;
[B] Criptarea blocurilor sistemului GNU/Linux (Debian) sistem instalat (inclusiv /boot);
[C] Configurare GRUB2, protecție bootloader cu semnătură digitală/autentificare/hashing;
[D] stripping—distrugerea datelor necriptate;
[E] copie de rezervă universală a sistemului de operare criptat;
[F] atac target - GRUB6 bootloader;
[G]documentație utilă.

╭───Schema #camera 40# :
├──╼ Windows 7 instalat - criptare completă a sistemului, nu este ascunsă;
├──╼ GNU/Linux instalat (Debian și distribuții derivate) — criptare completă a sistemului, nu ascunsă(/, inclusiv /boot; swap);
├──╼ bootloader independente: VeraCrypt bootloader este instalat în MBR, GRUB2 bootloader este instalat în partiția extinsă;
├──╼nu este necesară instalarea/reinstalarea sistemului de operare;
└──╼software criptografic utilizat: VeraCrypt; Cryptsetup; GnuPG; Calut de mare; Hashdeep; GRUB2 este gratuit/gratuit.

Schema de mai sus rezolvă parțial problema „pornirii de la distanță pe o unitate flash”, vă permite să vă bucurați de sistemul de operare criptat Windows/Linux și să faceți schimb de date printr-un „canal criptat” de la un sistem de operare la altul.

Ordinea de pornire a computerului (una dintre opțiuni):

  • pornirea mașinii;
  • încărcarea bootloader-ului VeraCrypt (introducerea parolei corecte va continua să pornească Windows 7);
  • apăsarea tastei „Esc” va încărca încărcătorul de boot GRUB2;
  • Încărcătorul de pornire GRUB2 (selectați distribuția/GNU/Linux/CLI), va necesita autentificarea superutilizatorului GRUB2 ;
  • după autentificarea și selectarea cu succes a distribuției, va trebui să introduceți o expresie de acces pentru a debloca „/boot/initrd.img”;
  • după introducerea parolelor fără erori, GRUB2 va „solicita” o introducere a parolei (al treilea, parola BIOS sau parola contului de utilizator GNU/Linux – nu se ia în considerare) pentru a debloca și a porni sistemul de operare GNU/Linux sau înlocuirea automată a unei chei secrete (două parole + cheie sau parolă + cheie);
  • intruziunea externă în configurația GRUB2 va îngheța procesul de pornire GNU/Linux.

Deranjant? Ok, să automatizăm procesele.

Când partiționați un hard disk (tabel MBR) Un PC nu poate avea mai mult de 4 partiții principale, sau 3 principale și una extinsă, precum și o zonă nealocată. O secțiune extinsă, spre deosebire de cea principală, poate conține subsecțiuni (unități logice=partiție extinsă). Cu alte cuvinte, „partiția extinsă” de pe HDD înlocuiește LVM pentru sarcina în cauză: criptarea completă a sistemului. Dacă discul tău este împărțit în 4 partiții principale, trebuie să folosești lvm sau transform (cu formatare) secțiunea de la principal la avansat, sau folosiți cu înțelepciune toate cele patru secțiuni și lăsați totul așa cum este, obținând rezultatul dorit. Chiar dacă aveți o partiție pe disc, Gparted vă va ajuta să partizionați HDD-ul (pentru secțiuni suplimentare) fără pierderi de date, dar totuși cu o mică penalizare pentru astfel de acțiuni.

Schema de aspect al hard diskului, în raport cu care va fi verbalizat întregul articol, este prezentată în tabelul de mai jos.

Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat
Tabelul (nr. 1) cu partiții de 1TB.

Ar trebui sa ai si tu ceva asemanator.
sda1 - partiția principală nr. 1 NTFS (criptat);
sda2 - marcator de secțiune extinsă;
sda6 - disc logic (are instalat bootloader-ul GRUB2);
sda8 - swap (fișier swap criptat/nu întotdeauna);
sda9 - testul discului logic;
sda5 - disc logic pentru curioși;
sda7 - OS GNU/Linux (OS transferat pe un disc logic criptat);
sda3 - partiția principală nr. 2 cu sistemul de operare Windows 7 (criptat);
sda4 - secțiunea principală nr. 3 (conținea GNU/Linux necriptat, folosit pentru backup/nu întotdeauna).

[A] Criptare bloc de sistem Windows 7

A1. VeraCryptCriptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

Se încarcă din site-ul oficial, sau din oglindă SourceForge versiunea de instalare a software-ului criptografic VeraCrypt (la momentul publicării articolului v1.24-Update3, versiunea portabilă a VeraCrypt nu este potrivită pentru criptarea sistemului). Verificați suma de verificare a software-ului descărcat

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

și comparați rezultatul cu CS postat pe site-ul web al dezvoltatorului VeraCrypt.

Dacă software-ul HashTab este instalat, este și mai ușor: RMB (VeraCrypt Setup 1.24.exe)-properties - suma hash de fișiere.

Pentru a verifica semnătura programului, software-ul și cheia publică pgp a dezvoltatorului trebuie să fie instalate pe sistem gnuPG; gpg4win.

A2. Instalarea/rularea software-ului VeraCrypt cu drepturi de administratorCriptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

A3. Selectarea parametrilor de criptare a sistemului pentru partiția activăVeraCrypt – Sistem – Criptare partiție/disc de sistem – Normal – Criptare partiție de sistem Windows – Multiboot – (avertisment: „Nu se recomandă utilizatorilor fără experiență să folosească această metodă” și acest lucru este adevărat, suntem de acord cu „Da”) – Disc de pornire („da”, chiar dacă nu, totuși „da”) – Numărul de discuri de sistem „2 sau mai multe” – Mai multe sisteme pe un disc „Da” – Încărcător de pornire non-Windows „Nu” (de fapt, „Da”, dar încărcătoarele de pornire VeraCrypt/GRUB2 nu vor partaja MBR-ul între ele; mai precis, doar cea mai mică parte a codului încărctorului de pornire este stocată în pista MBR/boot, partea principală a acestuia este situat în sistemul de fișiere) – Multiboot – Setări de criptare…

Dacă devii de la pașii de mai sus (blocați schemele de criptare a sistemului), atunci VeraCrypt va emite un avertisment și nu vă va permite să criptați partiția.

În următorul pas către protecția direcționată a datelor, efectuați un „Test” și selectați un algoritm de criptare. Dacă aveți un procesor învechit, cel mai probabil cel mai rapid algoritm de criptare va fi Twofish. Dacă procesorul este puternic, vei observa diferența: criptarea AES, conform rezultatelor testelor, va fi de câteva ori mai rapidă decât concurenții săi cripto. AES este un algoritm de criptare popular; hardware-ul procesoarelor moderne este optimizat special atât pentru „secret”, cât și pentru „hacking”.

VeraCrypt acceptă capacitatea de a cripta discuri într-o cascadă AES(Doi pești)/si alte combinatii. Pe un procesor Intel de bază vechi de acum zece ani (fără suport hardware pentru AES, criptare în cascadă A/T) Scăderea performanței este în esență imperceptibilă. (pentru procesoarele AMD din aceeași epocă/~parametri, performanța este ușor redusă). Sistemul de operare funcționează dinamic, iar consumul de resurse pentru criptarea transparentă este invizibil. În contrast, de exemplu, există o scădere vizibilă a performanței din cauza mediului desktop de testare instabil instalat Mate v1.20.1 (sau v1.20.2 nu-mi amintesc exact) în GNU/Linux, sau datorită funcționării rutinei de telemetrie în Windows7↑. De obicei, utilizatorii experimentați efectuează teste de performanță hardware înainte de criptare. De exemplu, în Aida64/Sysbench/systemd-analyze vina este comparată cu rezultatele acelorași teste după criptarea sistemului, respingând astfel mitul că „criptarea sistemului este dăunătoare”. Încetinirea mașinii și neplăcerile sunt sesizabile atunci când se face backup/restaurare a datelor criptate, deoarece operațiunea de „backup a datelor de sistem” în sine nu se măsoară în ms, iar aceleași sunt adăugate. În cele din urmă, fiecare utilizator căruia îi este permis să joace cu criptografia echilibrează algoritmul de criptare cu satisfacția sarcinilor la îndemână, nivelul lor de paranoia și ușurința în utilizare.

Este mai bine să lăsați parametrul PIM ca implicit, astfel încât atunci când încărcați sistemul de operare, nu trebuie să introduceți valorile exacte de iterație de fiecare dată. VeraCrypt folosește un număr mare de iterații pentru a crea un „hash lent”. Un atac asupra unui astfel de „melc criptografic” folosind metoda tabelelor de forță brută/curcubeu are sens numai cu o scurtă expresie de acces „simplu” și lista personală a seturilor de caractere a victimei. Prețul de plătit pentru puterea parolei este o întârziere în introducerea parolei corecte la încărcarea sistemului de operare. (montarea volumelor VeraCrypt în GNU/Linux este semnificativ mai rapidă).
Software gratuit pentru implementarea atacurilor de forță brută (extrageți fraza de acces din antetul discului VeraCrypt/LUKS) Hashcat. John the Ripper nu știe cum să „sparge Veracrypt”, iar când lucrează cu LUKS nu înțelege criptografia Twofish.

Datorită puterii criptografice a algoritmilor de criptare, cypherpunks de neoprit dezvoltă software cu un vector de atac diferit. De exemplu, extragerea metadatelor/cheilor din RAM (atac de pornire la rece/acces direct la memorie), Există software specializat gratuit și non-gratuit în aceste scopuri.

După finalizarea configurării/generării „metadatelor unice” ale partiției active criptate, VeraCrypt se va oferi să repornească computerul și să testeze funcționalitatea bootloader-ului său. După repornirea/pornirea Windows, VeraCrypt se va încărca în modul de așteptare, tot ce rămâne este să confirme procesul de criptare - Y.

La pasul final al criptării sistemului, VeraCrypt va oferi să creeze o copie de rezervă a antetului partiției criptate active sub forma „veracrypt rescue disk.iso” - acest lucru trebuie făcut - în acest software o astfel de operație este o cerință (în LUKS, ca cerință - acest lucru este omis, din păcate, dar este subliniat în documentație). Discul de salvare va fi util pentru toată lumea și pentru unii de mai multe ori. Pierderi (antet/rescriere MBR) o copie de rezervă a antetului va refuza definitiv accesul la partiția decriptată cu sistemul de operare Windows.

A4. Crearea unui USB/disc de salvare VeraCryptÎn mod implicit, VeraCrypt oferă să inscripționeze „~2-3MB de metadate” pe un CD, dar nu toți oamenii au discuri sau unități DWD-ROM, iar crearea unei unități flash bootabile „VeraCrypt Rescue disk” va fi o surpriză tehnică pentru unii: Rufus /GUIDd-ROSA ImageWriter și alte programe similare nu vor putea face față sarcinii, deoarece pe lângă copierea metadatelor offset pe o unitate flash bootabilă, trebuie să copiați/lipiți imaginea în afara sistemului de fișiere al unității USB, pe scurt, copiați corect MBR/road to keychain. Puteți crea o unitate flash bootabilă din sistemul de operare GNU/Linux folosind utilitarul „dd”, uitându-vă la acest semn.

Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

Crearea unui disc de salvare într-un mediu Windows este diferită. Dezvoltatorul VeraCrypt nu a inclus soluția la această problemă în documentul oficial documentație prin „disc de salvare”, dar a propus o soluție într-un mod diferit: a postat software suplimentar pentru crearea unui „disc de salvare USB” pentru acces gratuit pe forumul său VeraCrypt. Arhivarul acestui software pentru Windows „creează un disc de salvare USB veracrypt”. După salvarea discului de salvare.iso, va începe procesul de criptare a sistemului de blocare a partiției active. În timpul criptării, funcționarea sistemului de operare nu se oprește; nu este necesară repornirea computerului. La finalizarea operațiunii de criptare, partiția activă devine complet criptată și poate fi utilizată. Dacă încărcătorul de pornire VeraCrypt nu apare atunci când porniți computerul și operațiunea de recuperare a antetului nu ajută, atunci verificați steagul „pornire”, acesta trebuie setat la partiția în care este prezent Windows (indiferent de criptare și alte sisteme de operare, vezi tabelul nr. 1).
Aceasta completează descrierea criptării sistemului de blocuri cu sistemul de operare Windows.

[B]LUKS. Criptare GNU/Linux (~Debian) OS instalat. Algoritm și pași

Pentru a cripta o distribuție Debian/derivată instalată, trebuie să mapați partiția pregătită pe un dispozitiv bloc virtual, să o transferați pe discul GNU/Linux mapat și să instalați/configurați GRUB2. Dacă nu aveți un server bare metal și vă prețuiți timpul, atunci trebuie să utilizați GUI, iar majoritatea comenzilor terminalului descrise mai jos sunt menite să fie rulate în „modul Chuck-Norris”.

B1. Pornirea PC-ului de pe usb live GNU/Linux

„Efectuați un test cripto pentru performanța hardware-ului”

lscpu && сryptsetup benchmark

Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

Dacă sunteți fericitul proprietar al unei mașini puternice cu suport hardware AES, atunci numerele vor arăta ca partea dreaptă a terminalului; dacă sunteți un proprietar fericit, dar cu hardware antic, numerele vor arăta ca partea stângă.

B2. Partiționarea discului. montarea/formatarea discului logic fs HDD pe Ext4 (Gparted)

B2.1. Crearea unui antet de partiție sda7 criptatVoi descrie numele partițiilor, aici și mai departe, în conformitate cu tabelul meu de partiții postat mai sus. În funcție de aspectul discului, trebuie să înlocuiți numele partițiilor.

Maparea criptării unității logice (/dev/sda7 > /dev/mapper/sda7_crypt).
# Creare ușoară a unei „partiții LUKS-AES-XTS”

cryptsetup -v -y luksFormat /dev/sda7

Opțiuni:

* luksFormat - inițializarea antetului LUKS;
* -y -parola (nu cheie/fișier);
* -v -verbalizare (afisarea informatiilor in terminal);
* /dev/sda7 - discul dvs. logic din partiția extinsă (unde este planificat transferul/criptarea GNU/Linux).

Algoritm de criptare implicit <LUKS1: aes-xts-plain64, cheie: 256 de biți, hashing antet LUKS: sha256, RNG: /dev/urandom> (depinde de versiunea cryptsetup).

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

Dacă nu există suport hardware pentru AES pe CPU, cea mai bună alegere ar fi să creați o „partiție LUKS-Twofish-XTS” extinsă.

B2.2. Crearea avansată a „LUKS-Twofish-XTS-partition”

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

Opțiuni:
* luksFormat - inițializarea antetului LUKS;
* /dev/sda7 este viitorul tău disc logic criptat;
* -v verbalizare;
* expresie de acces -y;
* -c selectează algoritmul de criptare a datelor;
* -s dimensiunea cheii de criptare;
* -h algoritm de hashing/funcție cripto, RNG folosit (--use-urandom) pentru a genera o cheie unică de criptare/decriptare pentru antetul discului logic, o cheie de antet secundară (XTS); o cheie principală unică stocată în antetul discului criptat, o cheie XTS secundară, toate aceste metadate și o rutină de criptare care, folosind cheia principală și cheia secundară XTS, criptează/decriptează orice date de pe partiție (cu excepția titlului secțiunii) stocat în ~3MB pe partiția de hard disk selectată.
* -i iterații în milisecunde, în loc de „cantitate” (întârzierea la procesarea frazei de acces afectează încărcarea sistemului de operare și puterea criptografică a cheilor). Pentru a menține un echilibru al puterii criptografice, cu o parolă simplă precum „rusă” trebuie să creșteți valoarea -(i), cu o parolă complexă precum „?8dƱob/øfh” valoarea poate fi scăzută.
* —utilizați generatorul de numere aleatoare aleatoare, generează chei și sare.

După maparea secțiunii sda7 > sda7_crypt (operația este rapidă, deoarece un antet criptat este creat cu ~3 MB de metadate și atât), trebuie să formatați și să montați sistemul de fișiere sda7_crypt.

B2.3. Comparaţie

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

Opțiuni:
* deschide - potriviți secțiunea „cu nume”;
* /dev/sda7 -disc logic;
* sda7_crypt - maparea numelui care este utilizată pentru a monta partiția criptată sau pentru a o inițializa atunci când sistemul de operare pornește.

B2.4. Formatarea sistemului de fișiere sda7_crypt la ext4. Montarea unui disc în sistemul de operare(Notă: nu veți putea lucra cu o partiție criptată în Gparted)

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

Opțiuni:
* -v -verbalizare;
* -L - eticheta unității (care este afișată în Explorer printre alte unități).

Apoi, ar trebui să montați dispozitivul bloc criptat virtual /dev/sda7_crypt pe sistem

mount /dev/mapper/sda7_crypt /mnt

Lucrul cu fișierele din folderul /mnt va cripta/decripta automat datele în sda7.

Este mai convenabil să mapați și să montați partiția în Explorer (nautilus/caja GUI), partiția va fi deja în lista de selecție a discului, tot ce rămâne este să introduceți fraza de acces pentru a deschide/decripta discul. Numele potrivit va fi selectat automat și nu „sda7_crypt”, ci ceva de genul /dev/mapper/Luks-xx-xx...

B2.5. Backup antet disc (~3MB metadate)Una dintre cele mai multe important operațiuni care trebuie făcute fără întârziere - o copie de rezervă a antetului „sda7_crypt”. Dacă suprascrieți/deteriorați antetul (de exemplu, instalarea GRUB2 pe partiția sda7 etc.), datele criptate se vor pierde complet fără nicio posibilitate de recuperare, deoarece va fi imposibil să se regenereze aceleași chei; cheile sunt create unic.

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

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

Opțiuni:
* luksHeaderBackup —comanda header-backup-file -backup;
* luksHeaderRestore —comanda header-backup-file -restore;
* ~/Backup_DebSHIFR - fișier de rezervă;
* /dev/sda7 - partiția a cărei copie de rezervă a antetului discului criptat urmează să fie salvată.
La acest pas, este finalizată.

B3. Portarea sistemului de operare GNU/Linux (sda4) la o partiție criptată (sda7)

Creați un folder /mnt2 (Notă - încă lucrăm cu usb live, sda7_crypt este montat la /mnt), și montați GNU/Linux-ul nostru în /mnt2, care trebuie criptat.

mkdir /mnt2
mount /dev/sda4 /mnt2

Efectuăm transferul corect al sistemului de operare folosind software-ul Rsync

rsync -avlxhHX --progress /mnt2/ /mnt

Opțiunile Rsync sunt descrise în paragraful E1.

Mai mult, must defragmentați o partiție de disc logic

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

Faceți din aceasta o regulă: faceți e4defrag pe GNU/LINux criptat din când în când dacă aveți un HDD.
Transferul și sincronizarea [GNU/Linux > GNU/Linux-encrypted] sunt finalizate la acest pas.

LA 4. Configurarea GNU/Linux pe o partiție criptată sda7

După ce ați transferat cu succes sistemul de operare /dev/sda4 > /dev/sda7, trebuie să vă conectați la GNU/Linux pe partiția criptată și să efectuați o configurare ulterioară (fara a reporni computerul) raportat la un sistem criptat. Adică, fiți în usb live, dar executați comenzi „față de rădăcina sistemului de operare criptat”. „chroot” va simula o situație similară. Pentru a primi rapid informații despre sistemul de operare cu care lucrați în prezent (criptat sau nu, deoarece datele din sda4 și sda7 sunt sincronizate), desincronizați sistemul de operare. Creați în directoare rădăcină (sda4/sda7_crypt) fișiere de marcare goale, de exemplu, /mnt/encryptedOS și /mnt2/decryptedOS. Verificați rapid pe ce sistem de operare vă aflați (inclusiv pentru viitor):

ls /<Tab-Tab>

B4.1. „Simularea conectării la un sistem de operare criptat”

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

B4.2. Verificarea faptului că munca este efectuată pe un sistem criptat

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

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

B4.3. Crearea/configurarea schimbului criptat, editarea crypttab/fstabDeoarece fișierul de swap este formatat de fiecare dată când sistemul de operare pornește, nu are sens să creați și să mapați schimbul pe un disc logic acum și să introduceți comenzi ca în paragraful B2.2. Pentru Swap, propriile chei de criptare temporare vor fi generate automat la fiecare pornire. Ciclul de viață al cheilor de schimb: demontarea/demontarea partiției de schimb (+curățare RAM); sau reporniți sistemul de operare. Configurarea schimbului, deschiderea fișierului responsabil pentru configurarea dispozitivelor criptate bloc (analog cu un fișier fstab, dar responsabil pentru cripto).

nano /etc/crypttab 

edităm

#"nume țintă" "dispozitiv sursă" "fișier cheie" "opțiuni"
swap /dev/sda8 /dev/urandom swap,cipher=twofish-xts-plain64,size=512,hash=sha512

Opțiuni
* swap - numele mapat la criptarea /dev/mapper/swap.
* /dev/sda8 - utilizați partiția logică pentru schimb.
* /dev/urandom - generator de chei de criptare aleatoare pentru schimb (cu fiecare pornire nouă a sistemului de operare, sunt create chei noi). Generatorul /dev/urandom este mai puțin aleatoriu decât /dev/random, după toate acestea /dev/random este folosit atunci când se lucrează în circumstanțe paranoice periculoase. La încărcarea sistemului de operare, /dev/random încetinește încărcarea timp de câteva ± minute (vezi systemd-analyse).
* swap,cipher=twofish-xts-plain64,size=512,hash=sha512: -partiția știe că este swap și este formatată „în consecință”; algoritm de criptare.

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

edităm

# swap a fost activat / dev / sda8 în timpul instalării
/dev/mapper/swap niciunul swap sw 0 0

/dev/mapper/swap este numele care a fost setat în crypttab.

Schimb alternativ criptat
Dacă dintr-un motiv oarecare nu doriți să renunțați la o întreagă partiție pentru un fișier de schimb, atunci puteți alege o cale alternativă și mai bună: crearea unui fișier de schimb într-un fișier pe o partiție criptată cu sistemul de operare.

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 будет постоянный

Configurarea partiției de schimb este completă.

B4.4. Configurarea GNU/Linux criptate (editarea fișierelor crypttab/fstab)Fișierul /etc/crypttab, așa cum este scris mai sus, descrie dispozitivele bloc criptate care sunt configurate în timpul pornirii sistemului.

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

dacă ați potrivit secțiunea sda7>sda7_crypt ca în paragraful B2.1

# „nume țintă” „dispozitiv sursă” „fișier cheie” „opțiuni”
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

dacă ați potrivit secțiunea sda7>sda7_crypt ca în paragraful B2.2

# „nume țintă” „dispozitiv sursă” „fișier cheie” „opțiuni”
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512

dacă ați potrivit secțiunea sda7>sda7_crypt ca în paragraful B2.1 sau B2.2, dar nu doriți să reintroduceți parola pentru a debloca și a porni sistemul de operare, atunci în loc de parolă puteți înlocui o cheie secretă/un fișier aleatoriu

# „nume țintă” „dispozitiv sursă” „fișier cheie” „opțiuni”
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

descriere
* niciunul - raportează că la încărcarea sistemului de operare, este necesară introducerea unei fraze de acces secrete pentru a debloca rădăcina.
* UUID - identificatorul partiției. Pentru a vă afla ID-ul, introduceți în terminal (remintiți-vă că, de acum înainte, lucrați într-un terminal într-un mediu chroot, și nu într-un alt terminal USB live).

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»

această linie este vizibilă când se solicită blkid de la terminalul USB live cu sda7_crypt montat).
Luați UUID-ul de pe sdaX-ul dvs (nu sdaX_crypt!, UUID sdaX_crypt - va fi lăsat automat când se generează configurația grub.cfg).
* cipher=twofish-xts-plain64,size=512,hash=sha512 -luks criptare în modul avansat.
* /etc/skey - fișier cheie secretă, care este inserat automat pentru a debloca pornirea sistemului de operare (în loc să introduceți a treia parolă). Puteți specifica orice fișier de până la 8MB, dar datele vor fi citite <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 

Va arata cam asa:

(fă-o singur și vezi singur).

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

/etc/fstab conține informații descriptive despre diferite sisteme de fișiere.

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

# „sistem de fișiere” „punct de montare” „tip” „opțiuni” „dump” „trecere”
# / a fost activat / dev / sda7 în timpul instalării
/dev/mapper/sda7_crypt / ext4 errors=remount-ro 0 1

opțiune
* /dev/mapper/sda7_crypt - numele mapării sda7>sda7_crypt, care este specificat în fișierul /etc/crypttab.
Configurarea crypttab/fstab este completă.

B4.5. Editarea fișierelor de configurare. Moment cheieB4.5.1. Editarea configurației /etc/initramfs-tools/conf.d/resume

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

și comentați (daca exista) „#” rând „reluare”. Fișierul trebuie să fie complet gol.

B4.5.2. Editarea configurației /etc/initramfs-tools/conf.d/cryptsetup

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

ar trebui să se potrivească

# /etc/initramfs-tools/conf.d/cryptsetup
CRYPTSETUP=da
exportați CRYPTSETUP

B4.5.3. Editarea /etc/default/grub config (această configurație este responsabilă pentru capacitatea de a genera grub.cfg atunci când lucrați cu /boot criptat)

nano /etc/default/grub

adăugați linia „GRUB_ENABLE_CRYPTODISK=y”
valoarea „y”, grub-mkconfig și grub-install vor verifica dacă există unități criptate și vor genera comenzi suplimentare necesare pentru a le accesa la pornire (insmods ).
trebuie să existe o asemănare

GRUB_DEFAULT = 0
GRUB_TIMEOUT = 1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=furnizor"
GRUB_CMDLINE_LINUX="Quiet Splash noautomount"
GRUB_ENABLE_CRYPTODISK=a

B4.5.4. Editarea configurației /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

verificați dacă linia este comentată .
În viitor (și chiar și acum, acest parametru nu va avea nicio semnificație, dar uneori interferează cu actualizarea imaginii initrd.img).

B4.5.5. Editarea configurației /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

adăuga

KEYFILE_PATTERN="/etc/skey”
UMASK=0077

Aceasta va împacheta cheia secretă „skey” în initrd.img, cheia este necesară pentru a debloca rădăcina atunci când sistemul de operare pornește (dacă nu doriți să introduceți parola din nou, cheia „skey” este înlocuită cu mașina).

B4.6. Actualizați /boot/initrd.img [versiunea]Pentru a împacheta cheia secretă în initrd.img și a aplica remedieri cryptsetup, actualizați imaginea

update-initramfs -u -k all

la actualizarea initrd.img (cum se spune „Este posibil, dar nu este sigur”) vor apărea avertismente legate de cryptsetup sau, de exemplu, o notificare despre pierderea modulelor Nvidia - acest lucru este normal. După actualizarea fișierului, verificați dacă acesta a fost actualizat, vedeți ora (față de mediul chroot./boot/initrd.img). Atenție! înainte de [update-initramfs -u -k all] asigurați-vă că verificați dacă cryptsetup este deschis /dev/sda7 sda7_crypt - acesta este numele care apare în /etc/crypttab, altfel după repornire va apărea o eroare busybox)
La acest pas, configurarea fișierelor de configurare este completă.

[C] Instalarea și configurarea GRUB2/Protection

C1. Dacă este necesar, formatați partiția dedicată pentru bootloader (o partiție are nevoie de cel puțin 20 MB)

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

C2. Montați /dev/sda6 pe /mntDeci lucrăm în chroot, atunci nu va exista nici un director /mnt2 în rădăcină, iar folderul /mnt va fi gol.
montați partiția GRUB2

mount /dev/sda6 /mnt

Dacă aveți instalată o versiune mai veche de GRUB2, în directorul /mnt/boot/grub/i-386-pc (este posibilă altă platformă, de exemplu, nu „i386-pc”) fără module criptografice (pe scurt, folderul ar trebui să conțină module, inclusiv aceste .mod: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod), în acest caz, GRUB2 trebuie agitat.

apt-get update
apt-get install grub2 

Important! Când actualizați pachetul GRUB2 din depozit, când ați întrebat „despre alegerea” unde să instalați bootloader-ul, trebuie să refuzați instalarea (motiv - încercați să instalați GRUB2 - în „MBR” sau pe usb live). În caz contrar, veți deteriora antetul/încărcătorul VeraCrypt. După actualizarea pachetelor GRUB2 și anularea instalării, încărcătorul de pornire trebuie instalat manual pe discul logic, și nu în MBR. Dacă depozitul dvs. are o versiune învechită de GRUB2, încercați Actualizați este de pe site-ul oficial - nu l-am verificat (a lucrat cu cele mai recente încărcătoare de boot GRUB 2.02 ~BetaX).

C3. Instalarea GRUB2 într-o partiție extinsă [sda6]Trebuie să aveți o partiție montată [articolul C.2]

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

opțiuni
* —force - instalarea bootloader-ului, ocolind toate avertismentele care există aproape întotdeauna și blochează instalarea (steagul obligatoriu).
* --root-directory - setează directorul la rădăcina sda6.
* /dev/sda6 - partiția ta sdaХ (nu rata dintre /mnt /dev/sda6).

C4. Crearea unui fișier de configurare [grub.cfg]Uitați de comanda „update-grub2” și utilizați comanda completă de generare a fișierului de configurare

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

după finalizarea generării/actualizării fișierului grub.cfg, terminalul de ieșire ar trebui să conțină linii(e) cu sistemul de operare găsit pe disc („grub-mkconfig” va găsi și va prelua probabil sistemul de operare de pe un USB live, dacă aveți o unitate flash cu pornire multiplă cu Windows 10 și o grămadă de distribuții live - acest lucru este normal). Dacă terminalul este „gol” și fișierul „grub.cfg” nu este generat, atunci acesta este același caz când există erori GRUB în sistem (și cel mai probabil încărcătorul din ramura de testare a depozitului), reinstalați GRUB2 din surse de încredere.
Instalarea „configurației simple” și configurarea GRUB2 sunt finalizate.

C5. Test de probă a sistemului de operare GNU/Linux criptatTerminăm misiunea cripto corect. Lăsând cu grijă GNU/Linux criptat (ieșire din mediul chroot).

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

După repornirea computerului, ar trebui să se încarce bootloader-ul VeraCrypt.
Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

* Introducerea parolei pentru partiția activă va începe să încarce Windows.
*Apăsarea tastei „Esc” va transfera controlul către GRUB2, dacă selectați GNU/Linux criptat - va fi necesară o parolă (sda7_crypt) pentru a debloca /boot/initrd.img (dacă grub2 scrie uuid „not found” - acesta este un problema cu bootloader-ul grub2, ar trebui reinstalat, de exemplu, din ramura de testare/stabil etc.).
Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

*În funcție de modul în care ați configurat sistemul (vezi paragraful B4.4/4.5), după ce ați introdus parola corectă pentru a debloca imaginea /boot/initrd.img, veți avea nevoie de o parolă pentru a încărca kernel-ul/rădăcină OS, sau secretul cheia va fi înlocuită automat cu „skey”, eliminând nevoia de a reintroduce fraza de acces.
Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat
(ecran „înlocuirea automată a unei chei secrete”).

*Apoi va urma procesul familiar de încărcare a GNU/Linux cu autentificarea contului de utilizator.
Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

*După autorizarea utilizatorului și autentificarea la sistemul de operare, trebuie să actualizați din nou /boot/initrd.img (vezi B4.6).

update-initramfs -u -k all

Și în cazul unor linii suplimentare în meniul GRUB2 (de la OS-m pickup cu usb live) scapă de ei

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

Un rezumat rapid al criptării sistemului GNU/Linux:

  • GNU/Linuxinux este complet criptat, inclusiv /boot/kernel și initrd;
  • cheia secretă este ambalată în initrd.img;
  • schema de autorizare actuală (introducerea parolei pentru deblocarea initrd; parola/cheia pentru pornirea sistemului de operare; parola pentru autorizarea contului Linux).

Criptarea sistemului „Configurare simplă GRUB2” a partiției bloc este completă.

C6. Configurare avansată GRUB2. Protectie bootloader cu semnatura digitala + protectie de autentificareGNU/Linux este complet criptat, dar bootloader-ul nu poate fi criptat - această condiție este dictată de BIOS. Din acest motiv, un boot criptat în lanț al GRUB2 nu este posibil, dar este posibil/disponibil un boot simplu înlănțuit, dar din punct de vedere al securității nu este necesar [vezi P. F].
Pentru GRUB2 „vulnerabil”, dezvoltatorii au implementat un algoritm de protecție pentru bootloader „semnătură/autentificare”.

  • Când bootloader-ul este protejat de „propria semnătură digitală”, modificarea externă a fișierelor sau încercarea de a încărca module suplimentare în acest bootloader va duce la blocarea procesului de pornire.
  • Când protejați bootloader-ul cu autentificare, pentru a selecta încărcarea unei distribuții sau pentru a introduce comenzi suplimentare în CLI, va trebui să introduceți login-ul și parola superutilizatorului-GRUB2.

C6.1. Protecție de autentificare bootloaderVerificați dacă lucrați într-un terminal pe un sistem de operare criptat

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

creați o parolă de superutilizator pentru autorizare în GRUB2

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

Obțineți hash-ul parolei. Ceva de genul

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

montați partiția GRUB

mount /dev/sda6 /mnt 

editați configurația

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

verificați căutarea de fișiere că nu există semne nicăieri în „grub.cfg” (“-unrestricted” „-user”,
adauga la sfarsit (înainte de linia ### END /etc/grub.d/41_custom ###)
"set superusers="root"
password_pbkdf2 hash root."

Ar trebui să fie așa ceva

# Acest fișier oferă o modalitate ușoară de a adăuga intrări personalizate în meniu. Pur și simplu tastați
# intrări de meniu pe care doriți să le adăugați după acest comentariu. Ai grijă să nu te schimbi
# linia „coadă execut” de mai sus.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; apoi
sursă ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; apoi
sursă $prefix/custom.cfg;
fi
setați superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### END /etc/grub.d/41_custom ###
#

Dacă folosiți adesea comanda „grub-mkconfig -o /mnt/boot/grub/grub.cfg” și nu doriți să faceți modificări la grub.cfg de fiecare dată, introduceți rândurile de mai sus (Parola de logare) în scriptul utilizatorului GRUB din partea de jos

nano /etc/grub.d/41_custom 

pisica << EOF
setați superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF

Când se generează configurația „grub-mkconfig -o /mnt/boot/grub/grub.cfg”, liniile responsabile pentru autentificare vor fi adăugate automat la grub.cfg.
Acest pas finalizează configurarea autentificării GRUB2.

C6.2. Protectie bootloader cu semnatura digitalaSe presupune că aveți deja cheia personală de criptare pgp (sau creați o astfel de cheie). Sistemul trebuie să aibă instalat software criptografic: gnuPG; kleopatra/GPA; Calut de mare. Software-ul cripto îți va face viața mult mai ușoară în toate aceste chestiuni. Seahorse - versiunea stabilă a pachetului 3.14.0 (versiunile superioare, de exemplu, V3.20, sunt defecte și au erori semnificative).

Cheia PGP trebuie generată/lansată/adăugată numai în mediul su!

Generați cheia personală de criptare

gpg - -gen-key

Exportați cheia dvs

gpg --export -o ~/perskey

Montați discul logic în sistemul de operare dacă nu este deja montat

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

curățați partiția GRUB2

rm -rf /mnt/

Instalați GRUB2 în sda6, punând cheia privată în imaginea principală GRUB „core.img”

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

opțiuni
* --force - instalează bootloader-ul, ocolind toate avertismentele care există întotdeauna (steagul obligatoriu).
* —modules="gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" - instruiește GRUB2 să preîncarce modulele necesare când pornește computerul.
* -k ~/perskey -calea către „cheia PGP” (după împachetarea cheii în imagine, aceasta poate fi ștearsă).
* --root-directory -setează directorul de boot la rădăcina sda6
/dev/sda6 - partiția dvs. sdaX.

Se generează/actualizează grub.cfg

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

Adăugați linia „trust /boot/grub/perskey” la sfârșitul fișierului „grub.cfg” (forțați utilizarea tastei pgp.) Deoarece am instalat GRUB2 cu un set de module, inclusiv modulul de semnătură „signature_test.mod”, acest lucru elimină necesitatea de a adăuga comenzi precum „set check_signatures=enforce” la configurație.

Ar trebui să arate cam așa (liniile de sfârșit în fișierul grub.cfg)

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; apoi
sursă ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; apoi
sursă $prefix/custom.cfg;
fi
încredere în /boot/grub/perskey
setați superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### END /etc/grub.d/41_custom ###
#

Calea către „/boot/grub/perskey” nu trebuie să fie indicată către o anumită partiție de disc, de exemplu hd0,6; pentru bootloader-ul în sine, „root” este calea implicită a partiției pe care este instalat GRUB2 (vezi putregaiul set=..).

Semnează GRUB2 (toate fișierele din toate directoarele /GRUB) cu cheia ta „perskey”.
O soluție simplă despre cum să semnezi (pentru nautilus/caja explorer): instalați extensia „seahorse” pentru Explorer din depozit. Cheia dvs. trebuie adăugată în mediul su.
Deschideți Explorer cu semnul sudo „/mnt/boot” – RMB. Pe ecran arată așa

Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

Cheia în sine este „/mnt/boot/grub/perskey” (copiați în directorul grub) trebuie semnat și cu propria dumneavoastră semnătură. Verificați dacă semnăturile fișierului [*.sig] apar în director/subdirectoare.
Folosind metoda descrisă mai sus, semnați „/boot” (nucleul nostru, initrd). Dacă timpul tău valorează ceva, atunci această metodă elimină necesitatea de a scrie un script bash pentru a semna „o mulțime de fișiere”.

Pentru a elimina toate semnăturile bootloader-ului (daca ceva a mers prost)

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

Pentru a nu semna bootloader-ul după actualizarea sistemului, înghețăm toate pachetele de actualizare legate de GRUB2.

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

La acest pas configurația avansată a GRUB2 este finalizată.

C6.3. Proof-test al bootloader-ului GRUB2, protejat prin semnătură digitală și autentificareGRUB2. Când selectați orice distribuție GNU/Linux sau introduceți CLI (Linie de comanda) Va fi necesară autorizarea superutilizatorului. După ce ați introdus numele de utilizator/parola corecte, veți avea nevoie de parola initrd

Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat
Captură de ecran a autentificării cu succes a superutilizatorului GRUB2.

Dacă modificați oricare dintre fișierele GRUB2/faceți modificări la grub.cfg sau ștergeți fișierul/semnătura sau încărcați un module.mod rău intenționat, va apărea un avertisment corespunzător. GRUB2 va întrerupe încărcarea.

Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat
Captură de ecran, o încercare de a interfera cu GRUB2 „din exterior”.

În timpul pornirii „normale” „fără intruziune”, starea codului de ieșire a sistemului este „0”. Prin urmare, nu se știe dacă protecția funcționează sau nu (adică „cu sau fără protecție de semnătură a bootloaderului” în timpul încărcării normale, starea este aceeași „0” - aceasta este proastă).

Cum se verifică protecția semnăturii digitale?

O modalitate incomod de a verifica: falsificare/eliminare un modul folosit de GRUB2, de exemplu, eliminați semnătura luks.mod.sig și obțineți o eroare.

Modul corect: accesați CLI-ul bootloaderului și tastați comanda

trust_list

Ca răspuns, ar trebui să primiți o amprentă „perskey”; dacă starea este „0”, atunci protecția semnăturii nu funcționează, verificați din nou punctul C6.2.
La acest pas, configurația avansată „Protejarea GRUB2 cu semnătură digitală și autentificare” este finalizată.

C7 Metodă alternativă de protecție a bootloader-ului GRUB2 folosind hashingMetoda „CPU Boot Loader Protection/Authentication” descrisă mai sus este o metodă clasică. Datorită imperfecțiunilor GRUB2, în condiții paranoide este susceptibil la un atac real, pe care îl voi reda mai jos în paragraful [F]. În plus, după actualizarea sistemului de operare/kernel, bootloader-ul trebuie resemnat.

Protejarea bootloader-ului GRUB2 folosind hashing

Avantaje față de clasice:

  • Nivel mai ridicat de fiabilitate (hashing/verificare are loc numai dintr-o resursă locală criptată. Întreaga partiție alocată sub GRUB2 este controlată pentru orice modificări, iar orice altceva este criptat; în schema clasică cu protecție/Autentificare CPU loader, doar fișierele sunt controlate, dar nu gratuit spațiu, în care se poate adăuga „ceva” ceva sinistru”).
  • Înregistrare criptată (la schemă este adăugat un jurnal personal criptat care poate fi citit de om).
  • Viteză (protecția/verificarea unei partiții întregi alocate pentru GRUB2 are loc aproape instantaneu).
  • Automatizarea tuturor proceselor criptografice.

Dezavantaje față de clasici.

  • Falsificarea semnăturii (teoretic, este posibil să găsim o anumită coliziune a funcției hash).
  • Nivel de dificultate crescut (față de clasic, sunt necesare puțin mai multe abilități în sistemul de operare GNU/Linux).

Cum funcționează ideea de hashing GRUB2/partiție

Partiția GRUB2 este „semnată”; atunci când sistemul de operare pornește, partiția bootloader-ului este verificată pentru imuabilitate, urmată de conectarea într-un mediu securizat (criptat). Dacă bootloader-ul sau partiția sa este compromisă, pe lângă jurnalul de intruziune, se lansează următoarele:

Lucru.Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

O verificare similară are loc de patru ori pe zi, care nu încarcă resurse de sistem.
Folosind comanda „-$ check_GRUB”, o verificare instantanee are loc în orice moment, fără înregistrare, dar cu informații furnizate către CLI.
Folosind comanda „-$ sudo signature_GRUB”, încărcătorul/partiția GRUB2 este resemnat instantaneu și înregistrarea sa actualizată (necesar după actualizarea sistemului de operare/boot), iar viața continuă.

Implementarea unei metode de hashing pentru bootloader și secțiunea acestuia

0) Să semnăm bootloader-ul/partiția GRUB instalându-l mai întâi în /media/username

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

1) Creăm un script fără extensie în rădăcina sistemului de operare criptat ~/podpis, îi aplicăm drepturile de securitate 744 necesare și o protecție sigură.

Umplerea conținutului acestuia

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

Rulați scriptul de la su, va fi verificată hashing-ul partiției GRUB și bootloader-ul acesteia, salvați jurnalul.

Să creăm sau să copiem, de exemplu, un „fișier rău intenționat” [virus.mod] în partiția GRUB2 și să rulăm o scanare/test temporar:

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

CLI trebuie să vadă o invazie a -cetății- noastre#Trimmed log în 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

# După cum puteți vedea, apare „Fișiere mutate: 1 și auditul eșuat”, ceea ce înseamnă că verificarea a eșuat.
Datorită naturii partiției testate, în loc de „Fișiere noi găsite” > „Fișiere mutate”

2) Puneți gif-ul aici > ~/warning.gif, setați permisiunile la 744.

3) Configurarea fstab pentru a monta automat partiția GRUB la pornire

-$ sudo nano /etc/fstab

LABEL=GRUB /media/nume utilizator/GRUB ext4 implicit 0 0

4) Rotirea jurnalului

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

/var/log/podpis.txt {
zilnic
rotiți 50
dimensiunea 5M
dateext
comprima
delaycompress
olddir /var/log/old
}

/var/log/vtorjenie.txt {
lunar
rotiți 5
dimensiunea 5M
dateext
olddir /var/log/old
}

5) Adăugați un job la cron

-$ sudo crontab -e

reporniți '/abonament'
0 */6 * * * ‘/podpis

6) Crearea de aliasuri permanente

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

După actualizarea sistemului de operare -$ apt-get upgrade resemnați partiția noastră GRUB
-$ подпись_GRUB
În acest moment, protecția hashing a partiției GRUB este completă.

[D] Ștergere - distrugerea datelor necriptate

Ștergeți-vă fișierele personale atât de complet încât „nici măcar Dumnezeu nu le poate citi”, potrivit purtătorului de cuvânt al Carolina de Sud, Trey Gowdy.

Ca de obicei, există diverse „mituri și legende", despre restaurarea datelor după ce au fost șterse de pe un hard disk. Dacă credeți în vrăjitorie cibernetică sau sunteți membru al comunității web Dr și nu ați încercat niciodată recuperarea datelor după ce au fost șterse/suprascrise (de exemplu, recuperare folosind R-studio), atunci este puțin probabil ca metoda propusă să ți se potrivească, folosește ceea ce este mai aproape de tine.

După transferul cu succes a GNU/Linux pe o partiție criptată, copia veche trebuie ștearsă fără posibilitatea de recuperare a datelor. Metodă universală de curățare: software pentru software-ul GUI gratuit Windows/Linux BleachBit.
repede formatați secțiunea, datele asupra cărora trebuie distruse (prin Gparted) lansați BleachBit, selectați „Curățați spațiul liber” - selectați partiția (sdaX-ul dvs. cu o copie anterioară a GNU/Linux), procesul de stripare va începe. BleachBit - șterge discul dintr-o singură trecere - de asta „avem nevoie”, Dar! Acest lucru funcționează doar în teorie dacă ați formatat discul și l-ați curățat în software-ul BB v2.0.

Atenție! BB șterge discul, lăsând metadate; numele fișierelor sunt păstrate atunci când datele sunt eliminate (Ccleaner - nu lasă metadate).

Iar mitul despre posibilitatea recuperării datelor nu este în întregime un mit.Bleachbit V2.0-2 fost pachet instabil pentru sistemul de operare Debian (și orice alt software similar: sfill; wipe-Nautilus - au fost observate și în această afacere murdară) a avut de fapt o eroare critică: funcția „de golire a spațiului liber”. functioneaza incorect pe HDD/unități flash (ntfs/ext4). Software-ul de acest fel, atunci când eliberează spațiul liber, nu suprascrie întregul disc, așa cum cred mulți utilizatori. Si ceva (mulți) Datele șterse OS/software-ul consideră aceste date ca fiind neșterse/date de utilizator și atunci când curățează „OSP” omite aceste fișiere. Problema este că după atât de mult timp, curățarea discului „Fișierele șterse” pot fi recuperate chiar și după 3+ treceri de ștergere a discului.
Pe GNU/Linux la Bleachbit 2.0-2 Funcțiile de ștergere permanentă a fișierelor și directoarelor funcționează în mod fiabil, dar nu eliberează spațiul liber. Pentru comparație: pe Windows în CCleaner, funcția „OSP pentru ntfs” funcționează corect și Dumnezeu într-adevăr nu va putea citi datele șterse.

Și așa, pentru a elimina complet "compromitent" date vechi necriptate, Bleachbit are nevoie de acces direct la aceste date, apoi, utilizați funcția „Ștergeți definitiv fișierele/directoarele”.
Pentru a elimina „fișierele șterse folosind instrumente standard ale sistemului de operare” în Windows, utilizați CCleaner/BB cu funcția „OSP”. În GNU/Linux peste această problemă (șterge fișierele șterse) trebuie să te antrenezi pe cont propriu (Ștergerea datelor + o încercare independentă de a le restaura și nu ar trebui să vă bazați pe versiunea software (dacă nu este un marcaj, atunci o eroare)), numai în acest caz veți putea înțelege mecanismul acestei probleme și veți scăpa complet de datele șterse.

Nu am testat Bleachbit v3.0, este posibil ca problema să fi fost deja remediată.
Bleachbit v2.0 funcționează sincer.

La acest pas, ștergerea discului este completă.

[E] Backup universal al sistemului de operare criptat

Fiecare utilizator are propria sa metodă de copiere de rezervă a datelor, dar datele criptate ale sistemului de operare necesită o abordare ușor diferită a sarcinii. Software-ul unificat, cum ar fi Clonezilla și software similar, nu poate funcționa direct cu date criptate.

Declarație a problemei de backup pentru dispozitivele bloc criptate:

  1. universalitate - același algoritm/software de backup pentru Windows/Linux;
  2. capacitatea de a lucra în consolă cu orice USB live GNU/Linux fără a fi nevoie de descărcări suplimentare de software (dar tot recomand GUI);
  3. securitatea copiilor de rezervă - „imaginile” stocate trebuie să fie criptate/protejate cu parolă;
  4. dimensiunea datelor criptate trebuie să corespundă cu dimensiunea datelor efective copiate;
  5. extragerea convenabilă a fișierelor necesare dintr-o copie de rezervă (nu este nevoie să decriptați mai întâi întreaga secțiune).

De exemplu, backup/restaurare prin utilitarul „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

Corespunde aproape tuturor punctelor sarcinii, dar conform punctului 4 nu rezistă criticilor, deoarece copiază întreaga partiție a discului, inclusiv spațiul liber - nu este interesant.

De exemplu, o copie de rezervă GNU/Linux prin arhivatorul [tar" | gpg] este convenabil, dar pentru backup Windows trebuie să căutați o altă soluție - nu este interesant.

E1. Backup universal Windows/Linux. Conectați volumul rsync (Grsync)+VeraCryptAlgoritm pentru crearea unei copii de rezervă:

  1. crearea unui container criptat (volum/fișier) VeraCrypt pentru OS;
  2. transferați/sincronizați sistemul de operare folosind software-ul Rsync în containerul criptografic VeraCrypt;
  3. dacă este necesar, încărcarea volumului VeraCrypt pe www.

Crearea unui container VeraCrypt criptat are propriile sale caracteristici:
crearea unui volum dinamic (crearea DT este disponibilă numai în Windows, poate fi folosită și în GNU/Linux);
crearea unui volum obișnuit, dar există o cerință a unui „personaj paranoic” (conform dezvoltatorului) – formatarea containerului.

Un volum dinamic este creat aproape instantaneu în Windows, dar la copierea datelor din GNU/Linux > VeraCrypt DT, performanța generală a operațiunii de backup scade semnificativ.

Este creat un volum obișnuit Twofish de 70 GB (să spunem că, în medie, puterea PC-ului) pe HDD ~ într-o jumătate de oră (suprascrierea datelor din fostul container într-o singură trecere se datorează cerințelor de securitate). Funcția de formatare rapidă a unui volum la crearea acestuia a fost eliminată din VeraCrypt Windows/Linux, astfel încât crearea unui container este posibilă doar prin „rescriere într-o singură trecere” sau prin crearea unui volum dinamic cu performanță scăzută.

Creați un volum VeraCrypt obișnuit (nu este dinamic/ntfs), nu ar trebui să fie probleme.

Configurați/creați/deschideți un container în VeraCrypt GUI> GNU/Linux live USB (volumul va fi montat automat pe /media/veracrypt2, volumul sistemului de operare Windows va fi montat pe /media/veracrypt1). Crearea unei copii de rezervă criptate a sistemului de operare Windows utilizând GUI rsync (grsync)prin bifarea casetelor.

Criptarea completă a discului a sistemelor instalate Windows Linux. Multi-boot criptat

Așteptați finalizarea procesului. Odată ce backup-ul este complet, vom avea un fișier criptat.

În mod similar, creați o copie de rezervă a sistemului de operare GNU/Linux debifând caseta de selectare „Compatibilitate Windows” din GUI rsync.

Atenție! creați un container Veracrypt pentru „backup GNU/Linux” în sistemul de fișiere ext4. Dacă faceți o copie de rezervă într-un container ntfs, atunci când restaurați o astfel de copie, veți pierde toate drepturile/grupurile pentru toate datele dumneavoastră.

Toate operațiunile pot fi efectuate în terminal. Opțiuni de bază pentru rsync:
* -g -salvare grupuri;
* -P —progres — starea timpului petrecut lucrând la dosar;
* -H - copiați hardlink-urile așa cum sunt;
* -a -mod arhivare (mai multe steaguri rlptgoD);
* -v -verbalizare.

Dacă doriți să montați un „volum Windows VeraCrypt” prin intermediul consolei în software-ul cryptsetup, puteți crea un 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

Acum comanda „veramount pictures” vă va solicita să introduceți o expresie de acces, iar volumul criptat al sistemului Windows va fi montat în sistemul de operare.

Hartați/montați volumul sistemului VeraCrypt în comanda cryptsetup

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

Hartă/montează partiția/containerul VeraCrypt în comanda cryptsetup

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

În loc de alias, vom adăuga (un script la pornire) un volum de sistem cu sistemul de operare Windows și un disc logic criptat ntfs la pornirea GNU/Linux

Creați un script și salvați-l în ~/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.

Distribuim drepturile „corecte”:

sudo chmod 100 /VeraOpen.sh

Creați două fișiere identice (același nume!) în /etc/rc.local și ~/etc/init.d/rc.local
Umplerea dosarelor

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

Distribuim drepturile „corecte”:

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

Asta e tot, acum când încărcăm GNU/Linux nu trebuie să introducem parole pentru a monta discuri ntfs criptate, discurile sunt montate automat.

O notă pe scurt despre ceea ce este descris mai sus în paragraful E1 pas cu pas (dar acum pentru OS GNU/Linux)
1) Creați un volum în fs ext4 > 4gb (pentru fișier) Linux în Veracrypt [Cryptbox].
2) Reporniți la usb live.
3) ~$ cryptsetup deschide /dev/sda7 Lunux #mapping partiția criptată.
4) ~$ mount /dev/mapper/Linux /mnt #mount partiția criptată pe /mnt.
5) ~$ mkdir mnt2 #crearea unui director pentru o copie de rezervă viitoare.
6) ~$ cryptsetup open —veracrypt —type tcrypt ~/CryptoBox CryptoBox && mount /dev/mapper/CryptoBox /mnt2 #Map un volum Veracrypt numit „CryptoBox” și montați CryptoBox pe /mnt2.
7) ~$ rsync -avlxhHX —progress /mnt /mnt2/ #operație de backup a unei partiții criptate pe un volum Veracrypt criptat.

(p/s/ Atenție! Dacă transferați GNU/Linux criptat de la o arhitectură/mașină la alta, de exemplu, Intel > AMD (adică implementați o copie de rezervă de la o partiție criptată la o altă partiție criptată Intel > AMD), nu uita După transferul sistemului de operare criptat, poate edita cheia de înlocuire secretă în loc de parolă. cheia anterioară ~/etc/skey - nu se va mai potrivi cu altă partiție criptată și nu este recomandabil să creați o cheie nouă „cryptsetup luksAddKey” de sub chroot - este posibilă o eroare, doar în ~/etc/crypttab specificați în loc de „/etc/skey” temporar „none” „, după rebot și conectarea la sistemul de operare, recreați din nou cheia wildcard secretă).

Ca veterani IT, nu uitați să faceți copii de rezervă separat ale antetelor partițiilor criptate ale sistemului de operare Windows/Linux, altfel criptarea se va întoarce împotriva dvs.
La acest pas, backup-ul sistemului de operare criptat este finalizat.

[F] Atacul la bootloader-ul GRUB2

detaliiDacă v-ați protejat bootloader-ul cu o semnătură digitală și/sau autentificare (vezi punctul C6.), atunci acest lucru nu va proteja împotriva accesului fizic. Datele criptate vor fi în continuare inaccesibile, dar protecția va fi ocolită (resetează protecția semnăturii digitale) GRUB2 permite unui criminal cibernetic să-și injecteze codul în bootloader fără a ridica suspiciuni (cu excepția cazului în care utilizatorul monitorizează manual starea bootloader-ului sau vine cu propriul cod robust de script arbitrar pentru grub.cfg).

Algoritm de atac. Intrus

* Pornește computerul de pe usb live. Vreo schimbare (violator) fișierele vor notifica proprietarul real al PC-ului despre intruziunea în bootloader. Dar o simplă reinstalare a GRUB2 păstrând grub.cfg (și capacitatea ulterioară de a-l edita) va permite unui atacator să editeze orice fișiere (în această situație, la încărcarea GRUB2, utilizatorul real nu va fi notificat. Starea este aceeași )
* Montează o partiție necriptată, stochează „/mnt/boot/grub/grub.cfg”.
* Reinstalează bootloader-ul (eliminarea „perskey” din imaginea core.img)

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

* Returnează „grub.cfg” > „/mnt/boot/grub/grub.cfg”, îl editează dacă este necesar, de exemplu, adăugând modulul „keylogger.mod” în folderul cu module de încărcare, în „grub.cfg” > linia „insmod keylogger”. Sau, de exemplu, dacă inamicul este viclean, atunci după reinstalarea GRUB2 (toate semnăturile rămân pe loc) construiește imaginea principală GRUB2 folosind „grub-mkimage cu opțiunea (-c).” Opțiunea „-c” vă va permite să vă încărcați configurația înainte de a încărca principalul „grub.cfg”. Configurația poate consta dintr-o singură linie: redirecționare către orice „modern.cfg”, amestecat, de exemplu, cu ~400 de fișiere (module+semnături) în folderul „/boot/grub/i386-pc”. În acest caz, un atacator poate introduce cod arbitrar și încărca module fără a afecta „/boot/grub/grub.cfg”, chiar dacă utilizatorul a aplicat „hashsum” fișierului și l-a afișat temporar pe ecran.
Un atacator nu va trebui să pirateze autentificarea/parola superutilizatorului GRUB2; va trebui doar să copieze liniile (responsabil pentru autentificare) „/boot/grub/grub.cfg” la „modern.cfg”

setați superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

Și proprietarul PC-ului va fi în continuare autentificat ca superutilizator GRUB2.

Încărcare în lanț (bootloader-ul încarcă un alt bootloader), așa cum am scris mai sus, nu are sens (este destinat unui alt scop). Bootloader-ul criptat nu poate fi încărcat din cauza BIOS-ului (pornirea în lanț repornește GRUB2 > GRUB2 criptat, eroare!). Cu toate acestea, dacă încă folosiți ideea încărcării în lanț, puteți fi sigur că este cel criptat cel care se încarcă. (nemodernizat) „grub.cfg” din partiția criptată. Și acesta este, de asemenea, un fals sentiment de securitate, deoarece tot ceea ce este indicat în „grub.cfg” criptat (încărcarea modulelor) se adaugă modulelor care sunt încărcate din GRUB2 necriptat.

Dacă doriți să verificați acest lucru, atunci alocați/criptați o altă partiție sdaY, copiați GRUB2 pe ea (operația grub-install pe o partiție criptată nu este posibilă) și în „grub.cfg” (configurație necriptată) schimba linii ca acestea

menuentry 'GRUBx2' --class parrot --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
încărcare_video
insmod gzio
if [ x$grub_platform = xxen ]; apoi insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod criptodisc
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
}

linii
* insmod - încărcarea modulelor necesare pentru lucrul cu un disc criptat;
* GRUBx2 - numele liniei afișate în meniul de boot GRUB2;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 -vezi. fdisk -l (sda9);
* set root - instalează root;
* normal /boot/grub/grub.cfg - fișier de configurare executabil pe o partiție criptată.

Încrederea că „grub.cfg” criptat este încărcat este un răspuns pozitiv la introducerea parolei/deblocarea „sdaY” atunci când selectați linia „GRUBx2” în meniul GRUB.

Când lucrați în CLI, pentru a nu vă încurca (și verificați dacă variabila de mediu „set root” a funcționat), creați fișiere token goale, de exemplu, în secțiunea criptată „/shifr_grub”, în secțiunea necriptată „/noshifr_grub”. Verificarea în CLI

cat /Tab-Tab

După cum sa menționat mai sus, acest lucru nu va ajuta la descărcarea modulelor rău intenționate dacă astfel de module ajung pe computer. De exemplu, un keylogger care va putea salva apăsările de taste într-un fișier și îl va amesteca cu alte fișiere în „~/i386” până când este descărcat de un atacator cu acces fizic la computer.

Cel mai simplu mod de a verifica dacă protecția semnăturii digitale funcționează activ (nu resetat), și nimeni nu a invadat bootloader-ul, introduceți comanda în CLI

list_trusted

ca răspuns primim o copie a „perskey”-ului nostru sau nu primim nimic dacă suntem atacați (de asemenea, trebuie să bifați „set check_signatures=enforce”).
Un dezavantaj semnificativ al acestui pas este introducerea manuală a comenzilor. Dacă adăugați această comandă la „grub.cfg” și protejați configurația cu o semnătură digitală, atunci ieșirea preliminară a instantaneului cheii de pe ecran este prea scurtă în timp și este posibil să nu aveți timp să vedeți rezultatul după încărcarea GRUB2 .
Nu există nimeni în special căruia să-i facă pretenții: dezvoltatorul în a lui documentație clauza 18.2 declară oficial

„Rețineți că, chiar și cu protecția cu parolă GRUB, GRUB în sine nu poate împiedica pe cineva cu acces fizic la mașină să modifice configurația firmware-ului acelei mașini (de exemplu, Coreboot sau BIOS) pentru a determina pornirea mașinii de pe un dispozitiv diferit (controlat de atacator). GRUB este în cel mai bun caz doar o verigă dintr-un lanț de pornire securizat.”

GRUB2 este prea supraîncărcat cu funcții care pot da un sentiment de securitate falsă, iar dezvoltarea sa a depășit deja MS-DOS în ceea ce privește funcționalitatea, dar este doar un bootloader. Este amuzant că GRUB2 - „mâine” poate deveni sistemul de operare și mașini virtuale GNU/Linux bootabile pentru el.

Un scurt videoclip despre cum am resetat protecția pentru semnătura digitală GRUB2 și am declarat intruziunea mea unui utilizator real (Te-am speriat, dar în loc de ceea ce se arată în videoclip, poți scrie cod arbitrar/.mod inofensiv).

Concluzii:

1) Criptarea sistemului de blocuri pentru Windows este mai ușor de implementat, iar protecția cu o singură parolă este mai convenabilă decât protecția cu mai multe parole cu criptarea sistemului de blocuri GNU/Linux, pentru a fi corect: aceasta din urmă este automatizată.

2) Am scris articolul ca fiind relevant și detaliat simplu un ghid pentru criptarea completă a discului VeraCrypt/LUKS pe o singură casă a mașinii, care este de departe cea mai bună din RuNet (IMHO). Ghidul are > 50 de caractere, deci nu a acoperit niște capitole interesante: criptografi care dispar/se păstrează în umbră; despre faptul că în diverse cărți GNU/Linux se scrie puțin/nu scrie despre criptografie; despre articolul 51 din Constituția Federației Ruse; O licențiere/interzice criptare în Federația Rusă, despre de ce trebuie să criptați „root/boot”. Ghidul s-a dovedit a fi destul de extins, dar detaliat. (descriind chiar și pași simpli), la rândul său, acest lucru vă va economisi mult timp când ajungeți la „criptarea reală”.

3) Criptarea completă a discului a fost efectuată pe Windows 7 64; GNU/Linux Parrot 4x; GNU/Debian 9.0/9.5.

4) A implementat un atac cu succes asupra lui Bootloader GRUB2.

5) Tutorialul a fost creat pentru a ajuta toți oamenii paranoici din CSI, unde lucrul cu criptare este permis la nivel legislativ. Și în primul rând pentru cei care doresc să lanseze criptarea completă a discului fără a-și demola sistemele configurate.

6) Mi-am refăcut și actualizat manualul, care este relevant în 2020.

[G] Documentație utilă

  1. Ghidul utilizatorului TrueCrypt (februarie 2012 RU)
  2. Documentația VeraCrypt
  3. /usr/share/doc/cryptsetup(-run) [resursă locală] (documentație oficială detaliată despre configurarea criptării GNU/Linux folosind cryptsetup)
  4. Întrebări frecvente oficiale cryptsetup (scurtă documentație despre configurarea criptării GNU/Linux folosind cryptsetup)
  5. Criptarea dispozitivului LUKS (documentația archlinux)
  6. Descrierea detaliată a sintaxei cryptsetup (pagina de manual arch)
  7. Descriere detaliată a crypttab (pagina de manual arch)
  8. Documentație oficială GRUB2.

Etichete: criptare completă a discului, criptare partiție, criptare completă a discului Linux, criptare completă a sistemului LUKS1.

Numai utilizatorii înregistrați pot participa la sondaj. Loghează-te, Vă rog.

criptezi?

  • 17,1%Cript tot ce pot. sunt paranoic.14

  • 34,2%Eu doar criptez datele importante.28

  • 14,6%Uneori criptez, alteori uit.12

  • 34,2%Nu, nu criptez, este incomod și scump.28

Au votat 82 de utilizatori. 22 de utilizatori s-au abținut.

Sursa: www.habr.com

Adauga un comentariu