Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.
Ghidul revizuit pentru criptarea completă a discului în internetul rusesc V0.2.

Strategia cowboy:

[A] criptarea blocului pentru sistemul Windows 7 instalat;
[B] criptarea blocului pentru GNU/Linux (Debian) sistem instalat (inclusiv /boot);
[C] configurarea GRUB2, protecția bootloader-ului prin semnătură digitală/autentificare/hash;
[D] curățarea — distrugerea datelor necriptate;
[E] backup universal pentru sistemele de operare criptate;
[F] atac cu scopul - bootloader GRUB2;
[G] documentație utilă.

╭───Schema #camerei 40# :
├──╼ Windows 7 instalat — criptare completă a sistemului, neascunsă;
├──╼ GNU/Linux instalat (Debian și distribuții derivate) — criptare completă a sistemului, neascunsă(/, inclusiv /boot; swap);
├──╼ bootloadere independente: bootloader VeraCrypt instalat în MBR, bootloader GRUB2 instalat în secțiunea extinsă;
├──╼ nu este necesară instalarea/reinstalarea sistemului de operare;
└──╼ software criptografic utilizat: VeraCrypt; Cryptsetup; GnuPG; Seahorse; Hashdeep; GRUB2 – liber/gratuit.

Schema descrisă mai sus rezolvă parțial problema „boot-ului extern pe flash”, permițându-le utilizatorilor să se bucure de sistemele de operare Windows/Linux criptate și să partajeze date printr-un „canal criptat” de la un sistem de operare la altul.

Ordinea de pornire a PC-ului (una dintre variante):

  • pornirea mașinii;
  • încărcarea bootloader-ului VeraCrypt (introducerea corectă a parolei va continua pornirea Windows 7);
  • apăsarea tastei „Esc” va încărca bootloader-ul GRUB2;
  • bootloader-ul GRUB2 (selectarea distribuției/GNU/Linux/CLI), va solicita autentificarea super-utilizatorului GRUB2 ;
  • după autentificarea reușită și selectarea distribuției, va fi necesară introducerea frazei de parolă pentru deblocarea „/boot/initrd.img”;
  • după introducerea corectă a parolelor în GRUB2 „va fi necesar” să se introducă parola (a treia, parola BIOS sau parola contului utilizatorului GNU/Linux – nu este luată în considerare) pentru a debloca și porni sistemul de operare GNU/Linux, sau introducerea automată a cheii secrete (două parole + cheie, sau parolă + cheie);
  • o intervenție externă în configurația GRUB2 va bloca procesul de pornire GNU/Linux.

Complicat? Ok, haideți să automatizăm procesele.

Când se partitionează hard disk-ul (tabel MBR) PC-ul poate avea nu mai mult de 4 partiții principale, sau 3 principale și una extinsă, precum și o zonă nepartitionată. Secțiunea extinsă, spre deosebire de cea principală, poate conține sub-secțiuni. (discuri logice=parti extinse). Cu alte cuvinte, „parti extinse” pe HDD înlocuiește LVM pentru actuala sarcină: criptarea completă a sistemului. Dacă discul tău este partit în 4 părți principale, trebuie să folosești lvm, sau să transformi (cu formatare) parti de la principal la extins, sau să folosești cu inteligenta toate cele patru părți păstrând totul așa cum este, obținând rezultatul dorit. Chiar dacă ai o singură parte pe disc, Gparted te va ajuta să împărți HDD (în părți suplimentare) fără pierderi de date, dar totuși cu un mic cost pentru astfel de acțiuni.

Schema de partajare a discului dur, pe baza căreia se va desfășura întreaga articole, este prezentată în tabelul de mai jos.

Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.
Tabel (Nr. 1) al partilor de 1TB.

Ceva asemănător ar trebui să ai și tu.
sda1 — partea principală nr. 1 NTFS (criptat);
sda2 — marcaj pentru partea extinsă;
sda6 — disc logic (pe el este instalat bootloader-ul GRUB2);
sda8 — swap (fișier de schimb criptat/ne întotdeauna);
sda9 — disc logic de test;
sda5 — disc logic pentru curioși;
sda7 — OS GNU/Linux (sistem mutat pe disc logic criptat);
sda3 — partea principală nr. 2 cu OS Windows 7 (criptat);
sda4 — partea principală nr. 3 (în ea se afla GNU/Linux necriptat, utilizată pentru backup/ne întotdeauna).

[A] Criptare de sistem pe blocuri Windows 7

A1. VeraCryptCriptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

Bootare de la site-ul oficial, sau de la 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). Verifică suma de control a software-ului descărcat

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

și compară rezultatul obținut cu suma de control publicată pe site-ul dezvoltatorului VeraCrypt.

Dacă software-ul HashTab este instalat, este și mai simplu: clic dreapta (VeraCrypt Setup 1.24.exe)-proprietăți-suma hash a fișierelor.

Pentru a verifica semnătura programului, sistemul trebuie să aibă instalat software-ul și cheia publică PGP a dezvoltatorului gnuPG; gpg4win.

A2. Instalare/execuție a software-ului VeraCrypt cu drepturi de administratorCriptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

A3. Selectarea parametrilor de criptare a sistemului de parti activeVeraCrypt – Sistem – Criptează partea/diskul de sistem – Obisnuit – Criptează partea Windows – Multi-boot – (avis: „Utilizatorilor neexperimentați nu li se recomandă să folosească această metodă” și este adevărat, acceptăm „Da”) – Disk de bootare („da”, chiar dacă nu este așa, tot „da”) – Numărul de discuri sistem „2 sau mai multe” – Mai multe sisteme pe același disc „Da” – Nu bootloader Windows „Nu” (de fapt „Da”, dar bootloaderii VeraCrypt/GRUB2 nu pot împărți MBR-ul între ei, mai exact, în MBR/în pista de boot se stochează doar cea mai mică parte a codului bootloader-ului, cea mai mare parte se află în limitele sistemului de fișiere) – Multi-boot – Setările parametrilor de criptare…

Dacă te abati de la pașii descriși mai sus (scheme de criptare bloc pentru sistem), atunci VeraCrypt va afișa un avertisment și nu îți va permite să criptați partiția.

În pasul următor, pentru protecția țintită a datelor, efectuează un „Test” și alege algoritmul de criptare. Dacă ai un CPU învechit, cel mai rapid algoritm va fi probabil Twofish. Dacă CPU-ul este puternic, vei observa diferența: AES – criptarea va fi de câteva ori mai rapidă decât a concurenților săi criptografici, conform testului. AES este un algoritm popular de criptare, partea hardware a CPU-urilor moderne este special optimizată pentru „secret” și pentru „încălcare”.

VeraCrypt suportă posibilitatea de a cripta discurile în cascadă AES(Twofish)/и другими комбинациями. На старо-ядерном CPU Intel десятилетней давности (fără suport hardware pentru AES, criptare în cascadă A/T) scăderea de performanță fiind practic imperceptibilă. (la CPU-urile AMD din aceeași epocă/~parametrii – performanța este ușor redusă). OS-ul funcționează în dinamică și consumul de resurse pentru criptarea transparentă este neobservabil. Spre deosebire de, de exemplu, reducerea vizibilă a performanței cauzată de un desktop environment instabil testat Mate v1.20.1 (sau v1.20.2, nu mai țin minte exact) În GNU/Linux, sau din cauza funcționării subprogramului de telemetrie în Windows 7↑. De obicei, utilizatorii experimentați efectuează teste de performanță a hardware-ului înainte de criptare. De exemplu, în Aida64/Sysbench/systemd-analyze blame și compară rezultatele acestor teste cu cele obținute după criptarea sistemului, astfel, dezvăluind mitul „criptarea sistemului este dăunătoare”. Încetinirea mașinii și disconfortul sunt evidente în timpul backup-ului/restaurării datelor criptate, deoarece operația „backup de sistem” nu este măsurată în ms, iar aceleași operații de se adaugă. În cele din urmă, fiecare utilizator care are permisiunea de a se ocupa cu criptografia stabilește un echilibru între algoritmul de criptare, satisfacerea sarcinilor sale, gradul de paranoia și confortul utilizării.

Setarea PIM ar trebui lăsată pe implicit, astfel încât la fiecare pornire a sistemului de operare să nu fie introdusă valoarea exactă a iterațiilor. VeraCrypt folosește un număr uriaș de iterații pentru a crea un „hash” realmente „lent”. Un atac asupra unei astfel de „criptoculer” prin metoda Brute force/tabele cu rainbow are sens doar în cazul unei fraze de parolă „scurte” și a unei liste de charset personalizate a victimei. Prețul pentru rezistența parolei – întârzierea în introducerea corectă a parolei la pornirea sistemului de operare. (montarea volumelor VeraCrypt în GNU/Linux este semnificativ mai rapidă).
Software liber pentru realizarea atacurilor brute force. (extrasul frazei de parolă din headerul discului VeraCrypt/LUKS). Hashcat. John the Ripper nu poate „sparge Veracrypt”, iar în cazul LUKS nu înțelege criptografia Twofish.

Din cauza rezistenței criptografice a algoritmilor de criptare, hackerii necontrolați dezvoltă software cu un alt vector de atac. De exemplu, extragerea metadatelor/cheilor din RAM. (atacul cu botină rece/acces direct la memorie), există software specializat, atât liber cât și neliber pentru aceste scopuri.

După finalizarea configurării/generării „metadatelor unice” pentru partitia activă criptată, VeraCrypt va propune repornirea PC-ului și testarea funcționalității bootloader-ului său. După reboot/începerea Windows, VeraCrypt se va încărca în modul de așteptare, rămâne doar să confirmi procesul de criptare – Y.

La etapa final a sistemului de criptare VeraCrypt va propune să creați o copie de rezervă a antetului sectiunii criptate active sub forma „veracrypt rescue disk.iso” — este obligatoriu să o faceți — în acest software această operațiune este o cerință (în LUKS, ca cerință – din păcate, acest lucru este omis, dar subliniat în documentație). Disc de salvare va fi util tuturor, unii chiar de mai multe ori. Pierderea (suprapuntea antetului/MBR) rezerva antetului vă va lipsi pentru totdeauna accesul la secțiunea decriptată cu OS Windows.

A4. Crearea unui usb/disc de salvare VeraCryptÎn mod implicit, VeraCrypt oferă să scrie „metadate ~2-3mB” pe un CD, dar nu toată lumea are CD-uri sau unități DWD-ROM, și crearea unui stick USB de bootare „VeraCrypt Rescue disk” va fi o surpriză tehnică pentru unii: Rufus/GUIdd-ROSA ImageWriter și alt software similar — nu vor putea face față cerințelor, deoarece, pe lângă copierea metadatelor deplasate pe stick-ul USB, trebuie să faceți un copy/paste în afara sistemului de fișiere al unității USB, pe scurt, să copiați corect MBR/track pe flashdrive. Din sistemul de operare GNU/Linux, puteți crea un stick USB bootabil folosind utilitarul „dd”, vizionând acest tabel.

Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

Crearea unui disc de salvare în medii Windows — este diferită. Dezvoltatorul VeraCrypt nu a inclus soluția acestei probleme în oficial documentație privind „rescue disk”, dar a propus o soluție prin altă cale: a publicat software suplimentar pentru crearea „usb rescue disk” la dispoziția tuturor, pe forumul său VeraCrypt. Arhivatorul acestui software pentru Windows – „creați usb veracrypt rescue disk”. După salvarea rescue disk.iso, va începe procesul de criptare blocată a sectiunii active. În timpul criptării, activitatea OS nu se oprește, repornirea PC-ului nu este necesară. După încheierea operațiunii de criptare, secțiunea activă devine complet criptată, și poate fi utilizată. Dacă, la pornirea PC-ului, nu apare bootloaderul VeraCrypt și operațiunea de restaurare a antetului nu ajută, verificați flagul „boot”, acesta trebuie să fie setat pe secțiunea unde este Windows. (indiferent de criptare și alte OS-uri, vezi tabelul nr. 1).
Aceasta este descrierea criptării sistemului blocat cu OS Windows.

[B] LUKS. Criptarea GNU/Linux (~Debian) al sistemului de operare instalat. Algoritm și pași

Pentru a cripta o distribuție Debian sau derivatul său, este necesar să asociați partiția pregătită cu un dispozitiv bloc virtual, să transferați pe discul asociat GNU/Linux și să instalați/configurați GRUB2. Dacă nu aveți un server gol și apreciați timpul, este recomandat să folosiți GUI, iar majoritatea comenzilor terminal, descrise mai jos, se presupune că vor fi introduse în „modul Chuck Norris”.

B1. Bootarea PC-ului cu live usb GNU/Linux

„Efectuarea unui test de criptare pentru performanța hardware-ului”

lscpu && cryptsetup benchmark

Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

Dacă sunteți un proprietar fericit al unei mașini puternice cu suport hardware pentru AES, numerele vor fi asemănătoare cu partea dreaptă a terminalului, dacă sunteți fericit, dar cu hardware antic – cu partea stângă.

B2. Partitționarea discului. montarea/formatatea sistemului de fișiere al discului logic HDD în Ext4 (Gparted)

B2.1. Crearea unui titlu criptat pentru partiția sda7Voi descrie numele partițiilor, aici și mai departe, conform tabelei de partiții, prezentată mai sus. Conform partiționării dumneavoastră a discului, trebuie să înlocuiți numele partițiilor cu ale dumneavoastră.

Asocierea criptării discului logic (/dev/sda7 > /dev/mapper/sda7_crypt).
#Простое создание «LUKS-AES-XTS раздела»

cryptsetup -v -y luksFormat /dev/sda7

Opțiuni:

* luksFormat - inițializarea titlului LUKS;
* -y - fraza de parolă (nu cheie/fișier);
* -v - verbalizare (ieșire informații în terminal);
* /dev/sda7 - discul dumneavoastră logic din partiția extinsă (unde se preconizează transferul/criptarea GNU/Linux).

În mod implicit, algoritmul de criptare <LUKS1: aes-xts-plain64, Cheie: 256 biți, Hashing titlu LUKS: sha256, RNG: /dev/urandom> (depinde de versiunea cryptsetup).

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

În absența suportului hardware AES pe CPU, cea mai bună alegere va fi crearea unei „partiții LUKS-Twofish-XTS” extinse.

B2.2. Crearea extinsă a „partiției LUKS-Twofish-XTS”

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

Opțiuni:
* luksFormat - inițializarea titlului LUKS;
* /dev/sda7 discul dumneavoastră logic criptat viitor;
* -v verbalizare;
* -y fraza de parolă;
* -c alegerea algoritmului de criptare a datelor;
* -s dimensiunea cheii de criptare;
* -h algoritmul de hashing/funcția criptografică, folosită PRNG (--use-urandom) pentru generarea unei chei unice de criptare/decriptare a antetului discului logic, a cheii secundare a antetului (XTS); o cheie principală unică stocată în antetul criptat al discului, cheia secundară XTS, toate aceste metadate și subprogramul de criptare care cu ajutorul cheii principale și a cheii secundare XTS criptează/decriptează orice date de pe partiția (cu excepția antetului partiției) sunt stocate în ~3mB pe partiția selectată a discului.
* -i iterații în milisecunde, în loc de „cantitate” (întârziere de timp în procesarea parolei, influențează încărcarea sistemului de operare și criptarea cheilor). Pentru a menține echilibrul criptografic atunci când se utilizează o parolă simplă de tip „russian”, este necesar să se crească valoarea -(i), în cazul unei parole complexe de tip „?8dƱob/øfh” valoarea poate fi redusă.
* —use-urandom generator de numere aleatoare, generează chei și sare.

După asocierea partiției sda7 > sda7_crypt (operația este rapidă, deoarece se creează un antet criptat cu metadate ~3 mB și asta e tot), trebuie să formatați și să montați sistemul de fișiere sda7_crypt.

B2.3. Asocierea

cryptsetup open /dev/sda7 sda7_crypt
#executarea acestei comenzi solicită introducerea frazei de acces securizată.

opțiuni:
* open -asociază partiția „cu numele”;
* /dev/sda7 -disc logic;
* sda7_crypt -numele de asociere utilizat pentru montarea partiției criptate sau inițializarea acesteia la încărcarea sistemului de operare.

B2.4. Formatarea sistemului de fișiere sda7_crypt în ext4. Montarea discului în OS(Observație: în Gparted nu veți putea lucra cu partiția criptată)

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

opțiuni:
* -v -verbalizare;
* -L -eticheta discului (care apare în explorer alături de alte discuri).

Apoi, trebuie să montați dispozitivul bloc virtual criptat /dev/sda7_crypt în sistem

mount /dev/mapper/sda7_crypt /mnt

Lucrul cu fișiere în folderul /mnt va duce la criptarea/decriptarea automată a datelor în sda7.

Este mai convenabil să asociați și să montați partiția în explorer (nautilus/caja GUI), partiția va fi deja în lista de selecție a discurilor, va trebui doar să introduceți fraza de acces pentru a deschide/decripta discul. Numele asociat va fi selectat automat și nu „sda7_crypt”, ci ceva de genul /dev/mapper/Luks-xx-xx…

B2.5. Crearea unei copii de rezervă a antetului discului (metadate ~3mB)Una dintre cele mai importante operațiunilor care trebuie realizate fără amânare — backup-ul antetului „sda7_crypt”. Dacă se suprascrie / se deteriorează antetul (de exemplu, prin instalarea GRUB2 pe partiția sda7 etc.), datele criptate vor fi pierdute definitiv fără nicio posibilitate de recuperare, deoarece nu va fi posibil să se regenereze chei identice, cheile sunt unice.

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

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

opțiuni:
* luksHeaderBackup —header-backup-file -comandă de backup;
* luksHeaderRestore —header-backup-file -comandă de restaurare;
* ~/Backup_DebSHIFR — fișier de rezervă;
* /dev/sda7 -partiția, a cărei rezervă a antetului criptat trebuie să fie păstrată.
La acest pas s-a încheiat.

B3. Transferul sistemului de operare GNU/Linux (sda4) pe partiția criptată (sda7)

Creăm folderul /mnt2 (Notă — încă lucrăm cu live usb, la punctul /mnt este montat sda7_crypt), și montăm GNU/Linux-ul nostru în /mnt2, care trebuie criptat.

mkdir /mnt2
mount /dev/sda4 /mnt2

Realizăm transferul corect al OS-ului cu ajutorul software-ului Rsync

rsync -avlxhHX --progress /mnt2/ /mnt

Opțiunile Rsync sunt descrise în p.E1.

Apoi, este necesar a efectua defragmentarea partiției discului logic

e4defrag -c /mnt/ #după verificare, e4defrag va indica că gradul de defragmentare a partiției~"0", aceasta este o confuzie care poate duce la pierderi semnificative de performanță!
e4defrag /mnt/ #efectuăm defragmentarea GNU/Linux criptat

Țineți minte: să faceți e4defrag pe GNU/Linux criptat din când în când dacă aveți HDD.
Transferul și sincronizarea [GNU/Linux > GNU/Linux-criptat] la acest pas s-au încheiat.

B4. Configurarea GNU/Linux pe partiția criptată sda7

După transferul cu succes al OS-ului /dev/sda4 > /dev/sda7, trebuie să intrați în GNU/Linux pe partiția criptată și să efectuați configurarea ulterioară (fără a reporni PC-ul) referitor la sistemul criptat. Adică să fiți în live usb, dar să executați comenzi „în raport cu rădăcina OS-ului criptat”. A simula o astfel de situație va fi „chroot”. Pentru a obține rapid informații despre ce OS utilizați în prezent (fie că este criptat sau nu, deoarece datele din sda4 și sda7 sunt sincronizate), desincronizați OS-urile. Creați în directoarele rădăcină (sda4/sda7_crypt) fișiere marker goale, de exemplu, /mnt/OS_criptat și /mnt2/OS_decriptat. Verificare rapidă în care OS vă aflați (inclusiv pentru viitor):

ls /

B4.1. „Simularea accesului la OS criptat”

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

B4.2. Verificarea că lucrul se desfășoară în raport cu sistemul criptat

ls /mnt
# și vedem fișierul "/sistemCriptat"

history
# în ieșirea terminalului ar trebui să apară istoricul comenzilor su ale sistemului de operare activ.

B4.3. Crearea/configurarea swap-ului criptat, modificarea crypttab/fstabDeoarece fișierul de swap este formatat la fiecare pornire a sistemului de operare, nu are sens să creați și să asociați swap-ul cu discul logic acum și să introduceți comenzile, așa cum s-a menționat în p.B2.2. Pentru swap, vor fi generate automat chei temporare de criptare la fiecare pornire. Ciclu de viață al cheilor swap: demontarea/dezactivarea partiției swap (+curățarea RAM-ului); sau repornirea sistemului de operare. Configurarea swap-ului, deschideți fișierul responsabil pentru configurarea dispozitivelor criptate la nivel de bloc (analogiul fișierului fstab, dar responsabil pentru criptare).

nano /etc/crypttab 

modificăm

#«target name» «source device» «key file» «options»
swap /dev/sda8 /dev/urandom swap,cipher=twofish-xts-plain64,size=512,hash=sha512

Opțiuni
* swap - numele asociat la criptare /dev/mapper/swap.
* /dev/sda8 - utilizați partiția dvs. logică pentru swap.
* /dev/urandom - generator de chei de criptare aleatorii pentru swap (cu fiecare nouă pornire a sistemului de operare - se creează chei noi). Generatorul /dev/urandom este mai puțin aleatoriu decât /dev/random, în fond /dev/random este utilizat în condiții de paranoia extremă. La pornirea sistemului de operare, /dev/random încetinește încărcarea cu câteva ± minute (vezi systemd-analyze).
* swap,cipher=twofish-xts-plain64,size=512,hash=sha512: - partea știe că este swap și se formatează corespunzător; algoritmul de criptare.

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

modificăm

# swap was on /dev/sda8 during installation
/dev/mapper/swap none swap sw 0 0

/dev/mapper/swap -имя , которое задали в crypttab.

Swap criptat alternativ
Dacă din anumite motive nu doriți să alocați întreaga partiție pentru fișierul de swap, puteți urma o cale alternativă și mai bună: crearea unui fișier de swap în fișierul de pe partiția criptată cu sistemul de operare.

fallocate -l 3G /swap # crearea fișierului de 3GB (operație aproape instantanee)
chmod 600 /swap # setarea permisiunilor
mkswap /swap # din fișier creăm fișierul de swap
swapon /swap # activăm swap-ul nostru
free -m # verificăm că fișierul de swap este activat și funcționează
printf "/swap none swap sw 0 0" >> /etc/fstab # dacă este necesar, swap-ul va fi permanent după repornire

Configurarea partiției de swap a fost finalizată.

B4.4. Configurarea GNU/Linux criptat (modificarea fișierelor crypttab/fstab)Fișierul /etc/crypttab, cum am menționat mai sus, descrie dispozitivele criptate la nivel de bloc, care sunt configurate în timpul încărcării sistemului.

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

dacă ați asociat partiția sda7>sda7_crypt așa cum este menționat în p.B2.1

# «target name» «source device» «key file» «options»
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

dacă ați asociat partiția sda7>sda7_crypt așa cum este descris la p.B2.2

# «target name» «source device» «key file» «options»
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512

dacă ați asociat partiția sda7>sda7_crypt așa cum este la p.B2.1 sau B2.2, dar nu doriți să introduceți din nou parola pentru deblocarea și pornirea sistemului de operare, atunci în locul parolei puteți folosi o cheie secretă/salvă aleatorie

# «target name» «source device» «key file» «options»
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

Descriere
* none - indică faptul că, la pornirea sistemului de operare, este necesară introducerea unei fraze de parolă secrete pentru deblocarea rădăcinii.
* UUID - identificatorul partiției. Pentru a afla identificatorul dvs. trebuie să introduceți în terminal (amintiți-vă că tot acest timp și mai departe, lucrați în terminal în mediu chroot, nu într-un alt terminal live usb).

fdisk -l # verificarea tuturor partițiilor
blkid # ar trebui să fie ceva de genul 

/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 apare atunci când solicitați blkid din terminalul live usb cu sda7_crypt montat).
UUID-ul îl luați exact de la sdaX-ul dvs. (nu sdaX_crypt!, UUID sdaX_crypt – va dispărea automat la generarea config-ului grub.cfg).
* cipher=twofish-xts-plain64,size=512,hash=sha512 - criptare luks în mod avansat.
* /etc/skey - fișierul-cheie secret care este introdus automat pentru deblocarea pornirii sistemului de operare (în locul introducerii celei de-a 3-a parole). Fișierul poate fi orice 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 arăta cam așa:

(faceți-l singuri și veți vedea).

cryptsetup luksKillSlot /dev/sda7 7 # eliminarea cheii/parolei din slotul 7

/etc/fstab содержит описательную информацию о различных файловых системах.

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

# «file system» «mount poin» «type» «options» «dump» «pass»
# / was on /dev/sda7 during installation
/dev/mapper/sda7_crypt / ext4 errors=remount-ro 0 1

opțiune
* /dev/mapper/sda7_crypt - numele asociat sda7>sda7_crypt, care este specificat în fișierul /etc/crypttab.
Configurarea crypttab/fstab s-a încheiat.

B4.5. Editarea fișierelor de configurare. Momentul cheieB4.5.1. Editarea config-ului /etc/initramfs-tools/conf.d/resume

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

și comentați (dacă există) „#” linia „resume”. Fișierul trebuie să fie complet gol.

B4.5.2. Editarea config-ului /etc/initramfs-tools/conf.d/cryptsetup

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

trebuie să corespundă

# /etc/initramfs-tools/conf.d/cryptsetup
CRYPTSETUP=yes
export CRYPTSETUP

B4.5.3. Editarea config-ului /etc/default/grub (exact acest config răspunde pentru a genera grub.cfg atunci când se lucrează cu un /boot criptat)

nano /etc/default/grub

adăugăm linia „GRUB_ENABLE_CRYPTODISK=y”
valoarea ‘y’, grub-mkconfig și grub-install vor verifica existența discurilor criptate și vor genera comenzi suplimentare necesare pentru accesul lor la pornire (insmod-urile <cryptomount/set root>).
trebuie să fie ceva de genul

GRUB_DEFAULT=0
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=„acpi_backlight=vendor”
GRUB_CMDLINE_LINUX=„quiet splash noautomount”
GRUB_ENABLE_CRYPTODISK=y

B4.5.4. Editarea fișierului de configurare /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

verificați că linia este comentată .
În viitor (și chiar și acum, acest parametru nu va avea nicio importanță, dar uneori împiedică actualizarea imaginii initrd.img).

B4.5.5. Editarea fișierului de configurare /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

adăugăm

KEYFILE_PATTERN=»/etc/skey»
UMASK=0077

Aceasta va împacheta cheia secretă „skey” în initrd.img, cheia este necesară pentru deblocarea rădăcinii la boot-ul sistemului de operare (dacă nu doriți să introduceți din nou parola, cheia „skey” va fi introdusă automat).

B4.6. Actualizarea /boot/initrd.img [version]Pentru a împacheta cheia secretă în initrd.img și a aplica corecțiile cryptsetup, actualizăm imaginea

update-initramfs -u -k all

la actualizarea initrd.img (așa cum se spune „Posibil, dar nu exact”) vor apărea avertismente legate de cryptsetup sau, de exemplu, notificări despre modulele Nvidia pierdute - acesta este un fenomen normal. După actualizarea fișierului, verificați dacă acesta s-a actualizat cu adevărat, consultați timpul (în raport cu mediul chroot. /boot/initrd.img). Atenție! înainte de [update-initramfs -u -k all] verificați obligatoriu că cryptsetup open /dev/sda7 sda7_crypt — acesta este numele care trebuie să figureze în /etc/crypttab, altfel după reboot veți avea o eroare busybox)
La acest pas, configurația fișierelor de configurare este finalizată.

[C] Instalarea și configurarea GRUB2/Protecție

C1. Dacă este necesar, formatați partiția rezervată pentru bootloader (partiția trebuie să aibă cel puțin 20MB)

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

C2. Montarea /dev/sda6 în /mntFiindcă lucrăm în chroot, în rădăcină nu va fi directorul /mnt2, iar folderul /mnt va fi gol.
montăm partiția GRUB2

mount /dev/sda6 /mnt

Dacă aveți o versiune veche de GRUB2, în folderul /mnt/boot/grub/i-386-pc (poate fi o altă platformă, de exemplu, nu „i386-pc”) lipsesc modulele crypto (pe scurt, în folder ar trebui să se afle module, inclusiv aceste .mod: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod), în acest caz, GRUB2 trebuie să fie reîmprospătat.

apt-get update
apt-get install grub2 

Important! În timpul actualizării pachetului GRUB2 din depozit, la întrebarea „despre alegere” unde să fie instalat bootloader-ul – trebuie să refuzați instalarea (motivul - încercarea de a instala GRUB2 - în „MBR” sau pe live usb). Altfel, veți deteriora header-ul/bootloader-ul VeraCrypt. După actualizarea pachetelor GRUB2 și refuzul instalării, bootloader-ul trebuie instalat manual pe discul logic, nu în „MBR”. Dacă în depozitul dumneavoastră se află o versiune învechită de GRUB2, încercați să faceți update de pe site-ul oficial – nu am verificat (am lucrat cu încărcătoare fresh GRUB 2.02 ~BetaX).

C3. Instalarea GRUB2 în partiția extinsă [sda6]Trebuie să aveți montată partiția [p.C.2]

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

opțiuni
* —force -instalarea încărcătorului, ocolind toate avertizările care practic există întotdeauna și blochează instalarea (flagul obligatoriu).
* —root-directory -instalarea directorului <boot\/grub> în rădăcina sda6.
* \/dev\/sda6 -partiția dvs. sdaХ (nu ratați <spațiul> între \/mnt \/dev\/sda6).

C4. Crearea fișierului de configurare [grub.cfg]Uitați de comanda «update-grub2» și folosiți comanda completă pentru generarea fișierului de configurare

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

după finalizarea generării\/actualizării fișierului grub.cfg, în terminalul de ieșire ar trebui să fie linii(ă) cu sistemele de operare găsite pe disc («grub-mkconfig» ar putea găsi și desfășura OS de pe usb live, dacă aveți un stick cu bootare multiplă cu Windows 10 și o mulțime de distribuții live – este normal). Dacă în terminal «e gol», fișierul «grub.cfg» nu a fost generat, atunci acesta este cazul când în sistem există bug-uri GRUB (și cel mai probabil încărcătorul provine din ramura experimentală a repository-ului), reinstalați GRUB2 din surse de încredere.
Instalarea «configurației simple» și configurarea GRUB2 s-a încheiat.

C5. Testare a sistemului de operare GNU\/Linux criptatFinalizăm corect misiunea de criptare. Părăsim cu grijă GNU\/Linux criptat (ieșire din mediul chroot).

umount -a #demontarea tuturor partițiilor montate din GNU\/Linux criptat
Ctrl+d #ieșire din mediul chroot
umount \/mnt\/dev
umount \/mnt\/proc
umount \/mnt\/sys
umount -a #demontarea tuturor partițiilor montate de pe usb live
reboot

După repornirea PC-ului, ar trebui să pornească încărcătorul VeraCrypt.
Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

*Introducerea parolei pentru partiția activă – va începe încărcarea sistemului de operare Windows.
*Apăsarea tastei „Esc” va transfera controlul GRUB2, la alegerea GNU\/Linux criptat – va fi necesară parola (sda7_crypt) pentru deblocarea \/boot\/initrd.img (dacă grub2 indică uuid „nu găsit” – aceasta este o problemă a încărcătorului grub2, ar trebui reinstalat, de exemplu, din ramura test sau stabil).
Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

*În funcție de modul în care ați configurat sistemul (vezi p.B4.4\/4.5) după introducerea corectă a parolei pentru deblocarea imaginii \/boot\/initrd.img, va fi necesară parola pentru încărcarea nucleului\/rădăcina OS, sau va fi introdus automat cheia secretă „skey”, scutind de reintroducerea frazei parolei.
Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.
(captură „introducerea automată a cheii secrete”).

*Următorul va urma procesul familiar de încărcare a GNU/Linux cu autentificarea contului utilizatorului.
Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

*După autentificarea utilizatorului și intrarea în SO, este necesar să actualizăm din nou /boot/initrd.img (vezi V4.6).

update-initramfs -u -k all

Și în cazul unor linii suplimentare în meniul GRUB2 (din capturile SO-urilor cu live usb) se va scăpa de ele

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

Rezumat scurt despre criptarea sistemului GNU/Linux:

  • GNU/Linux este complet criptat, inclusiv /boot/kernel și initrd;
  • cheia secretă este ambalată în initrd.img;
  • schema actuală de autentificare (introducerea parolei pentru deblocarea initrd; parola/cheia pentru încărcarea SO-ului; parola de autentificare a contului Linux).

«Configurația simplă GRUB2» criptarea sistemului de partiții bloc a fost finalizată.

C6. Configurarea avansată GRUB2. Protecția încărcătorului cu semnătură digitală + protecția prin autentificareGNU/Linux este complet criptat, dar încărcătorul nu poate fi criptat – această condiție este dictată de BIOS. Din acest motiv, încărcarea criptată în lanț GRUB2 este imposibilă, dar o încărcare simplă în lanț este posibilă/accestibilă, din punct de vedere al protecției – nu este nevoie [vezi P. F].
Pentru GRUB2 «vulnerabil», dezvoltatorii au implementat un algoritm de protecție a încărcătorului «prin semnătură/autentificare».

  • În cazul protecției încărcătorului cu «propria semnătură digitală», orice modificare externă a fișierelor sau încercarea de a încărca module suplimentare în acest încărcător va duce procesul de încărcare la blocare.
  • În cazul protecției încărcătorului prin autentificare, pentru a alege să încărcați un anumit distribuție sau a introduce comenzi suplimentare în CLI, va fi necesar să introduceți numele de utilizator și parola superutilizatorului-GRUB2.

C6.1. Protecția încărcătorului prin autentificareVerificați că lucrați în terminalul din SO criptat

ls / #detectează fișierul marker

creați o parolă pentru superutilizator pentru autentificarea în GRUB2

grub-mkpasswd-pbkdf2 #introduceți/reintroduceți parola superutilizatorului. 

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

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

montăm partiția GRUB

mount /dev/sda6 /mnt 

edităm configurația

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

verificați căutarea în fișier, că în «grub.cfg» nu există undeva etichete (» —unrestricted» «—user»,
adăugați la sfârșit (înainte de linia ### END /etc/grub.d/41_custom ###)
«set superusers=»root»
password_pbkdf2 root hash”.

Ar trebui să arate aproximativ astfel

# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the ‘exec tail’ line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z «${config_directory}» -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
set superusers=«root»
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### END /etc/grub.d/41_custom ###
#

Dacă folosiți frecvent comanda «grub-mkconfig -o /mnt/boot/grub/grub.cfg» și nu doriți să faceți modificări în grub.cfg de fiecare dată, adăugați liniile descrise mai sus (login/parolă) în scriptul utilizator GRUB la sfârșit

nano /etc/grub.d/41_custom 

cat << EOF
set superusers=«root»
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF

Când generați configurația «grub-mkconfig -o /mnt/boot/grub/grub.cfg», liniile care se ocupă de autentificare vor fi adăugate automat în grub.cfg.
La acest pas, configurarea autentificării GRUB2 este completă.

C6.2. Protejarea bootloader-ului cu o semnătură digitalăSe presupune că deja aveți cheia dvs. personală de criptare PGP (sau creați o astfel de cheie). Pe sistem ar trebui să fie instalate programele criptografice: gnuPG; kleopatra/GPA; Seahorse. Programele criptografice vă vor simplifica viața în astfel de situații. Seahorse - versiunea stabilă a pachetului 3.14.0 (versiunile de peste, de exemplu, V3.20 - sunt incomplete și au erori semnificative).

Cheia PGP trebuie generată/rulată/adăugată doar în mediu 'su'!

Generați o cheie de criptare personală

gpg --gen-key

Exportați cheia dvs.

gpg --export -o ~/perskey

Montați discul logic în sistem dacă nu este deja montat

mount /dev/sda6 /mnt #sda6 – partitia GRUB2

curățați partitionarea GRUB2

rm -rf /mnt/

Instalați GRUB2 în sda6, punând cheia dvs. personală î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 -instalarea bootloader-ului, ignorând toate avertizările care există de obicei (flagul obligatoriu).
* --modules=«gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa» -instruiește GRUB2 să încarce modulele necesare la pornirea PC-ului.
* -k ~/perskey -calea către „cheia PGP” (după ambalarea cheii în imagine, aceasta poate fi ștearsă).
* --root-directory -instalarea directoarelor boot în rădăcina sda6
/dev/sda6 -ваш sdaХ раздел.

Generăm/actualizăm grub.cfg

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

Adăugăm la sfârșitul fișierului «grub.cfg» linia «trust /boot/grub/perskey» (folosiți forțat cheia pgp.) Deoarece am instalat GRUB2 cu un set de module, inclusiv cu modul semnăturii «signature_test.mod», aceasta elimină adăugarea în configurare a comenzilor precum «set check_signatures=enforce».

Ar trebui să arate aproximativ așa (liniile finale din fișierul grub.cfg)

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z «${config_directory}» -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
trust /boot/grub/perskey
set 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 specificată pe un anumit volum de disc, de exemplu hd0,6; pentru bootloader, «rădăcină» este calea implicită a volumului pe care este instalat GRUB2. (vezi set rot=..).

Semnăm GRUB2 (toate fișierele din toate directoarele /GRUB) cu cheia dvs. «perskey».
O soluție simplă pentru semnarea (pentru managerul de fișiere nautilus/caja): instalați din depozit extensia «seahorse» pentru managerul de fișiere. Cheia dvs. ar trebui să fie adăsată în mediu su.
Deschideți managerul de fișiere cu sudo «/mnt/boot» – clic dreapta – semnează. În captura de ecran arată astfel

Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

Cheia în sine «/mnt/boot/grub/perskey» (copiați în directorul grub) de asemenea, trebuie semnată cu propria semnătură. Verificați că în director/directoare au apărut semnături pentru fișiere [*.sig].
Semnăm «/boot» în modul descris mai sus (kernel-urile noastre, initrd). Dacă timpul dvs. contează, acest metodă vă scapă de a scrie un script bash pentru semnarea «multiple fișiere».

Pentru a elimina toate semnăturile bootloader-ului (dacă ceva nu a mers bine)

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

Pentru a nu semna bootloader-ul după actualizarea sistemului, înghețați 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ă GRUB2 este finalizată.

C6.3. Testarea bootloader-ului GRUB2, protejat prin semnătură digitală și autentificareGRUB2. La alegerea oricărei distribuții GNU/Linux sau intrarea în CLI (linia de comandă) va fi necesară autorizarea superuser-ului. După introducerea corectă a numelui de utilizator/parolei, va fi solicitată parola pentru initrd

Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.
Captură de ecran, autentificare reușită a superuser-ului GRUB2.

Dacă se modifică oricare dintre fișierele GRUB2 / se fac modificări în grub.cfg, sau se șterge fișierul/semnătura, se încarcă un modul malițios .mod, apare un mesaj de avertizare corespunzător. Încărcarea GRUB2 se va opri.

Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.
Captură de ecran, încercare de a interveni în GRUB2 «din exterior».

La o încărcare «normală» «fără intervenții», codul de statut de sistem este «0». Prin urmare, nu este clar dacă protectia funcționează sau nu (adică «cu protecția bootloader-ului prin semnătură sau fără ea» la o încărcare normală statutul rămâne același «0» — acesta este un lucru rău).

Cum se verifică protecția prin semnătură digitală?

O metodă incomodă de verificare: modificați/ștergeți modul GRUB2 folosit, de exemplu, ștergeți semnătura luks.mod.sig și obțineți o eroare.

Metoda corectă: aruncați o privire în CLI bootloader-ului și tastați comanda

trust_list

Răspunsul ar trebui să conțină amprenta „perskey”. Dacă statusul este „0”, înseamnă că protecția prin semnătură nu funcționează, verificați pct. C6.2.
În acest pas, setarea avansată „Protecția GRUB2 cu semnătură digitală și autentificare” este completă.

C7 Metodă alternativă de protejare a încărcătorului GRUB2 prin hashingMetoda descrisă mai sus „Protecția încărcătorului CPU / Autentificare” este clasică. Din cauza imperfecțiunii GRUB2, în condiții paranoice, acesta este supus unei atacuri reale pe care o voi prezenta mai jos în pct. [F]. În plus, după actualizarea OS / nucleului, trebuie să resemnați încărcătorul.

Protecția încărcătorului GRUB2 prin hashing

Avantaje față de clasică:

  • Un nivel mai înalt de fiabilitate (hashing / verificarea se realizează doar cu resursa locală criptată. Se controlează întreaga partiție alocată pentru GRUB2 în ceea ce privește orice modificări, iar tot restul este criptat; în schema clasică cu protecția încărcătorului CPU / Autentificare, se controlează doar fișierele, dar nu și spațiul liber, în care „ceva rău” poate fi scris).
  • Înregistrare criptată (schema include un jurnal criptat personal, ușor de citit).
  • Viteză (protectia/verificarea întregii partiții dedicate GRUB2 se realizează practic instantaneu).
  • Automatizarea tuturor proceselor criptografice.

Dezavantaje față de clasică.

  • Contrafacerea semnăturii (teoretic, este posibil să se găsească o coliziune predefinită a funcției hash).
  • Nivel crescut de complexitate (comparativ cu clasică, necesită puțin mai multe abilități de gestionare în OS GNU / Linux).

Cum funcționează ideea cu hashing-ul GRUB2 / partiției

Partiția GRUB2 este „semnată”, la bootarea OS se efectuează o verificare a integrității partiției încărcătorului, cu un jurnal ulterior în mediu sigur (criptat). În caz de compromitere a încărcătorului, sau a partiției sale, pe lângă jurnalul de intruziune se activează o

Dolog.Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

De patru ori pe zi se efectuează o verificare similară, care nu suprasolicită resursele sistemului.
Cu comanda „-$ verificare_GRUB” se efectuează o verificare instantanee în orice moment fără a crea jurnal, dar cu afișarea informațiilor în CLI.
Cu comanda „-$ sudo semnătură_GRUB” se realizează o resemnare instantanee a încărcătorului GRUB2 / partiției și jurnalizarea sa actualizată (necesară după actualizarea OS / boot), și viața continuă mai departe.

Implementarea metodei de hashare a încărcătorului și a secțiunii sale

0) Vom semna încărcătorul/secțiunea GRUB, montâ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, aplicându-i drepturile necesare 744 de securitate și protecție împotriva „tâmpitului”.

Umplem conținutul său

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

Executăm scriptul de la su, va avea loc verificarea hash-ului secțiunii GRUB și a încărcătorului său, salvând log-ul.

Vom crea sau copia, de exemplu, un „fișier malițios” [virus.mod] în secțiunea GRUB2 și vom efectua o verificare/testare temporară:

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

În CLI ar trebui să vedem o intruziune în -cetate-#Урезанный лог в CLI

Mie ian  2 11:41 MSK 2020
/media/username/GRUB/boot/grub/virus.mod: Mutat din /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 eșuat
   Fișiere de intrare examinate: 0
  Fișiere cunoscute așteptate: 0
          Fișiere potrivite: 325
Fișiere parțial potrivite: 0
            Fișiere mutate: 1
        Fișiere noi găsite: 0
  Fișiere cunoscute care nu au fost găsite: 0

#как видим появилось «Files moved: 1 и Audit failed» означает, что проверка не прошла.
Din cauza caracteristicilor secțiunii testate, în loc de „Fișiere noi găsite” > „Fișiere mutate”

2) Punem un gif aici > ~/warning.gif, setăm drepturile 744.

3) Configurăm fstab pentru a monta automat secțiunea GRUB la pornire

-$ sudo nano /etc/fstab

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

4) Realizăm rotația log-ului

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

/var/log/podpis.txt {
daily
rotate 50
size 5M
dateext
compress
delaycompress
olddir /var/log/old
}

/var/log/vtorjenie.txt {
monthly
rotate 5
size 5M
dateext
olddir /var/log/old
}

5) Adăugăm o sarcină în cron

-$ sudo crontab -e

repornire ‘/podpis’
0 */6 * * * ‘/podpis

6) Creăm 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 resemnăm secțiunea noastră GRUB
-$ подпись_GRUB
În acest pas, protecția prin hash a secțiunii GRUB este completă.

[D] Curățare — distrugerea datelor necriptate

Ștergeți fișierele personale atât de complet încât „chiar și Dumnezeu nu le poate citi”, spunea reprezentantul Carolinei de Sud, Trey Gowdy.

După cum este obișnuit, există diferite „mituri și legende” despre recuperarea datelor după ștergerea lor de pe hard disk. Dacă credeți în vrăjitorie cibernetică, sau sunteți membru al comunității Dr web și nu ați încercat vreodată recuperarea datelor după ștergere/reescriere (de exemplu, recuperare cu ajutorul R-studio), atunci metoda propusă este puțin probabil să vi se potrivească, folosiți ceea ce este mai apropiat de voi.

După ce GNU/Linux a fost transferat cu succes pe un volum criptat, copia veche trebuie ștearsă fără posibilitatea de recuperare a datelor. O metodă universală de curățare: software pentru Windows/Linux, software gratuit cu interfață grafică. BleachBit.
Rapid formatarea volumului, datele care trebuie distruse (cu ajutorul Gparted), pornim BleachBit, alegem „Curățare spațiu liber” – selectăm volumul (sdaX-ul dvs. cu copia anterioară de GNU/Linux), va începe procesul de ștergere. BleachBit curăță discul într-o singură trecere – aceasta este ceea ce „ne trebuie”, dar! așa funcționează doar în teorie, dacă ați formatat discul și ați curățat cu BB v2.0.

Atenție! BB curăță discul, lăsând metadate, numele fișierelor rămân salvate la eliminarea datelor (Ccleaner – nu lasă metadate).

Și mitul despre posibilitatea de recuperare a datelor nu este chiar un mit.Bleachbit V2.0-2 a fost un pachet instabil în OS Debian (și orice alt software similar: sfill; wipe-Nautilus – de asemenea au fost observați în această treabă murdară) de fapt a avut o eroare critică: funcția „curățare spațiu liber” nu funcționează corect pe HDD/USB (ntfs/ext4). Software-ul de acest tip, atunci când curăță spațiul liber, nu suprascrie întreg discul, așa cum cred mulți utilizatori. Și unele (multe) fișiere șterse de sistem/software consideră aceste date ca fiind neșterse/ale utilizatorului și la curățarea „spațiului liber” le omite. Problema este că după o curățare de lungă durată a discului „fișierele șterse” pot fi recuperate chiar și după 3+ treceri de ștergere a discului.
Pe GNU/Linux, în Bleachbit 2.0-2 funcțiile de eliminare ireversibilă a fișierelor și directoarelor funcționează corect, dar nu și curățarea spațiului liber. Spre comparație: pe Windows, în software-ul CCleaner, funcția „spațiu liber pentru ntfs” funcționează corect, iar Dumnezeu chiar nu va putea citi datele șterse.

Așadar, pentru a elimina complet „datele compromise” vechi necriptate, este necesar accesul direct al Bleachbit la aceste date, apoi, utilizați funcția „ștergere fișiere/directoare ireversibil”.
Pentru a șterge „fișierele șterse prin metodele standard ale OS” pe Windows, folosiți CCleaner/BB cu funcția „spațiu liber”. În GNU/Linux, pe această problemă (ștergerea fișierelor șterse) va trebui să obțineți experiență pe cont propriu (ștergerea datelor + încercarea autonomă de recuperare și nu trebuie să vă bazați pe versiunea software-ului (dacă nu este o caracteristică, atunci este un bug)), doar în acest caz veți putea înțelege mecanismul acestei probleme și să scăpați complet de datele șterse.

Bleachbit v3.0 nu a fost verificat, este posibil să fi corectat deja problema.
Bleachbit v2.0 funcționează corect.

În acest pas, „curățarea discului” este completă.

[E] Backup universal pentru sistemele de operare criptate

Fiecare utilizator are propriul său mod de a efectua backup, dar datele criptate ale „sistemelor de operare” necesită o abordare ușor diferită. Software-ul unificat, cum ar fi „Clonezilla” și programele similare, nu pot lucra direct cu date criptate.

Formularea problemei creării unui backup pentru dispozitive de blocare criptate:

  1. universalitate — același algoritm/software de backup pentru Windows/Linux;
  2. posibilitatea de a lucra în consola cu orice live USB GNU/Linux fără a descărca software suplimentar (dar totuși recomand GUI);
  3. securitatea backup-urilor — „imaginea” stocată trebuie să fie criptată/parolată;
  4. dimensiunea datelor criptate ar trebui să corespundă dimensiunii datelor reale copiate;
  5. extracția convenabilă a fișierelor necesare din backup (fără a necesita decriptarea întregii partiții mai întâi).

De exemplu, backup/restaurare prin utilitarul „dd”

dd if=/dev/sda7 of=/cale/sda7.img bs=7M conv=sync,noerror
dd if=/cale/sda7.img of=/dev/sda7 bs=7M conv=sync,noerror

Se conformează aproape tuturor punctelor formulate, dar la p.4 nu rezistă criticii, deoarece copiază întreaga partiție a discului, inclusiv spațiul liber — ceea ce nu este relevant.

De exemplu, backup GNU/Linux prin arhivatorul [tar» | gpg] este convenabil, dar pentru backup Windows trebuie să căutați o altă soluție — ceea ce nu este relevant.

E1. Backup universal pentru Windows/Linux. Îmbinarea rsync (Grsync)+VeraCrypt volumeAlgoritmul de creare a backup-ului:

  1. crearea unui container criptat (volum/fișier) VeraCrypt pentru OS;
  2. transfer/sincronizare OS cu ajutorul software-ului Rsync în containerul criptat VeraCrypt;
  3. dacă este necesar, încărcarea volumului VeraCrypt în www.

Crearea unui container criptat VeraCrypt are propriile sale particularități:
crearea unui volum dinamic (crearea DTV este posibilă doar în Windows, poate fi utilizată și în GNU/Linux);
crearea unui volum obișnuit, dar există o cerință de „natura paranoică” (potrivit cuvintele dezvoltatorului) – formatarea containerului.

Un volum dinamic se creează practic instantaneu în sistemul de operare Windows, dar când se copiază date din sistemul de operare GNU/Linux > VeraCrypt DT, în general, performanța operațiunii de backup scade semnificativ.

Un volum standard Twofish de 70 GB se creează (să zicem, pe un PC cu o putere medie) pe HDD în aproximativ o jumătate de oră (rescrierea datelor anterioare ale containerului într-o singură trecere, impusă de cerințele de securitate). Funcția de formatare rapidă a volumului a fost eliminată din VeraCrypt Windows/Linux la crearea acestuia, prin urmare, crearea containerului este posibilă doar prin «rescriere într-o singură trecere», sau prin crearea unui volum dinamic cu performanțe slabe.

Creăm un volum standard VeraCrypt (nu dinamic/ntfs), nu ar trebui să apară probleme.

Configurăm/creăm/deschidem un container în VeraCrypt GUI > GNU/Linux live usb (volumul va fi automontat în /media/veracrypt2, volumul din sistemul de operare Windows va fi montat în /media/veracrypt1). Creăm o copie de rezervă criptată a sistemului de operare Windows folosind GUI rsync (grsync), bifează opțiunile.

Criptarea pe disc complet pentru sistemele Windows și Linux instalate. Multiboot criptat.

Așteptați finalizarea procesului. La finalizarea backup-ului, vom avea un singur fișier criptat.

În mod similar, creați o copie de rezervă a sistemului de operare GNU/Linux, debifând opțiunea de compatibilitate cu Windows în GUI rsync.

Atenție! containerul Veracrypt pentru «backup GNU/Linux» trebuie creat în sistemul de fișiere ext4. Dacă faceți backup într-un container ntfs, la restaurarea unei astfel de copii veți pierde toate drepturile/grupurile pe toate datele dumneavoastră.

Toate operațiunile se pot efectua și din terminal. Opțiunile principale pentru rsync sunt:
* -g - păstrează grupurile;
* -P —progress — statusul timpului de lucru asupra fișierului;
* -H - copiază hardlink-urile exact cum sunt;
* -a - modul arhivă (câteva flaguri rlptgoD);
* -v - verbalizare.

Dacă doriți să montați «volumul Windows VeraCrypt» prin consolă î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, la comanda «veramount pictures» va apărea cererea de introducere a frazei de parolă, iar în sistemul de operare va fi montat volumul criptat al sistemului Windows.

Comanda pentru a asocia/monta volumul de sistem VeraCrypt în cryptsetup este

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

Comanda pentru a asocia/monta particiția/containerul VeraCrypt în cryptsetup este

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

În loc de alias, vom adăuga (script în autostart) un volum sistem cu OS Windows și un disc logic criptat ntfs în autostart GNU/Linux.

Creăm un script și îl salvăm î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 #decodăm parola din base64 (bob) și o trimitem ca solicitare de introducere a parolei la montarea discului sistemului OS Windows.
printf 'Ym9i' | base64 -d | cryptsetup open --veracrypt --type tcrypt /dev/sda1 ntfscrypt && mount /dev/mapper/ntfscrypt /media/ContainerNtfs #analogic, dar montăm discul logic ntfs.

Acordăm „drepturile corecte”:

sudo chmod 100 /VeraOpen.sh

Creăm două fișiere identice (cu același nume!) în /etc/rc.local și ~/etc/init.d/rc.local.
Umplem fișierele.

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

Acordăm „drepturile corecte”:

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

Totul, acum la pornirea GNU/Linux nu trebuie să introducem parole pentru montarea discurilor criptate ntfs, discurile se montează automat.

Notă pe scurt despre ceea ce este descris mai sus în p.E1 pas cu pas (dar acum pentru OS GNU/Linux).
1) Crearea unui volum în fs ext4 > 4gb (pentru fișier) Linux în Veracrypt [CryptoBox].
2) Reboot în live usb.
3) ~$ cryptsetup open /dev/sda7 Lunux #asocierea partiției criptate.
4) ~$ mount /dev/mapper/Linux /mnt #montarea partiției criptate în /mnt.
5) ~$ mkdir mnt2 #crearea unui director pentru backup-ul viitor.
6) ~$ cryptsetup open --veracrypt --type tcrypt ~/CryptoBox CryptoBox && mount /dev/mapper/CryptoBox /mnt2 #Asocierea volumului Veracrypt numit „CryptoBox” și montarea CryptoBox în /mnt2.
7) ~$ rsync -avlxhHX --progress /mnt /mnt2/ #operația de backup a partiției criptate în volumul criptat Veracrypt.

(p/s/ Atenție! Dacă transferați GNU/Linux criptat de pe o arhitectură/mașină pe alta, de exemplu, Intel > AMD (adică desfășurați backup-ul de pe o partiție criptată pe alta partiție criptată Intel > AMD), nu uitați după transferul sistemului de operare criptat să modificați cheia secretă înlocuitoare în locul parolei, deoarece cheia anterioară ~/etc/skey nu va mai funcționa pentru altă partiție criptată, iar noua cheie „cryptsetup luksAddKey” nu ar trebui să fie creată din chroot — este posibil un glitch, pur și simplu în ~/etc/crypttab specificați temporar „none” în loc de „/etc/skey”, după reboot și intrarea în OS recreați-vă cheia secretă înlocuitoare din nou).

Ca veterani IT, nu uităm să facem backup-uri separate ale antetelor partițiilor criptate ale sistemelor Windows/Linux, altfel criptarea se va întoarce împotriva voastră.
La acest pas, backup-ul sistemelor de operare criptate s-a încheiat.

[F] Atacarea bootloader-ului GRUB2

DetaliiDacă ați protejat bootloader-ul cu o semnătură digitală și/sau autentificare (vezi p.C6.), atunci accesul fizic nu va oferi nicio protecție. Datele criptate vor rămâne inaccesibile, dar se poate o ocolire a protecției (resetează protecția semnăturii digitale) GRUB2 permite unui atacator să integreze codul său în bootloader, fără a atrage suspiciuni (cu excepția cazului în care utilizatorul urmărește manual starea bootloader-ului sau își scrie propriul cod arbitrari puternic pentru grub.cfg).

Algoritmul atacului. Atacatorul

* Pornește PC-ul cu un live USB. Orice modificare (de către atacator) a fișierelor va anunța adevăratul proprietar al PC-ului despre o intruziune în bootloader. Însă o simplă reinstalare a GRUB2 cu păstrarea grub.cfg (și cu posibilitatea ulterioară de a-l edita) va permite atacatorului să editeze orice fișiere (în acest scenariu, la pornirea GRUB2, nu se va trimite nicio notificare utilizatorului real. Starea rămâne aceeași )
* Montează o partiție necriptată, salvează „/mnt/boot/grub/grub.cfg”.
* Reinstalează bootloader-ul (eliminând „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 modul său „keylogger.mod” în folderul cu modulele bootloader-ului, în „grub.cfg” > linia „insmod keylogger”. Sau, de exemplu, dacă inamicul este viclean, după reinstalarea GRUB2 (toate semnăturile rămân intacte) acesta colecționează imaginea principală a GRUB2 folosind „grub-mkimage cu opțiunea (-s).” Opțiunea „-s” va permite să încarce configurația sa înainte de încărcarea principalului „grub.cfg”. Configurația poate consta doar 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 timp, atacatorul poate introduce cod arbitrar și încarcă module, fără a afecta „/boot/grub/grub.cfg”, chiar dacă utilizatorul a aplicat „hashsum” la fișier și l-a afișat temporar pe ecran.
Atacatorul nu va trebui să încalce loginul/parola superutilizatorului GRUB2, va trebui doar să copieze liniile (responsabile pentru autentificare) „/boot/grub/grub.cfg” în propriul său „modern.cfg”

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

Și pentru proprietarul PC-ului, verificația autenticității superutilizatorului GRUB2 va rămâne valabilă.

Booting în lanț (bootloader-ul încarcă un alt bootloader), așa cum am spus mai devreme, nu are sens (este destinat unui alt scop). Din cauza BIOS-ului, nu se poate încărca un bootloader criptat (în timpul încărcării în lanț, GRUB2 se repornește > GRUB2 criptat, eroare!). Totuși, dacă te folosești de ideea încărcării în lanț, poți fi sigur că se încarcă anume (neactualizat) «grub.cfg» dintr-o partiție criptată. Și acesta este un sentiment fals de siguranță, deoarece, tot ceea ce este specificat în «grub.cfg» criptat (încărcarea modulelor) se combină cu modulele care sunt încărcate din GRUB2 necriptat.

Dacă vrei să verifici acest lucru, atunci alocă/criptează încă o partiție sdaY, copiază pe ea GRUB2 (operațiunea grub-install pe partiția criptată este imposibilă) și în «grub.cfg» (configurația necriptată) modifică liniile asemănătoare acestor

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

stringi
* insmod -încărcarea modulelor necesare pentru funcționarea unui disc criptat;
* GRUBx2 -numele liniei afișate în meniul de boot GRUB2;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 -vezi fdisk -l (sda9);
* set root -setarea rădăcinii;
* normal /boot/grub/grub.cfg -fișierul de execuție a configurației pe partiția criptată.

Siguranța că se încarcă anume „grub.cfg” criptat este un răspuns pozitiv la introducerea parolei/deblocarea „sdaY” când alegi linia „GRUBx2” din meniul GRUB.

Când lucrezi în CLI, pentru a nu te confunda (și pentru a verifica dacă a funcționat variabila de mediu „set root”), creează fișiere goale de marcaj, de exemplu, în partiția criptată „/shifr_grub”, în partiția necriptată „/noshifr_grub”. Verificare în CLI

cat /Tab-Tab

După cum s-a menționat mai sus, acest lucru nu va ajuta împotriva încărcării modulilor malițioase, dacă astfel de module sunt prezente pe PC-ul tău. De exemplu, un keylogger care poate salva apăsările de taste într-un fișier și se poate amesteca cu alte fișiere în „~/i386”, până când este descărcat de un atacator cu acces fizic la PC.

Cea mai simplă metodă de a verifica dacă protecția semnăturii digitale funcționează activ (nu a fost resettată), și nimeni nu a intrat în bootloader, în CLI scriem comanda

list_trusted

în răspuns obținem o copie a „perskey”-ului nostru sau nu obținem nimic, dacă am fost atacați (de asemenea, este necesar să verificați „set check_signatures=enforce”).
Un dezavantaj semnificativ al acestui pas este că trebuie să introduceți comenzile manual. Dacă adăugați acestă comandă în „grub.cfg” și protejați configurația cu o semnătură digitală, atunci ieșirea preliminară a cheii pe ecran este prea scurtă ca timp, și poate că nu aveți timp să vedeți ieșirea, obținând încărcarea GRUB2.
Nu există pe cine să facem reclamații: dezvoltatorul în documentation p.18.2 declară oficial

„Rețineți că, chiar și cu protecția prin parolă GRUB, GRUB însuși nu poate preveni pe cineva cu acces fizic la mașină să modifice firmware-ul acelei mașini (de exemplu, configurația Coreboot sau BIOS) pentru a face ca mașina să pornească de pe un dispozitiv diferit (controlat de atacator). GRUB este, cel mult, doar un link într-un lanț de boot sigur.”

GRUB2 este prea supraîncărcat cu funcții care pot oferi un sentiment fals de securitate, iar dezvoltarea sa a depășit deja funcționalitatea sistemului de operare MS-DOS, iar este doar un încărcător. Amuzant este că GRUB2 - „mâine” ar putea deveni un sistem de operare, iar mașinile virtuale GNU/Linux încărcate pentru el.

Un scurt videoclip despre cum am eliminat protecția cu semnătură digitală GRUB2 și am revendicat intruziunea mea asupra unui utilizator real (l-am speriat, iar în locul a ceea ce este arătat în videoclip - se poate scrie un cod/mod arbitrar nu tocmai inofensiv).

Redați video

Concluzii:

1) Criptarea sistemului de fișiere pentru Windows - este mai ușor de realizat, iar protecția cu o singură parolă este mai comodă decât protecția cu mai multe parole în cazul criptării sistemului de fișiere GNU/Linux, este corect să spunem că ultima este automatizată.

2) Am scris articolul ca relevant, detaliat simplu ghid pentru criptarea completă a discurilor VeraCrypt/LUKS pe o mașină de acasă, care, până în prezent, este cel mai bun din internetul rusesc (IMHO). Ghidul are > 50k de caractere, prin urmare nu au fost luate în considerare unele capitole interesante: despre criptografi care dispar/stau în umbră; despre faptul că în diferite cărți GNU/Linux se vorbește puțin/despre criptografie; despre art.51 din Constituția Federației Ruse; despre licențiere/запрете criptării în Federația Rusă, despre ceea ce trebuie criptat „root/boot”. Ghidul a fost oricum considerabil, dar detaliat (descriind chiar și pașii simpli), la rândul său, vă va economisi o mulțime de timp când vă veți ocupa de „criptarea adevărată”.

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

4) Am realizat un atac de succes asupra încărcătorului meu GRUB2. încărcător GRUB2.

5) Tutorialul a fost creat pentru a ajuta toți paranoicii din CSI, unde munca cu criptarea este permisă prin lege. În primul rând pentru cei care doresc să implementeze criptarea pe discuri complete fără a-și șterge sistemele configurate.

6) Am revizuit și actualizat ghidul meu, care este relevant în 2020.

[G] Documentație utilă

  1. Ghidul utilizatorului TrueCrypt (februarie 2012 RO)
  2. Documentația VeraCrypt
  3. /usr/share/doc/cryptsetup(-run) [локальный ресурс] (documentație oficială detaliată pentru configurarea criptării GNU/Linux folosind cryptsetup)
  4. FAQ oficial cryptsetup (documentație succintă pentru configurarea criptării GNU/Linux folosind cryptsetup)
  5. Criptarea dispozitivului LUKS (documentația Arch Linux)
  6. Descriere detaliată a sintaxei cryptsetup (pagina manualului Arch)
  7. Descriere detaliată a crypttab (pagina manualului Arch)
  8. Documentația oficială GRUB2.

Etichete: criptare completă a discului, criptare a partiției, criptare pe disc complet Linux, criptare completă a sistemului LUKS1.

Numai utilizatorii înregistrați pot participa la sondaj. Conectați-vă, vă rugăm.

Criptezi?

  • 17,1%Criptez tot ce este posibil. Am paranoidă.

  • 34,2%Criptez doar datele importante.

  • 14,6%Uneori criptez, alteori uit.

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

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

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster