Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot
Opgedateer eie gids tot volskyf-enkripsie in Runet V0.2.

Cowboy strategie:

[A] Windows 7 blok stelsel enkripsie van die geïnstalleerde stelsel;
[B] GNU/Linux-blokstelsel-enkripsie (Debian) geïnstalleerde stelsel (insluitend /boot);
[C] GRUB2-opstelling, selflaailaaierbeskerming met digitale handtekening/verifikasie/hashing;
[D] skoonmaak - vernietiging van ongeënkripteerde data;
[E] universele rugsteun van geïnkripteer bedryfstelsel;
[F] aanval <by [C6]> teiken - GRUB2-laaier;
[G] Nuttige dokumentasie.

╭───Skema #kamer 40# :
├──╼ Windows 7 geïnstalleer - volledige stelselkodering, nie versteek nie;
├──╼ GNU/Linux geïnstalleer (Debian en afgeleide verspreidings) - Volledige stelselkodering word nie versteek nie(/, insluitend /boot; ruil);
├──╼ onafhanklike selflaailaaiers: VeraCrypt selflaailaaier geïnstalleer in MBR, GRUB2 selflaailaaier geïnstalleer in uitgebreide partisie;
├──╼ installasie/herinstallering van die bedryfstelsel word nie vereis nie;
└──╼ gebruikte kriptografiese sagteware: VeraCrypt; Kriptoopstelling; gnupg; seeperd; hashdeep; GRUB2 - Gratis/gratis.

Die bogenoemde skema los die probleem gedeeltelik op van "afgeleë selflaai na 'n flash drive", laat jou toe om geënkripteerde Windows / Linux OS te geniet en data uit te ruil via 'n "geïnkripteer kanaal" van een bedryfstelsel na 'n ander.

PC selflaai volgorde (een van die opsies):

  • die aanskakel van die masjien;
  • laai die VeraCrypt selflaaiprogram af (korrekte wagwoordinvoer sal voortgaan om Windows 7 te begin);
  • druk die "Esc" sleutel sal die GRUB2 selflaaiprogram laai;
  • GRUB2 selflaaiprogram (keuse van verspreiding/GNU/Linux/CLI), sal verifikasie van die GRUB2 supergebruiker <login/wagwoord> vereis;
  • na suksesvolle verifikasie en keuse van die verspreiding, sal jy 'n wagwoordfrase moet invoer om "/boot/initrd.img" te ontsluit;
  • na die invoer van korrekte wagwoorde in GRUB2 "vereis" om 'n wagwoord in te voer (derde in 'n ry, BIOS-wagwoord of GNU/Linux-gebruikersrekeningwagwoord - nie oorweeg nie) om GNU/Linux OS te ontsluit en te begin, of outomatiese vervanging van die geheime sleutel (twee wagwoorde + sleutel, of wagwoord + sleutel);
  • 'n eksterne indringing in die GRUB2-konfigurasie sal die GNU/Linux-opstartproses vries.

Moeilik? Goed, kom ons gaan outomatiseer prosesse.

Wanneer 'n hardeskyf partisieer (MBR tabel) 'n Rekenaar kan nie meer as 4 hoofpartisies hê nie, of 3 hoof- en een verlengde, sowel as 'n ontoegekende area. 'n Uitgebreide afdeling, anders as die hoof een, kan onderafdelings bevat. (logiese dryf = uitgebreide partisie). Met ander woorde, die "uitgebreide partisie" op die HDD vervang LVM vir die huidige taak: volledige stelselenkripsie. As jou skyf in 4 hoofpartisies verdeel is, moet jy lvm gebruik, of transformeer (met formatering) afdeling van hoof tot gevorderd, of gebruik al vier afdelings bekwaam en laat alles soos dit is, om die gewenste resultaat te kry. Selfs as jy net een partisie op jou skyf het, sal Gparted jou help om jou HDD te partisieer (vir bykomende afdelings) sonder dataverlies, maar steeds met 'n klein prys om vir sulke aksies te betaal.

Die uitlegskema van die hardeskyf, relatief waartoe die hele artikel geverbaliseer sal word, word in die tabel hieronder aangebied.

Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot
Tabel (No. 1) van afdelings 1TB.

Jy moet iets soortgelyks hê.
sda1 - hoofpartisie #1 NTFS (geïnkripteer);
sda2 - uitgebreide seksie merker;
sda6 - logiese dryf (die GRUB2 selflaaiprogram is daarop geïnstalleer);
sda8 - ruil (geënkripteerde ruillêer / nie altyd nie);
sda9 - toets logiese skyf;
sda5 - logiese dryfkrag vir die nuuskieriges;
sda7 - GNU/Linux OS (oorgeplaas bedryfstelsel na 'n geënkripteerde logiese dryf);
sda3 - hoofpartisie #2 met Windows 7 (geïnkripteer);
sda4 - hoofpartisie #3 (dit bevat ongeënkripteerde GNU / Linux, gebruik vir rugsteun / nie altyd nie).

[A] Windows 7 Blokstelsel-enkripsie

A1. VeraCryptVolle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

Laai vanaf amptelike webwerfof uit 'n spieël source installasie weergawe van VeraCrypt kriptografiese sagteware (ten tyde van publikasie van v1.24-Update3 is die draagbare weergawe van VeraCrypt nie geskik vir stelselenkripsie nie). Gaan die kontrolesom van die afgelaaide sagteware na

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

en vergelyk die resultaat met die geplaasde CS op die webwerf van die VeraCrypt-ontwikkelaar.

As HashTab-sagteware geïnstalleer is, selfs makliker: RMB (VeraCrypt Setup 1.24.exe)-eienskappe-hash-som van lêers.

Om die handtekening van die program te verifieer, moet die sagteware en die ontwikkelaar se publieke pgp-sleutel in die stelsel geïnstalleer word gnuPG; gpg4win.

A2. Installeer/begin VeraCrypt-sagteware met administrateurregteVolle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

A3. Kies stelselenkripsie-opsies vir die aktiewe partisieVeraCrypt - System - Encrypt System Partition/Drive - Normaal - Encrypt Windows System Partition - Multiboot - (waarskuwing: "Onervare gebruikers word nie aanbeveel om hierdie metode te gebruik nie" en dit is waar, stem saam "Ja") – Opstartskyf ("ja", al is dit nie so nie, steeds "ja") – Aantal stelselaandrywers “2 of meer” – Veelvuldige stelsels op een skyf “Ja” – Nie-Windows selflaaiprogram “Nee” (Trouens, "Ja", maar die VeraCrypt/GRUB2-laaiers sal nie die MBR onder mekaar deel nie, meer presies, slegs die kleinste deel van die laaierkode word in die MBR/boot-baan gestoor, die hoofdeel daarvan is in die lêer geleë stelsel) - Multiboot - Enkripsie-instellings ...

As jy van die bogenoemde stappe afwyk (blok stelsel syferskemas), dan sal VeraCrypt 'n waarskuwing uitreik en sal nie toelaat dat die partisie geënkripteer word nie.

Die volgende stap, in die rigting van doelgerigte databeskerming, is om 'n "toets" uit te voer en 'n enkripsiealgoritme te kies. As jy 'n verouderde SVE het, sal die Twofish-koderingsalgoritme heel waarskynlik die vinnigste wees. As die SVE kragtig is, sal jy die verskil sien: AES - enkripsie volgens die toetsresultate sal 'n paar keer vinniger wees as sy kripto-mededingers. AES is 'n gewilde enkripsie-algoritme, die hardeware van moderne SVE's is spesiaal geoptimaliseer vir "geheim" en "hacking".

VeraCrypt ondersteun die vermoë om skywe met AES-kaskade te enkripteer(tweevis)/ en ander kombinasies. Op 'n ou-kern Intel SVE tien jaar gelede (geen AES hardeware ondersteuning, A/T kaskade enkripsie) prestasie agteruitgang is in wese onmerkbaar. (vir AMD-SVE's van dieselfde era/~parameters word werkverrigting effens verminder). Die bedryfstelsel werk in dinamika en die verbruik van hulpbronne vir deursigtige enkripsie is onmerkbaar. Anders as byvoorbeeld 'n merkbare afname in werkverrigting as gevolg van die geïnstalleerde toets onstabiele lessenaaromgewing Mate v1.20.1 (of v1.20.2 ek onthou nie presies nie) in GNU/Linux, of as gevolg van die werking van die telemetrie-roetine in Windows7↑. Gewoonlik voer gesofistikeerde gebruikers hardeware-werkverrigtingtoetse uit voor enkripsie. Byvoorbeeld, in Aida64 / Sysbench / systemd-analiseer blameer en vergelyk met die resultate van dieselfde toetse nadat die stelsel geënkripteer is, waardeur die mite "stelselenkripsie is skadelik" vir hulself weerlê. Die verlangsaming van die masjien en die ongerief is opmerklik wanneer geënkripteer data gerugsteun / herstel word, omdat die "stelseldata-rugsteun"-bewerking self nie in ms gemeet word nie, en dieselfde <dekripteer / enkripteer op die vlug> word bygevoeg. Uiteindelik vind elke gebruiker wat toegelaat word om met kriptografie te peuter 'n balans tussen die enkripsiealgoritme in verhouding tot die bevrediging van die take, die mate van hul paranoia en gebruiksgemak.

Dit is beter om die PIM-parameter op die verstek te laat sodat u nie die presiese iterasiewaardes invoer elke keer as u die bedryfstelsel begin nie. VeraCrypt gebruik 'n groot aantal iterasies om 'n baie "stadige hash" te skep. 'n Aanval op so 'n "kripto-slak" deur die Brute force/reënboogtabelle-metode te gebruik maak slegs sin met 'n kort "eenvoudige" wagwoordfrase en 'n persoonlike karakterlys van die slagoffer. Betaal vir die sterkte van die wagwoord - die vertraging in die invoer van die korrekte wagwoord wanneer die bedryfstelsel gelaai word (Die montering van VeraCrypt-volumes op GNU/Linux is aansienlik vinniger).
Gratis sagteware vir brute force aanvalle (onttrekking van wagfrase uit VeraCrypt/LUKS skyfkopskrif) hashcat. John the Ripper weet nie hoe om Veracrypt te breek nie, en wanneer hy met LUKS werk, verstaan ​​hy nie Twofish-kriptografie nie.

As gevolg van die kriptografiese sterkte van enkripsie-algoritmes, ontwikkel onstuitbare cypherpunks sagteware met 'n ander aanvalsvektor. Byvoorbeeld, onttrek metadata/sleutels uit RAM (koue skoen/DMA aanval), daar is gespesialiseerde gratis en nie-vrye sagteware vir hierdie doel.

Aan die einde van die konfigurasie / generering van "unieke metadata" van die geïnkripteer aktiewe partisie, sal VeraCrypt aanbied om die rekenaar te herbegin en die werkverrigting van sy selflaaiprogram te toets. Nadat u Windows herlaai / begin het, sal VeraCrypt in bystandmodus laai, al wat oorbly is om die enkripsieproses te bevestig - Y.

By die laaste stap van stelselenkripsie, sal VeraCrypt aanbied om 'n rugsteunkopie van die kopskrif van die aktiewe geënkripteerde partisie te skep in die vorm van "veracrypt rescue disk.iso" - dit moet gedoen word - in hierdie sagteware is sulke operasie 'n vereiste (in LUKS, as 'n vereiste - dit is ongelukkig weggelaat, maar onderstreep in die dokumentasie). Reddingskyf is nuttig vir almal, maar vir iemand meer as een keer. Verlies (kopskrif herskryf/MBR) koprugsteun sal permanent toegang tot die gedekripteerde partisie met OS Windows weier.

A4. Skep reddings-usb/skyf VeraCryptVeraCrypt bied by verstek aan om "metadata ~2-3mb" op 'n CD te brand, maar nie alle mense het skywe of DWD-ROM-aandrywers nie, en die skep van 'n selflaaibare flitsskyf "VeraCrypt Rescue skyf" sal 'n tegniese verrassing vir iemand wees: Rufus / GUIdd-ROSA ImageWriter en ander soortgelyke sagteware - sal nie die taak kan hanteer nie, want benewens die kopiëring van die verskuifde metadata na 'n selflaaibare flitsskyf, moet jy vanaf die prent buite die usb-skyflêerstelsel kopieer / plak, in kort, kopieer die MBR / pad korrek na sleutelhanger. Van onder die GNU / Linux-bedryfstelsel kan u 'n selflaaibare flash drive skep deur die "dd"-nutsding te gebruik, deur na hierdie plaat te kyk.

Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

Die skep van 'n reddingsskyf in 'n Windows-omgewing is anders. Die ontwikkelaar van VeraCrypt het nie die oplossing vir hierdie probleem in die amptelike ingesluit nie dokumentasie op die "reddingskyf", maar het 'n oplossing op 'n ander manier voorgestel: hy het bykomende sagteware vir die skep van 'n "usb-reddingskyf" in gratis toegang op sy VeraCrypt-forum geplaas. Die argivaris vir hierdie Windows-sagteware is "skep usb veracrypt-reddingskyf". Nadat u reddingdisk.iso gestoor het, sal die proses van blokstelsel-enkripsie van die aktiewe partisie begin. Tydens enkripsie stop die werking van die bedryfstelsel nie, dit is nie nodig om die rekenaar te herbegin nie. Na voltooiing van die enkripsiebewerking word die aktiewe partisie volledig geïnkripteer, u kan dit gebruik. As die VeraCrypt-selflaaiprogram nie verskyn wanneer die rekenaar begin nie, en die herstel van die kopskrif help nie, kyk dan na die "boot"-vlag, dit moet ingestel word op die partisie waar Windows teenwoordig is (ongeag enkripsie en ander bedryfstelsels, sien tabel nr. 1).
Dit voltooi die beskrywing van blokstelsel-enkripsie met Windows OS.

[B]LUKS. GNU/Linux-enkripsie (~Debian) geïnstalleerde bedryfstelsel. Algoritme en stappe

Om 'n geïnstalleerde Debian/afgeleide verspreiding te enkripteer, moet jy die voorbereide partisie na 'n virtuele bloktoestel karteer, dit na 'n gekarteerde GNU/Linux-aandrywer skuif, en GRUB2 installeer/konfigureer. As jy nie 'n kaal bediener het nie, en jy waardeer jou tyd, dan moet jy die GUI gebruik, en die meeste van die terminale opdragte wat hieronder beskryf word, is bedoel om in "Chuck-Norris-modus" uitgevoer te word.

B1. PC selflaai vanaf live usb GNU/Linux

"Voer 'n kriptotoets oor hardeware werkverrigting uit"

lscpu && сryptsetup benchmark

Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

As jy 'n gelukkige eienaar is van 'n kragtige motor met AES hardeware ondersteuning, dan sal die nommers lyk soos die regterkant van die terminale, as jy gelukkig is, maar met antieke yster, sal hulle lyk soos die linkerkant.

B2. Skyf uitleg. monteer/formateer die fs van die HDD logiese skyf in Ext4 (Gparted)

B2.1. Skep 'n geïnkripteer sda7 partisie kopOm die partisiename hierna te beskryf, sal ek in ooreenstemming wees met my partisietabel, hierbo uiteengesit. Volgens jou skyfuitleg moet jy jou eie partisiename vervang.

Logiese Drive-enkripsie-kartering (/dev/sda7 > /dev/mapper/sda7_crypt).
#Eenvoudige skepping van "LUKS-AES-XTS partisie"

cryptsetup -v -y luksFormat /dev/sda7

opsies:

* luksFormat - LUKS kop inisialisering;
* -y -wagfrase (nie sleutel/lêer nie);
* -v - verbalisering (afvoer van inligting in die terminaal);
* /dev/sda7 - jou logiese dryfkrag vanaf die uitgebreide partisie (waar GNU/Linux-oordrag/enkripsie beplan word).

Verstek enkripsie-algoritme <LUKS1: aes-xts-plain64, Sleutel: 256 bisse, LUKS header hashing: sha256, RNG: /dev/urandom> (hang af van cryptsetup-weergawe).

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

As daar geen hardeware-ondersteuning vir AES op die SVE is nie, sal die beste keuse wees om 'n uitgebreide "LUKS-Twofish-XTS-partisie" te skep.

B2.2. Gevorderde skepping van "LUKS-Twofish-XTS-partisie"

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

opsies:
* luksFormat - LUKS kop inisialisering;
* /dev/sda7 is jou toekomstige geïnkripteer logiese dryf;
* -v verbaliseer;
* -y wagwoordfrase;
* -c seleksie van data-enkripsie-algoritme;
* -s enkripsie sleutel grootte;
* -h hashing algoritme / kriptofunksie, RNG word gebruik (—gebruik-urandom) om 'n unieke logiese skyfkopenkripsie/dekripsiesleutel, sekondêre kopsleutel (XTS) te genereer; 'n unieke hoofsleutel gestoor in die geënkripteerde skyfopskrif, 'n sekondêre XTS-sleutel, al hierdie metadata en 'n enkripsie-roetine wat, met behulp van die hoofsleutel en die sekondêre XTS-sleutel, enige data op die partisie enkripteer / dekripteer (behalwe vir die afdelingopskrif) word in ~3MB op die geselekteerde hardeskyfpartisie gestoor.
* -i iterasies in millisekondes, in plaas van "bedrag" (die tydsvertraging in die verwerking van die wagwoordfrase beïnvloed die OS-laai en die kriptografiese sterkte van die sleutels). Om die balans van kriptografiese sterkte te handhaaf met 'n eenvoudige wagwoord soos "russian", moet jy die waarde -(i) verhoog, met 'n komplekse wagwoord soos "?8dƱob/øfh", kan die waarde verminder word.
* --gebruik-urandom ewekansige getalgenerator, genereer sleutels en sout.

Na kartering van die sda7> sda7_crypt partisie (die bewerking is vinnig, aangesien 'n geïnkripteer kopskrif geskep word met ~3 MB metadata en dit is dit), moet jy die sda7_crypt-lêerstelsel formateer en monteer.

B2.3. Kartering

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

opsies:
* oop - pas die afdeling "met die naam";
* /dev/sda7 - logiese aandrywing;
* sda7_crypt - naamkartering wat gebruik word om die geënkripteerde partisie te monteer of dit te inisialiseer wanneer die OS begin.

B2.4. Formateer die sda7_crypt-lêerstelsel na ext4. Monteer 'n skyf in die OS(Let wel: Gparted sal nie meer met 'n geënkripteerde partisie werk nie)

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

opsies:
* -v - verbalisering;
* -L - skyfetiket (wat in Explorer onder ander skywe vertoon word).

Vervolgens moet u die virtueel-geënkripteerde bloktoestel /dev/sda7_crypt in die stelsel monteer

mount /dev/mapper/sda7_crypt /mnt

Werk met lêers in die /mnt-lêergids sal outomaties data in sda7 enkripteer / dekripteer.

Meer gerieflik om 'n partisie in File Explorer te karteer en te monteer (nautilus/caja GUI), sal die partisie reeds in die skyfkeuselys wees, al wat oorbly is om 'n wagwoordfrase in te voer om die skyf oop te maak/dekripteer. Die gekarteerde naam sal outomaties gekies word en nie "sda7_crypt" nie, maar iets soos /dev/mapper/Luks-xx-xx...

B2.5. Skyfkop-rugsteun (metadata ~3mb)Een van die mees belangrik bedrywighede wat sonder versuim gedoen moet word - 'n rugsteunkopie van die "sda7_crypt"-kopskrif. As kopskrif oorskryf/korrupteer (byvoorbeeld, installering van GRUB2 op die sda7 partisie, ens.), sal die geënkripteerde data permanent verlore gaan sonder enige moontlikheid om dit te herstel, want dit sal nie moontlik wees om dieselfde sleutels te hergenereer nie, die sleutels word uniek geskep.

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

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

opsies:
* luksHeaderBackup --header-backup-file - rugsteunopdrag;
* luksHeaderRestore --header-backup-file - herstel opdrag;
* ~/Backup_DebSHIFR - rugsteunlêer;
* /dev/sda7 - die partisie waarvan die geënkripteerde skyfkop gerugsteun moet word.
By hierdie stap is <skep en redigeer 'n geënkripteerde partisie> voltooi.

B3. Migrasie van GNU/Linux OS (sda4) na die geënkripteerde partisie (sda7)

Skep gids /mnt2 (Let wel - ons werk steeds met lewendige usb, sda7_crypt is gemonteer op /mnt), en monteer ons GNU/Linux op /mnt2, wat geïnkripteer moet word.

mkdir /mnt2
mount /dev/sda4 /mnt2

Ons voer die korrekte oordrag van die bedryfstelsel uit met die Rsync-sagteware

rsync -avlxhHX --progress /mnt2/ /mnt

Rsync-opsies word in afdeling E1 beskryf.

verder, is nodig defragmenteer 'n skyfpartisie

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

Maak dit 'n reël om van tyd tot tyd e4defrag op geënkripteerde GNU/LInux te doen as jy 'n HDD het.
Migrasie en sinkronisering [GNU/Linux > GNU/Linux-geïnkripteer] is voltooi by hierdie stap.

BY 4. Die opstel van GNU/Linux op 'n geënkripteerde sda7 partisie

Na 'n suksesvolle OS-oordrag /dev/sda4 > /dev/sda7, moet jy op 'n geënkripteerde partisie by GNU/Linux aanmeld en verdere konfigurasie uitvoer (sonder om rekenaar te herlaai) oor die geïnkripteer stelsel. Dit wil sê om in lewendige usb te wees, maar om opdragte uit te voer "relatief tot die wortel van die geïnkripteer bedryfstelsel." Simuleer 'n soortgelyke situasie sal "chroot" wees. Om vinnig inligting te kry vanaf watter bedryfstelsel jy tans werk (geïnkripteer of nie, aangesien die data in sda4 en sda7 gesinchroniseer is), ontsinkroniseer die bedryfstelsels. Skep in wortelgidse (sda4/sda7_crypt) leë tekenlêers, soos /mnt/encryptedOS en /mnt2/decryptedOS. Kyk vinnig op watter bedryfstelsel jy is (insluitend vir die toekoms):

ls /<Tab-Tab>

B4.1. "Simulasie van aanmelding by 'n geënkripteerde bedryfstelsel"

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

B4.2. Kontroleer dat die werk uitgevoer word relatief tot die geïnkripteer stelsel

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

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

B4.3. Skep/konfigureer 'n geënkripteerde ruil, wysig crypttab/fstabAangesien die ruillêer geformateer word elke keer as die bedryfstelsel begin, maak dit geen sin om ruil nou te skep en na die logiese skyf toe te kaart, en opdragte te tik, soos in paragraaf B2.2. Vir Swap, by elke begin, sal hul tydelike enkripsiesleutels outomaties gegenereer word. Lewensiklus van ruil-a-sleutels: ontkoppel/afskakel van 'n ruilpartisie (+ maak RAM skoon); of herbegin die bedryfstelsel. Ruil opstelling, maak die lêer oop wat verantwoordelik is vir die konfigurasie van blokkeer geënkripteerde toestelle (soortgelyk aan die fstab-lêer, maar verantwoordelik vir kripto).

nano /etc/crypttab 

reël

#"teikennaam" "brontoestel" "sleutellêer" "opsies"
ruil /dev/sda8 /dev/urandom ruil,cipher=tweevis-xts-plain64,grootte=512,hash=sha512

Opsies
* ruil - gekarteer naam wanneer /dev/mapper/swap enkripteer.
* /dev/sda8 - gebruik jou logiese partisie vir ruil.
* /dev/urandom - genereerder van ewekansige enkripsiesleutels vir ruil (met elke nuwe OS-selflaai, nuwe sleutels geskep). Die /dev/urandom generator is minder ewekansig as /dev/random, immers /dev/random word gebruik wanneer daar in gevaarlike paranoïese omstandighede gewerk word. Op OS-boot, /dev/random vertraag die laai vir 'n paar ± minute (sien sisteem-ontleding).
* swap,cipher=twofish-xts-plain64,size=512,hash=sha512: -partisie weet dis swap en is dienooreenkomstig geformateer; enkripsie algoritme.

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

reël

# swap was aan / dev / sda8 tydens die installasie
/dev/mapper/swap geen ruil sw 0 0

/dev/mapper/swap -naam gegee in crypttab.

Alternatiewe geënkripteerde ruil
As jy om een ​​of ander rede nie 'n hele partisie as 'n ruillêer wil gee nie, kan jy op 'n alternatiewe en beter manier gaan: die skep van 'n ruillêer in 'n lêer op 'n geënkripteerde OS-partisie.

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

Ruil partisie opstelling is voltooi.

B4.4. Stel geënkripteerde GNU/Linux op (wysiging van crypttab/fstab-lêers)Die /etc/crypttab-lêer, soos ek hierbo geskryf het, beskryf geënkripteerde bloktoestelle wat gekonfigureer is tydens stelselselflaaityd.

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

as jy die sda7>sda7_crypt-afdeling pas soos in paragraaf B2.1

# "teikennaam" "brontoestel" "sleutellêer" "opsies"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

as jy die sda7>sda7_crypt-afdeling pas soos in paragraaf B2.2

# "teikennaam" "brontoestel" "sleutellêer" "opsies"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512

as jy by die sda7>sda7_crypt-afdeling pas soos in paragraaf B2.1 of B2.2, maar nie die wagwoord weer wil invoer om die bedryfstelsel te ontsluit en te begin nie, dan kan jy die geheime sleutel / ewekansige lêer vervang in plaas van die wagwoord

# "teikennaam" "brontoestel" "sleutellêer" "opsies"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

Beskrywing
*geen - Dui aan dat wanneer die bedryfstelsel opstart, 'n geheime wagwoordfrase nodig is om die wortel te ontsluit.
* UUID - partisie identifiseerder. Om jou ID uit te vind, tik die terminaal in (herinnering dat jy al hierdie tyd in 'n terminaal in 'n chroot-omgewing werk en nie in 'n ander lewendige usb-terminaal nie).

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»

hierdie lyn is sigbaar wanneer blkid versoek word vanaf die lewendige usb-terminaal met sda7_crypt gemonteer).
UUID is van jou sdaX geneem (nie sdaX_crypt!, UUID sdaX_crypt nie - sal outomaties weggaan wanneer die grub.cfg-konfigurasie gegenereer word).
* cipher=twofish-xts-plain64,size=512,hash=sha512 -luks gevorderde modus-enkripsie.
* /etc/skey - geheime sleutellêer, wat outomaties vervang word om OS-opstart te ontsluit (in plaas daarvan om die 3de wagwoord in te voer). Jy kan enige lêer tot 8mb spesifiseer, maar die data sal <1mb gelees word.

#Создание "генерация" случайного файла <секретного ключа> размером 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 

Dit sal so iets lyk:

(doen dit self en sien self).

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

/etc/fstab bevat beskrywende inligting oor verskeie lêerstelsels.

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

# "lêerstelsel" "monteerpunt" "tik" "opsies" "dump" "pas"
# / was aan / dev / sda7 tydens die installasie
/dev/mapper/sda7_crypt / ext4 errors=remount-ro 0 1

opsie
* /dev/mapper/sda7_crypt is die naam van die sda7>sda7_crypt-kartering, wat in die /etc/crypttab-lêer gespesifiseer word.
Die crypttab/fstab-opstelling is nou voltooi.

B4.5. Redigeer konfigurasielêers. Sleutel oomblikB4.5.1. Redigeer die konfigurasie /etc/initramfs-tools/conf.d/resume

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

en lewer kommentaar (indien bestaan) "#" reël "hervat". Die lêer moet heeltemal leeg wees.

B4.5.2. Redigeer die konfigurasie /etc/initramfs-tools/conf.d/cryptsetup

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

moet ooreenstem

# /etc/initramfs-tools/conf.d/cryptsetup
CRYPTSETUP=ja
uitvoer CRYPTSETUP

B4.5.3. Redigeer die /etc/default/grub config (dit is hierdie konfigurasie wat verantwoordelik is vir die vermoë om grub.cfg te genereer wanneer jy met geïnkripteer /boot werk)

nano /etc/default/grub

voeg die reël "GRUB_ENABLE_CRYPTODISK=y" by
gestel op 'y', sal grub-mkconfig en grub-install kyk vir geënkripteerde aandrywers en bykomende opdragte genereer wat nodig is om toegang daartoe te verkry tydens selflaaityd (insmods ).
moet soortgelyk wees

GRUB_DEFAULT = 0
GRUB_TIMEOUT = 1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || eggo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=verkoper"
GRUB_CMDLINE_LINUX="stil spat geen outomount"
GRUB_ENABLE_CRYPTODISK=j

B4.5.4. Redigeer die config /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

kyk of die lyn het <#> kommentaar gelewer.
In die toekoms (en selfs nou sal hierdie parameter geen waarde hê nie, maar soms meng dit in met die opdatering van die initrd.img-beeld).

B4.5.5. Redigeer die config /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

en bygevoeg

KEYFILE_PATTERN="/etc/skey"
UMASK=0077

Dit sal die geheime sleutel "sleutel" in die initrd.img pak, die sleutel is nodig om die wortel te ontsluit tydens OS selflaai (as daar geen begeerte is om die wagwoord weer in te voer nie, word die "sleutel"-sleutel outomaties vervang).

B4.6. Dateer /boot/initrd.img [weergawe] opOm die private sleutel in initrd.img te verpak en die cryptsetup fixes toe te pas, dateer die prent op

update-initramfs -u -k all

wanneer initrd.img opgedateer word (Soos die spreekwoord sê, "Miskien, maar nie seker nie") daar sal waarskuwings wees wat verband hou met cryptsetup, of, byvoorbeeld, 'n kennisgewing oor die verlies van Nvidia-modules - dit is normaal. Nadat u die lêer opgedateer het, moet u seker maak dat dit werklik opgedateer is (relatief tot chroot-omgewing ./boot/initrd.img). Внимание! voor [update-initramfs -u -k all] maak seker dat cryptsetup oop is /dev/sda7 sda7_crypt - dit is die naam wat moet wees, wat in /etc/crypttab verskyn, anders na herlaai-'n busybox-fout)
Hierdie stap voltooi die opstelling van die konfigurasielêers.

[С] Installeer en konfigureer GRUB2/Protection

C1. Indien nodig, formateer die toegewyde partisie vir die selflaaiprogram (ten minste 20MB is genoeg vir die partisie)

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

C2. Monteer /dev/sda6 na /mntAangesien ons in 'n chroot werk, sal daar geen /mnt2-gids in die wortel wees nie, en die /mnt-lêergids sal leeg wees.
monteer die GRUB2 partisie

mount /dev/sda6 /mnt

As jy 'n ouer weergawe van GRUB2 geïnstalleer het, in /mnt/boot/grub/i-386-pc (moontlike ander platform, bv. nie "i386-pc nie") geen kriptomodules nie (in kort, die gids moet modules bevat, insluitend hierdie .mod: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod), in so 'n geval moet GRUB2 geskud word.

apt-get update
apt-get install grub2 

Belangrik! Wanneer u die GRUB2-pakket vanaf die bewaarplek opdateer, wanneer u gevra word "oor die keuse" van waar om die selflaaiprogram te installeer, moet u weier om te installeer (rede - probeer om GRUB2 te installeer - in "MBR" of op live usb). Andersins sal jy die VeraCrypt-kopskrif/laaier beskadig. Nadat die GRUB2-pakkette opgedateer is en die installasie gekanselleer is, moet die selflaaiprogram met die hand op 'n logiese skyf geïnstalleer word, en nie in die "MBR" nie. As jou bewaarplek 'n verouderde weergawe van GRUB2 het, probeer Opdateer dit vanaf die amptelike webwerf - het nie nagegaan nie (het met vars GRUB 2.02 ~BetaX selflaailaaiers gewerk).

C3. Installeer GRUB2 op uitgebreide partisie [sda6]Jy moet 'n partisie gemonteer hê [p.C.2]

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

opsies
* --force - installeer die selflaaiprogram, omseil al die waarskuwings wat byna altyd bestaan ​​en blokkeer die installasie (vereiste vlag).
* --root-directory - gids installasie tot by die wortel van sda6.
* /dev/sda6 - jou sdaX partisie (moenie die <spasie> tussen /mnt /dev/sda6 oorslaan nie).

C4. Skep 'n konfigurasielêer [grub.cfg]Vergeet die "update-grub2" opdrag, en gebruik die volledige konfigurasielêer generering opdrag

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

na die voltooiing van die generering / opdatering van die grub.cfg-lêer, in die uitvoerterminaal moet daar reëls (a) wees met die bedryfstelsel wat op die skyf gevind word ("grub-mkconfig" sal waarskynlik die bedryfstelsel vanaf lewendige usb vind en optel, as jy 'n multi-boot flash drive met Windows 10 en 'n klomp lewendige verspreidings het - dit is normaal). As die terminale “leeg” is, word die “grub.cfg”-lêer nie gegenereer nie, dan is dit die geval wanneer daar GRUB-foute in die stelsel is (en heel waarskynlik 'n laaier van die toetstak van die bewaarplek), installeer GRUB2 weer vanaf betroubare bronne.
Die "eenvoudige konfigurasie" installasie en GRUB2 konfigurasie is nou voltooi.

C5. Bewystoets geënkripteerde GNU/Linux OSVoltooi die kriptomissie korrek. Verlaat geënkripteerde GNU/Linux versigtig (verlaat die chroot-omgewing).

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

Nadat u die rekenaar herbegin het, moet die VeraCrypt-selflaaiprogram laai.
Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

*Voer die wagwoord vir die aktiewe partisie in - Windows sal begin laai.
*Deur die "Esc"-sleutel te druk sal beheer na GRUB2 oorgedra word, as jy geënkripteerde GNU / Linux kies - jy sal 'n wagwoord (sda7_crypt) nodig hê om /boot/initrd.img te ontsluit (as grub2 sê uuid "nie gevind nie" - dit is 'n probleem met die grub2 selflaaiprogram, moet dit herinstalleer word, byvoorbeeld vanaf die toetstak/stal en pd).
Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

*Afhangende van hoe jy die stelsel opstel (sien afdeling B4.4/4.5), nadat jy die korrekte wagwoord ingevoer het om die /boot/initrd.img-beeld te ontsluit, sal jy 'n wagwoord nodig hê om die OS-kern/wortel, of die geheime sleutel sal outomaties "skey" vervang word, wat die behoefte uitskakel om die wagwoordfrase weer in te voer.
Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot
(skermkiekie "outomatiese vervanging van die geheime sleutel").

*Volgende sal die bekende GNU / Linux-selflaaiproses met gebruikersrekeningverifikasie begin.
Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

*Na gebruikersmagtiging en aanmelding by die bedryfstelsel, moet jy /boot/initrd.img weer opdateer (sien V4.6).

update-initramfs -u -k all

En in die geval van ekstra lyne in die GRUB2-spyskaart (van bakkie OS-m met lewendige usb) raak van hulle ontslae

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

'n Vinnige opsomming van GNU/Linux-stelselkodering:

  • GNU/Linuxinux is volledig geïnkripteer, insluitend /boot/kernel en initrd;
  • die geheime sleutel is verpak in initrd.img;
  • huidige magtigingskema (die invoer van 'n wagwoord om initrd te ontsluit; wagwoord / sleutel om die bedryfstelsel te begin; Linux-rekeningmagtigingswagwoord).

"Eenvoudige GRUB2 konfigurasie" blok partisie stelsel enkripsie is voltooi.

C6. Gevorderde GRUB2-konfigurasie. Selflaailaaierbeskerming met digitale handtekening + verifikasiebeskermingGNU/Linux is ten volle geïnkripteer, maar die selflaaiprogram kan nie geïnkripteer word nie - hierdie toestand word deur die BIOS bepaal. Om hierdie rede is GRUB2 geënkripteerde kettinglaai nie moontlik nie, maar 'n eenvoudige kettinglaai is moontlik/beskikbaar, nie nodig uit 'n sekuriteitsoogpunt nie [sien hieronder]. P. F].
Vir die "kwesbare" GRUB2 het die ontwikkelaars die "ondertekening/verifikasie" selflaaierbeskermingsalgoritme geïmplementeer.

  • Wanneer die selflaaiprogram beskerm word met “sy eie digitale handtekening”, sal eksterne wysiging van lêers, of 'n poging om bykomende modules in hierdie selflaaiprogram te laai, daartoe lei dat die selflaaiproses geblokkeer word.
  • Wanneer jy die selflaaiprogram met verifikasie beskerm, om die selflaai van 'n verspreidingskit te kies, of bykomende opdragte in die CLI in te voer, sal jy die login en wagwoord van die superuser-GRUB2 moet invoer.

C6.1. Beskerm die selflaaiprogram met verifikasieMaak seker dat jy in 'n terminaal in 'n geënkripteerde bedryfstelsel werk

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

skep 'n supergebruiker wagwoord vir magtiging in GRUB2

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

Kry die wagwoord-hash. Iets soos hierdie

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

monteer die GRUB-partisie

mount /dev/sda6 /mnt 

wysig die konfigurasie

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

kyk na die lêersoektog dat daar geen vlae oral in "grub.cfg" ("-unrestricted" "-user",
voeg heel aan die einde by (voor reël ### EINDE /etc/grub.d/41_custom ###)
"stel supergebruikers="root"
password_pbkdf2 root hash".

Behoort so iets te wees

# Hierdie lêer bied 'n maklike manier om persoonlike spyskaartinskrywings by te voeg. Tik eenvoudig die
# spyskaartinskrywings wat jy na hierdie opmerking wil byvoeg. Wees versigtig om nie te verander nie
# die 'exec tail'-lyn hierbo.
### EINDE /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; dan
bron ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; dan
bron $prefix/custom.cfg;
fi
stel supergebruikers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### EINDE /etc/grub.d/41_custom ###
#

As jy gereeld die "grub-mkconfig -o /mnt/boot/grub/grub.cfg" opdrag gebruik en nie elke keer veranderinge aan grub.cfg wil maak nie, voer die bogenoemde reëls in (Aanteken wagwoord) na die GRUB-gebruikerskrip tot heel onder

nano /etc/grub.d/41_custom 

kat<<EOF
stel supergebruikers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF

Wanneer die konfigurasie "grub-mkconfig -o /mnt/boot/grub/grub.cfg" gegenereer word, sal die reëls wat verantwoordelik is vir verifikasie outomaties by grub.cfg gevoeg word.
Hierdie stap voltooi die GRUB2-verifikasie-opstelling.

C6.2. Beskerm die selflaaiprogram met 'n digitale handtekeningDaar word aanvaar dat jy reeds jou persoonlike pgp-enkripsiesleutel het (of skep so 'n sleutel). Kriptografiese sagteware moet op die stelsel geïnstalleer word: gnuPG; kleopatra/GPA; Seeperdjie. Kripto-sagteware sal jou lewe baie makliker maak in al sulke gevalle. Seahorse - stabiele weergawe van die pakket 3.14.0 (die weergawes hierbo, byvoorbeeld, V3.20 is minderwaardig en het aansienlike foute).

Die PGP-sleutel moet slegs in die su-omgewing gegenereer/loop/bygevoeg word!

Genereer 'n persoonlike enkripsiesleutel

gpg - -gen-key

Voer jou sleutel uit

gpg --export -o ~/perskey

Monteer die logiese skyf in die bedryfstelsel as dit nie reeds gemonteer is nie

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

maak die GRUB2-partisie skoon

rm -rf /mnt/

Installeer GRUB2 in sda6 deur jou private sleutel in die hoof GRUB beeld "core.img" te plaas

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

opsies
* --force - installeer die selflaaiprogram, omseil al die waarskuwings wat altyd bestaan (vereiste vlag).
* --modules="gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" - gee GRUB2 opdrag om die vereiste modules vooraf te laai tydens rekenaaropstart.
* -k ~/perskey - pad na "PGP-sleutel" (nadat die sleutel in 'n prent verpak is, kan dit uitgevee word).
* --root-directory -stel opstartgids na sda6-wortel
/dev/sda6 is jou sdaX partisie.

Genereer/dateer grub.cfg

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

Voeg die reël "trust /boot/grub/perskey" by die einde van die "grub.cfg"-lêer (dwing om pgp-sleutel te gebruik.) Aangesien ons GRUB2 met 'n stel modules geïnstalleer het, insluitend die "signature_test.mod" handtekening module, elimineer dit die behoefte om opdragte soos "set check_signatures=enforce" by die config by te voeg.

Moet so iets lyk (eind reëls in grub.cfg lêer)

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; dan
bron ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; dan
bron $prefix/custom.cfg;
fi
vertrou /boot/grub/perskey
stel supergebruikers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### EINDE /etc/grub.d/41_custom ###
#

Die pad na "/boot/grub/perskey" hoef nie na 'n spesifieke skyfpartisie te wys nie, byvoorbeeld hd0,6, want die selflaaiprogram self "root" is die verstekpad van die partisie waarop GRUB2 geïnstalleer is (sien stelvrot=..).

Teken GRUB2 (alle lêers in alle /GRUB-gidse) met jou "perskey" sleutel.
Maklike oplossing hoe om te teken (vir nautilus/caja explorer): installeer die "seeperd"-uitbreiding vir die verkenner vanaf die bewaarplek. Jou sleutel moet by die su-omgewing gevoeg word.
Maak die verkenner oop vanaf sudo "/mnt/boot" - RMB - teken. Op die skerm lyk dit so

Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

Die sleutel self is "/mnt/boot/grub/perskey" (kopieer na grub-gids) moet ook met sy eie handtekening onderteken word. Kontroleer dat die [*.sig]-lêerhandtekeninge in die gids/subgidse verskyn.
Op die bogenoemde manier teken ons "/boot" (ons kern, initrd). As jou tyd iets werd is, skakel hierdie metode die behoefte uit om 'n bash-skrif te skryf om "baie lêers" te teken.

Om alle selflaailaaier-handtekeninge te verwyder (as iets verkeerd geloop het)

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

Om nie die selflaaiprogram te onderteken nadat die stelsel opgedateer is nie, vries ons alle opdateringspakkette wat met GRUB2 verband hou.

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

By hierdie stap <beskerming van die selflaaiprogram met 'n digitale handtekening> is die gevorderde konfigurasie van GRUB2 voltooi.

C6.3. Bewystoets van GRUB2 selflaaiprogram beskerm deur digitale handtekening en verifikasieGRUB2. Wanneer u 'n GNU/Linux-verspreiding kies of die CLI ingaan (bevelreël) supergebruiker magtiging word vereis. Nadat u die korrekte aanmelding / wagwoord ingevoer het, sal u die wagwoord van initrd benodig

Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot
Skermskoot, suksesvolle stawing van GRUB2-supergebruiker.

As jy enige van die GRUB2-lêers vervals / veranderinge aan grub.cfg maak, of die lêer / handtekening uitvee, laai die kwaadwillige module.mod, dan sal 'n ooreenstemmende waarskuwing verskyn. GRUB2 selflaai sal onderbreek.

Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot
Skermskoot, 'n poging om in GRUB2 "van buite" in te meng.

Onder "normale" selflaai "geen indringing", is die stelseluitgangskodestatus "0". Daarom is dit nie bekend of die beskerming werk of nie. (dit wil sê, "met of sonder selflaaiprogrambeskerming met 'n handtekening" tydens normale selflaai, die status is dieselfde "0" - dit is sleg).

Hoe om digitale handtekeningbeskerming na te gaan?

Ongemaklike manier om na te gaan: vervals/verwyder die module wat deur GRUB2 gebruik word, byvoorbeeld, verwyder die luks.mod.sig handtekening en kry 'n fout.

Die korrekte manier is om na die CLI van die selflaaiprogram te gaan en die opdrag in te tik

trust_list

In reaksie hierop behoort hulle 'n "perskey"-vingerafdruk te ontvang, as die status "0" is, dan werk die handtekeningbeskerming nie, dubbel-kontroleer klousule C6.2.
By hierdie stap is die gevorderde instelling "Beskerm GRUB2 met digitale handtekening en verifikasie" verby.

C7 Alternatiewe metode om GRUB2 selflaaiprogram met hashing te beveiligDie "Beskerming van die SVE-laaier / Verifikasie" metode hierbo beskryf is 'n klassieke. As gevolg van die onvolmaaktheid van GRUB2, in paranoïese toestande, is dit onderhewig aan 'n werklike aanval, wat ek hieronder in paragraaf [F] sal gee. Daarbenewens, na die opdatering van die bedryfstelsel / kern, is dit nodig om die selflaaiprogram weer te onderteken.

Beskerm die GRUB2 selflaaiprogram met hashing

Voordele bo die klassieke:

  • Hoër vlak van betroubaarheid (hashing / verifikasie vind slegs plaas vanaf 'n geënkripteerde plaaslike hulpbron. Die hele toegekende partisie onder GRUB2 word beheer vir enige veranderinge, en al die ander is geïnkripteer, in die klassieke skema met CPU-laaierbeskerming / Verifikasie, word slegs lêers beheer, maar nie gratis nie ruimte, waarin "iets iets sinisters" bygevoeg kan word).
  • Geënkripteerde aantekening ('n leesbare persoonlike geënkripteerde log word by die skema gevoeg).
  • Spoed (Beskerming / verifikasie van die hele partisie wat vir GRUB2 toegeken is vind byna onmiddellik plaas).
  • Outomatisering van alle kriptografiese prosesse.

Nadele van die klassieke.

  • Handtekening vervalsing (teoreties is dit moontlik om 'n gegewe hash funksie botsing te vind).
  • Verhoogde moeilikheidsgraad (In vergelyking met die klassieke, word 'n bietjie meer kennis van GNU/Linux OS vereis).

Hoe die GRUB2/partisie hashing idee werk

Die GRUB2-afdeling is "geteken", wanneer die bedryfstelsel gelaai is, word die selflaaiprogram-afdeling nagegaan vir onveranderlikheid, gevolg deur aan te meld by 'n veilige omgewing (geïnkripteer). As die selflaaiprogram of sy partisie gekompromitteer word, benewens die invallogboek, die volgende

Ding.Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

'n Soortgelyke kontrole vind vier keer per dag plaas, wat nie stelselhulpbronne laai nie.
Deur die "-$ check_GRUB"-opdrag te gebruik, vind 'n onmiddellike kontrolering enige tyd plaas sonder om aan te meld, maar met inligting wat na die CLI uitgestuur word.
Deur die "-$ sudo GRUB_signature" opdrag te gebruik, word die GRUB2 selflaaiprogram / partisie onmiddellik heronderteken en sy opgedateerde logging (nodig na OS/selflaai-opdatering) en die lewe gaan aan.

Implementering van die hashing-metode van die selflaaiprogram en sy partisie

0) Kom ons teken die GRUB selflaaiprogram/partisie deur dit eers op /media/gebruikersnaam te monteer

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

1) Ons skep 'n skrip sonder 'n uitbreiding in die wortel van die geïnkripteer OS ~/podpis, pas die nodige regte 744 sekuriteit en beskerming teen die "dwaas" toe.

Vul dit met inhoud

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

Begin die skrip vanaf su, sal die hashing van die GRUB-partisie en sy selflaaiprogram nagegaan word, stoor die log.

Kom ons skep of kopieer, byvoorbeeld, 'n "kwaadwillige lêer" [virus.mod] na die GRUB2 partisie en voer 'n tydelike kontrole/toets uit:

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

Die CLI behoort 'n inval van ons -vesting- te sien#Gestroop log in 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

#Soos u kan sien, het "Lêers geskuif: 1 en oudit misluk" verskyn, wat beteken dat die kontrole misluk het.
As gevolg van die eienaardighede van die getoetsde afdeling, in plaas van "Nuwe lêers gevind"> "Lêers geskuif"

2) Plaas die gif hier > ~/warning.gif, stel toestemmings op 744.

3) Stel fstab op om die GRUB-partisie outomaties te monteer tydens selflaai

-$ sudo nano /etc/fstab

LABEL=GRUB /media/gebruikersnaam/GRUB ext4 verstek 0 0

4) Ons draai die log

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

/var/log/subpis.txt {
daaglikse
draai 50
grootte 5M
datatext
compress
vertraging komprimeer
olddir /var/log/old
}

/var/log/vtorjenie.txt {
maandelikse
draai 5
grootte 5M
datatext
olddir /var/log/old
}

5) Voeg 'n werk by cron

-$ sudo crontab -e

herlaai '/intekening'
0 */6 * * * '/subpis

6) Skep permanente aliasse

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

Na OS-opdatering -$ apt-get upgrade herteken ons GRUB partisie
-$ подпись_GRUB
Hierdie stap voltooi die hash-beskerming van die GRUB-partisie.

[D] Opruiming - vernietiging van ongeënkripteerde data

Vee jou persoonlike lêers so volledig uit dat "nie eens God dit kan lees nie", volgens Trey Gowdy, woordvoerder van Suid-Carolina.

Soos gewoonlik is daar verskeie "mites en legendes”, oor die herstel van data nadat dit van die hardeskyf verwyder is. As jy in kuber-heksery glo, of 'n lid van die Dr webgemeenskap is en nog nooit dataherwinning probeer het na uitvee/oorskryf nie (bv. herstel met R-studio), dan is dit onwaarskynlik dat die voorgestelde metode jou sal pas, gebruik die een wat nader aan jou is.

Nadat GNU/Linux suksesvol na 'n geënkripteerde partisie migreer is, moet die ou kopie permanent uitgevee word. Universele skoonmaakmetode: sagteware vir Windows/Linux gratis GUI-sagteware BleachBit.
vinnig formatering van die partisie, die data waarop jy wil vernietig (met behulp van Gparted), hardloop BleachBit, kies "Maak vrye spasie skoon" - kies 'n partisie (jou sdaX met 'n vorige kopie van GNU/Linux), sal die skoonmaakproses begin. BleachBit - vee die skyf in een pas af - dit is wat "ons nodig het", Maar! dit werk slegs in teorie as jy die aandrywer geformateer en skoongemaak het in BB v2.0 sagteware.

Aandag! BB vee die skyf uit, laat metadata, lêername word bewaar wanneer data vernietig word (Ccleaner - laat geen metadata nie).

En die mite oor die moontlikheid van dataherwinning is nie regtig 'n mite nie.Bleachbit V2.0-2 voormalige onstabiele OS Debian-pakket (en enige ander soortgelyke sagteware: sfill; wipe-Nautilus - is ook in hierdie vuil besigheid gesien) het eintlik 'n kritieke fout gehad: "vrye spasie skoonmaak" funksie dit werk verkeerd op HDD/Flash drives (ntfs/ext4). Sagteware van hierdie soort, wanneer vrye spasie skoongemaak word, oorskryf nie die hele skyf, soos baie gebruikers dink nie. En sommige (lot) geskrap data Die OS/sagteware hanteer hierdie data as nie-geskrap/gebruikersdata en slaan hierdie lêers oor wanneer die OS/OS skoongemaak word. Die probleem is dat na so 'n lang tyd, die skoonmaak van die skyf "geskrap lêers" kan herstel word selfs na 3+ keer van skyfvee.
Op GNU/Linux in Bleachbit 2.0-2 die funksies om lêers en gidse permanent uit te vee, werk betroubaar, maar maak nie vrye spasie skoon nie. Ter vergelyking: op Windows in die CCleaner sagteware werk die "OSB vir ntfs" funksie behoorlik, en God kan regtig nie die geskrapte data lees nie.

En so, om deeglik te verwyder "kompromieë" ou ongeënkripteerde data, Bleachbit benodig direkte toegang tot hierdie data, gebruik dan die funksie "vee lêers / gidse onherstelbaar uit".
Gebruik CCleaner / BB met die "OSB"-funksie om "geskrap lêers met gewone OS-nutsgoed" in Windows uit te vee. Op GNU/Linux oor hierdie probleem (verwyder geskrap lêers) jy moet op jou eie oefening kry (vee data uit + 'n onafhanklike poging om dit te herstel en moenie op die sagteware weergawe staatmaak nie (indien nie 'n boekmerk nie, dan 'n fout)), net in hierdie geval sal jy die meganisme van hierdie probleem kan verstaan ​​en heeltemal van die geskrapte data ontslae kan raak.

Bleachbit v3.0 het nie nagegaan nie, miskien is die probleem reeds reggestel.
Bleachbit v2.0 werk eerlik.

Hierdie stap voltooi die skyfopruiming.

[E] Generiese Geënkripteerde OS-rugsteun

Elke gebruiker het sy eie metode om data te rugsteun, maar die geënkripteerde data van "System OS" vereis 'n effens ander benadering tot die taak. Verenigde sagteware soos "Clonezilla" en soortgelyke sagteware kan nie direk met geënkripteerde data werk nie.

Stel die rugsteuntaak vir geënkripteerde bloktoestelle op:

  1. universaliteit - dieselfde algoritme / rugsteunprogrammatuur vir Windows / Linux;
  2. die vermoë om in die konsole te werk met enige lewendige usb GNU / Linux sonder die behoefte aan bykomende sagteware-aflaaie (maar beveel steeds die GUI aan);
  3. rugsteun sekuriteit - gestoor "beelde" moet geïnkripteer / wagwoord beskerm word;
  4. die grootte van die geënkripteerde data moet ooreenstem met die grootte van die werklike gekopieerde data;
  5. gerieflike onttrekking van die nodige lêers uit die rugsteun (geen vereiste om eers die hele afdeling te dekripteer nie).

Byvoorbeeld, rugsteun/herstel via "dd"-nutsding

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

Stem ooreen met byna al die punte van die taak, maar volgens paragraaf 4 staan ​​dit nie teen kritiek nie, aangesien dit die hele skyfpartisie kopieer, insluitend vrye spasie - nie interessant nie.

Byvoorbeeld, GNU/Linux-rugsteun via [tar" | gpg] is gerieflik, maar vir Windows-rugsteun moet jy 'n ander oplossing soek - nie interessant nie.

E1. Universele Windows/Linux-rugsteun. Bundel rsync (Grsync) + VeraCrypt-volumeAlgoritme vir die skep van 'n rugsteun:

  1. die skep van 'n geënkripteerde houer (volume/lêer) VeraCrypt vir OS;
  2. oordrag / sinchronisasie van die bedryfstelsel met behulp van die Rsync-sagteware na die VeraCrypt-kriptohouer;
  3. indien nodig, laai die VeraCrypt-volume op na www.

Die skep van 'n geënkripteerde VeraCrypt-houer het sy eie kenmerke:
skep 'n dinamiese volume (skepping van DT is slegs beskikbaar in Windows, dit kan ook in GNU/Linux gebruik word);
skep 'n normale volume, maar daar is 'n vereiste van 'n "paranoïese aard" (volgens die ontwikkelaar) - houer formatering.

'n Dinamiese volume word byna onmiddellik in Windows geskep, maar wanneer data vanaf GNU/Linux > VeraCrypt DT gekopieer word, word die algehele werkverrigting van die rugsteunbewerking aansienlik verminder.

'n Gewone 70 GB Twofish-volume word geskep (Kom ons sê, gemiddeld rekenaarkrag) na HDD ~ oor 'n halfuur (oorskryf die voormalige houerdata in een pas, as gevolg van sekuriteitsvereistes). Van VeraCrypt Windows/Linux is die funksie om 'n volume vinnig te formateer tydens die skepping daarvan verwyder, sodat die skepping van 'n houer slegs moontlik is deur 'n "oorskryf in een pas", of die skepping van 'n laeprestasie dinamiese volume.

Skep 'n gereelde VeraCrypt-volume (nie dinamies/ntfs nie), daar behoort geen probleme te wees nie.

Stel houer op/skep/oop in VeraCrypt GUI > GNU/Linux live usb (die volume sal outomaties gemonteer word by /media/veracrypt2, die Windows-bedryfstelselvolume is gemonteer by /media/veracrypt1). Skep 'n geënkripteerde Windows-rugsteun deur die rsync GUI te gebruik (grsync)deur die blokkies te merk.

Volle skyfkodering van Windows Linux-geïnstalleerde stelsels. Geënkripteerde multiboot

Wag vir die einde van die proses. Na voltooiing van die rugsteun, sal ons een geïnkripteer lêer hê.

Skep eweneens 'n rugsteunkopie van die GNU / Linux OS deur die "Windows-versoenbare" rsync GUI te ontmerk.

Aandag! skep 'n Veracrypt-houer vir 'n "GNU/Linux-rugsteun" op die lêerstelsel ext4. As jy 'n rugsteun na 'n ntfs-houer maak, sal jy alle regte / groepe op al jou data verloor wanneer jy so 'n kopie herstel.

U kan alle operasies in die terminale uitvoer. Basiese opsies vir rsync:
* -g - stoor groepe;
* -P --vordering - die status van die tyd van werk op die lêer;
* -H -kopieer harde skakels soos dit is;
* -a -argiefmodus (verskeie rlptgoD-vlae);
* -v -verbalisering.

As jy 'n "Windows VeraCrypt-volume" via die konsole in die cryptsetup-sagteware wil monteer, kan jy 'n alias (su) skep

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

Nou, by die "veramount pictures"-opdrag, sal jy gevra word om 'n wagwoordfrase in te voer, en die geënkripteerde Windows-stelselvolume sal in die bedryfstelsel gemonteer word.

Kaart/berg VeraCrypt-stelselvolume in cryptsetup-opdrag

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

Kaart / monteer VeraCrypt partisie / houer in cryptsetup opdrag

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

In plaas van alias, laat ons 'n stelselvolume met Windows OS en 'n logies geënkripteerde ntfs-skyf by GNU/Linux-outolaai voeg (skrip om outomaties te laai)

Skep 'n skrip en stoor dit in ~/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.

Ons gee "ware" regte uit:

sudo chmod 100 /VeraOpen.sh

Skep twee identiese lêers (selfde naam!) in /etc/rc.local en ~/etc/init.d/rc.local
Die vul van die lêers

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

Ons gee "ware" regte uit:

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

Dit is dit, nou, wanneer ons GNU/Linux begin, hoef ons nie wagwoorde in te voer om geënkripteerde ntfs-skywe te monteer nie, die skywe word outomaties gemonteer.

'n Nota kortliks oor wat hierbo in paragraaf E1 stap vir stap beskryf word (maar nou vir OS GNU/Linux)
1) Skep 'n volume in fs ext4 > 4gb (vir 'n lêer) Linux in Veracrypt [Crypto box].
2) Herlaai om live usb.
3) ~$ cryptsetup maak oop /dev/sda7 Lunux #kaart die geïnkripteer partisie.
4) ~$ monteer /dev/mapper/Linux /mnt #monteer die geënkripteerde partisie in /mnt.
5) ~$ mkdir mnt2 #skep 'n gids vir die toekomstige rugsteun.
6) ~$ cryptsetup open --veracrypt --type tcrypt ~/Cryptobox Cryptobox && monteer /dev/mapper/Cryptobox /mnt2 #Karteer die Veracrypt-volume genaamd "Cryptobox" en monteer die Cryptobox in /mnt2.
7) ~$ rsync -avlxhHX --progress /mnt /mnt2/ #operasie om 'n geënkripteerde partisie te rugsteun na 'n Veracrypt-geënkripteerde volume.

(p/s/ Aandag! As jy 'n geënkripteerde GNU/Linux van een argitektuur/masjien na 'n ander oordra, byvoorbeeld Intel > AMD (d.w.s. die implementering van 'n rugsteun van een geïnkripteer partisie na 'n ander Intel > AMD-geïnkripteer partisie), Moenie vergeet nie na die oordrag van die geïnkripteer bedryfstelsel, wysig die geheime vervangde sleutel in plaas van die wagwoord, miskien. die vorige sleutel ~/etc/skey - sal nie meer by 'n ander geënkripteerde partisie pas nie, en dit is ongewens om 'n nuwe sleutel "cryptsetup luksAddKey" van onder chroot af te skep - 'n fout is moontlik, net in ~/etc/crypttab spesifiseer tydelik "none" " in plaas van "/etc/skey" ”, nadat u herbot en die bedryfstelsel ingevoer het, hergenereer u geheime vervangde sleutel weer).

As IT-veterane, moenie vergeet om die kopskrifte van geënkripteerde Windows/Linux OS-partisies afsonderlik te rugsteun nie, anders sal die enkripsie teen jou draai.
By hierdie stap word die rugsteun van die geïnkripteer bedryfstelsels voltooi.

[F] Aanval op die GRUB2 selflaaiprogram

besonderhedeAs jy jou selflaaiprogram beskerm het met 'n digitale handtekening en/of verifikasie (Sien item C6.), dan sal dit nie teen fisiese toegang beskerm nie. Geënkripteerde data sal steeds ontoeganklik wees, maar beskerming omseil (stel beskerming van digitale handtekeninge terug) GRUB2 laat kuberskurke toe om hul kode in die selflaaiprogram in te spuit sonder om agterdog te wek (tensy die gebruiker die toestand van die selflaaiprogram handmatig monitor, of met hul eie soliede pasgemaakte script-kode vir grub.cfg vorendag kom).

aanval algoritme. indringer

*Laai rekenaar vanaf lewendige usb. Enige verandering (oortreder) lêers sal die regte eienaar van die rekenaar waarsku oor die inbraak in die selflaaiprogram. Maar 'n eenvoudige herinstallering van GRUB2 terwyl grub.cfg behou word (en die daaropvolgende moontlikheid om dit te redigeer) sal 'n aanvaller toelaat om enige lêers te wysig (in hierdie scenario, wanneer GRUB2 gelaai word, sal die regte gebruiker nie in kennis gestel word nie. Die status is dieselfde <0>)
* Monteer 'n ongeënkripteerde partisie, stoor "/mnt/boot/grub/grub.cfg".
* Installeer selflaaiprogram weer (verwydering van "perskey" van die core.img-beeld)

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

* Wys "grub.cfg"> "/mnt/boot/grub/grub.cfg", wysig dit indien nodig, voeg byvoorbeeld sy "keylogger.mod"-module by die gids met laaiermodules, in "grub.cfg" > reël "insmod keylogger". Of, byvoorbeeld, as die vyand slinks is, dan nadat jy GRUB2 weer geïnstalleer het (alle handtekeninge bly in plek) dit bou die hoof GRUB2 beeld deur gebruik te maak van "grub-mkimage met die (-c) opsie." Die "-c" opsie sal jou toelaat om jou konfigurasie te laai voordat die hoof "grub.cfg" gelaai word. Die konfigurasie kan net uit een reël bestaan: herlei na enige "modern.cfg", gemeng met, byvoorbeeld, ~400 lêers (modules+handtekeninge) in die /boot/grub/i386-pc-lêergids. In hierdie geval kan die oortreder arbitrêre kode instel en modules laai sonder om "/boot/grub/grub.cfg" te beïnvloed, selfs al het die gebruiker "hashsum" op die lêer toegepas en dit tydelik op die skerm vertoon.
Die aanvaller hoef nie die login / wagwoord van die GRUB2-supergebruiker te kraak nie, hy sal net die reëls moet kopieer (verantwoordelik vir stawing) "/boot/grub/grub.cfg" na jou "modern.cfg"

stel supergebruikers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

En die rekenaargasheer sal steeds GRUB2-supergebruiker-verifikasie hê.

Ketting laai (selflaaier laai 'n ander selflaaiprogram), soos hierbo genoem, maak nie sin nie (dit is vir 'n ander doel). As gevolg van die BIOS kan die geïnkripteer selflaaiprogram nie gelaai word nie (wanneer kettinglaai, GRUB2 herbegin > geënkripteerde GRUB2, fout!). As u egter steeds die idee van kettinglaai gebruik, kan u seker wees dat dit die geënkripteerde een is wat gelaai word. (nie opgegradeer nie) "grub.cfg" vanaf die geënkripteerde partisie. En dit is ook 'n valse gevoel van sekuriteit, want alles wat in die geënkripteerde "grub.cfg" gelys is (module laai) stapels met modules wat vanaf ongeënkripteerde GRUB2 gelaai word.

As jy dit wil kontroleer, ken/enkripteer dan nog 'n sdaY partisie, kopieer GRUB2 daarna (grub-installasie op geïnkripteer partisie is nie moontlik nie) en in "grub.cfg" (ongenkripteerde konfigurasie) verander lyne soos hierdie

menuinskrywing 'GRUBx2' --klas papegaai --klas gnu-linux --klas gnu --klas os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
laai_video
insmod gzio
if [x$grub_platform = xxen]; dan insmod xzio; insmod lzopio; fi
insmod deel_msdos
insmod kriptodisk
insmod lux
insmod gcry_twoofish
insmod gcry_twoofish
insmod gcry_sha512
insmod ext2
cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838
set root=’cryptouuid/15c47d1c4bd34e5289df77bcf60ee838′
normale /boot/grub/grub.cfg
}

lyne
* insmod - laai die nodige modules om met 'n geënkripteerde skyf te werk;
* GRUBx2 - die naam van die vertoonde reël in die GRUB2 selflaaimenu;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 - sien fdisk -l (sda9);
* stel wortel - wortelinstelling;
* normale /boot/grub/grub.cfg - uitvoerbare konfigurasielêer op die geënkripteerde partisie.

Die vertroue dat dit die geënkripteerde "grub.cfg" is wat gelaai word, is 'n positiewe reaksie op die invoer van die wagwoord / ontsluiting van "sdaY" wanneer die reël "GRUBx2" in die GRUB-kieslys gekies word.

Wanneer jy in die CLI werk, om nie deurmekaar te raak nie (en kyk of die "set root" omgewingsveranderlike gewerk het), skep leë merkerlêers, byvoorbeeld in die geënkripteerde partisie "/shifr_grub", in die ongeënkripteerde partisie "/noshifr_grub". Bekragtiging in die CLI

cat /Tab-Tab

Soos hierbo genoem, sal dit jou nie help om kwaadwillige modules af te laai as sulke modules op jou rekenaar beland nie. Byvoorbeeld, 'n keylogger wat toetsaanslagen na 'n lêer kan stoor en met ander lêers in "~/i386" kan meng totdat dit afgelaai word deur 'n aanvaller met fisiese toegang tot die rekenaar.

Die maklikste manier om seker te maak dat die beskerming van digitale handtekeninge aktief is (nie teruggestel nie), en niemand het die selflaaiprogram binnegeval nie, in die CLI tik ons ​​die opdrag

list_trusted

in reaksie kry ons 'n cast van ons "perskey", of ons kry niks as ons aangeval is nie (moet ook "set check_signatures=enforce" nagaan).
'n Beduidende nadeel van so 'n stap is om opdragte met die hand te tik. As jy hierdie opdrag by "grub.cfg" voeg en die konfigurasie digitaal onderteken, dan is die voorlopige uitvoer van die sleuteluitsending na die skerm te kort in tydsberekening, en jy het dalk nie tyd om die afvoer te sien wanneer jy die GRUB2-selflaai kry nie .
Daar is niemand om veral oor te kla nie: die ontwikkelaar in syne dokumentasie klousule 18.2 amptelik verklaar

“Let daarop dat selfs met GRUB-wagwoordbeskerming, GRUB self nie kan verhoed dat iemand met fisiese toegang tot die masjien daardie masjien se firmware (bv. Coreboot of BIOS) konfigurasie verander om die masjien vanaf 'n ander (aanvaller-beheerde) toestel te laat selflaai nie. GRUB is op sy beste net een skakel in 'n veilige selflaai-ketting."

GRUB2 is te oorlaai met kenmerke wat 'n gevoel van valse sekuriteit kan gee, en die ontwikkeling daarvan het reeds die funksionaliteit van MS-DOS verbygesteek, en dit is net 'n selflaaiprogram. Dit is snaaks dat GRUB2 - "môre" 'n bedryfstelsel kan word, en selflaaibare GNU / Linux virtuele masjiene daarvoor.

'n Kort video oor hoe ek GRUB2 digitale handtekeningbeskerming terugstel en my inbraak aan 'n regte gebruiker verklaar het (Ek het jou bang gemaak, maar in plaas van wat op die video gewys word, kan jy 'n nie-skadelose arbitrêre kode/.mod skryf).

Gevolgtrekkings:

1) Blokkeer stelselkodering vir Windows - makliker om te implementeer, en beskerming met een wagwoord is geriefliker as beskerming met verskeie wagwoorde met GNU / Linux-blokstelselkodering, in regverdigheid: laasgenoemde is outomaties.

2) Ek het die artikel geskryf as relevant, gedetailleerd eenvoudige gids tot volledige skyf enkripsie VeraCrypt/LUKS op een huis die masjien, wat by verre die beste in runet (IMHO). Die handleiding is > 50k karakters so dit het nie 'n paar interessante hoofstukke gedek nie: oor kriptograwe wat verdwyn/in die skaduwees bly; oor die feit dat daar in verskeie GNU/Linux-boeke min/geen oor kriptografie geskryf word nie; oor artikel 51 van die Grondwet van die Russiese Federasie; O lisensiëring/verbod enkripsie in Rusland, oor hoekom jy "root / boot" moet enkripteer. Die handleiding blyk reeds aansienlik te wees, maar gedetailleerd (beskryf selfs eenvoudige stappe), op sy beurt sal dit jou baie tyd bespaar wanneer jy by "regte enkripsie" kom.

3) Volskyf-enkripsie uitgevoer op Windows 7 64; GNU/Linux Parrot 4x; GNU/Debian 9.0/9.5.

4) Implementeer 'n suksesvolle aanval op sy GRUB2 selflaaiprogram.

5) Die handleiding is geskep om alle paranoïede in die GOS te help, waar enkripsie wettiglik toegelaat word. En eerstens, vir diegene wat volskyf-enkripsie wil rol sonder om hul gekonfigureerde stelsels te sloop.

6) Sy handleiding, wat in 2020 relevant is, hersien en bygewerk.

[G] Nuttige dokumentasie

  1. TrueCrypt Gebruikersgids (Februarie 2012 RU)
  2. VeraCrypt-dokumentasie
  3. /usr/share/doc/cryptsetup(-run) [plaaslike deel] (amptelike gedetailleerde dokumentasie oor die opstel van GNU/Linux-enkripsie met cryptsetup)
  4. Amptelike cryptsetup Gereelde vrae (kort dokumentasie oor die opstel van GNU/Linux-enkripsie met cryptsetup)
  5. LUKS-toestelkodering (archlinux dokumentasie)
  6. Gedetailleerde beskrywing van cryptsetup sintaksis (arch handleiding bladsy)
  7. Gedetailleerde beskrywing van crypttab (arch handleiding bladsy)
  8. GRUB2 amptelike dokumentasie.

Tags: volledige skyf-enkripsie, partisie-enkripsie, Linux volle skyf-enkripsie, LUKS1 volledige stelsel-enkripsie.

Slegs geregistreerde gebruikers kan aan die opname deelneem. Meld aan, asseblief.

Enkripteer jy?

  • 17,1%Ek enkripteer alles wat ek kan. Ek is paranoïes.14

  • 34,2%Ek enkripteer net belangrike data.28

  • 14,6%Soms enkripteer ek, soms vergeet ek.12

  • 34,2%Nee, ek enkripteer nie, dit is ongerieflik en duur.28

82 gebruikers het gestem. 22 gebruikers het buite stemming gebly.

Bron: will.com

Voeg 'n opmerking