Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot
Bywurke eigen hantlieding foar fersifering op folsleine skiif yn RuNet V0.2.

Cowboy strategy:

[A] Windows 7 systeem blok fersifering fan it ynstallearre systeem;
[B] GNU/Linux-systeemblokfersifering (Debian) ynstallearre systeem (ynklusyf /boot);
[C] GRUB2-konfiguraasje, bootloaderbeskerming mei digitale hantekening / autentikaasje / hashing;
[D] stripping - ferneatiging fan net-fersifere gegevens;
[E] universele reservekopy fan fersifere OS;
[F] oanfal <op item [C6]> doel - GRUB2 bootloader;
[G]nuttige dokumintaasje.

╭───Skema fan #keamer 40# :
├──╼ Windows 7 ynstalleare - folsleine systeemfersifering, net ferburgen;
├──╼ GNU/Linux ynstallearre (Debian en derivative distribúsjes) - folsleine systeem fersifering, net ferburgen(/, ynklusyf /boot; swap);
├──╼ ûnôfhinklike bootloaders: VeraCrypt bootloader is ynstalleare yn 'e MBR, GRUB2 bootloader is ynstalleare yn' e útwreide partition;
├──╼gjin OS-ynstallaasje / opnij ynstallaasje nedich;
└──╼ brûkte kryptografyske software: VeraCrypt; Cryptsetup; GnuPG; Seahorse; Hashdeep; GRUB2 is fergees / fergees.

It boppesteande skema lost it probleem foar in part op fan "opstart op ôfstân nei in flash drive", lit jo genietsje fan fersifere OS Windows / Linux en gegevens útwikselje fia in "fersifere kanaal" fan it iene OS nei it oare.

PC boot folchoarder (ien fan de opsjes):

  • oansette de masine;
  • it laden fan de VeraCrypt bootloader (it juste wachtwurd ynfiere sil trochgean mei opstarten Windows 7);
  • druk op de "Esc" kaai sil lade de GRUB2 boot loader;
  • GRUB2 bootloader (selektearje distribúsje/GNU/Linux/CLI), sil ferifikaasje fereaskje fan de GRUB2-superbrûker <login/wachtwurd>;
  • nei suksesfolle autentikaasje en seleksje fan 'e distribúsje moatte jo in passphrase ynfiere om "/boot/initrd.img" te ûntsluten;
  • nei it ynfieren fan flaterfrije wachtwurden sil GRUB2 in wachtwurdynfier "fereaskje". (tredde, BIOS-wachtwurd of GNU/Linux-brûkersakkountwachtwurd - net beskôgje) om GNU/Linux OS te ûntsluten en op te starten, of automatyske ferfanging fan in geheime kaai (twa wachtwurden + kaai, of wachtwurd + kaai);
  • eksterne ynbraak yn 'e GRUB2-konfiguraasje sil it GNU/Linux-bootproses befrieze.

Lastich? Ok, lit ús gean automatisearje de prosessen.

By it partitionearjen fan in hurde skiif (MBR tabel) In PC kin net mear as 4 haadpartysjes hawwe, of 3 haad en ien útwreide, lykas in net-allokearre gebiet. In útwreide seksje, yn tsjinstelling ta de wichtichste, kin subseksjes befetsje (logyske skiven = útwreide partition). Mei oare wurden, de "útwreide partysje" op 'e HDD ferfangt LVM foar de taak by de hân: folsleine systeemfersifering. As jo ​​​​skiif is ferdield yn 4 haadpartysjes, moatte jo lvm brûke, of transformearje (mei opmaak) seksje fan haad oant avansearre, of brûk alle fjouwer seksjes wiis en lit alles sa't it is, it winske resultaat krije. Sels as jo ien partysje op jo skiif hawwe, sil Gparted jo helpe om jo HDD te dielen (foar ekstra seksjes) sûnder gegevens ferlies, mar dochs mei in lytse boete foar sokke aksjes.

It opmaakskema fan 'e hurde skiif, yn relaasje wêrmei't it hiele artikel ferbalisearre wurdt, wurdt presintearre yn' e tabel hjirûnder.

Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot
Tabel (No. 1) fan 1TB partysjes.

Jo moatte ek wat ferlykber hawwe.
sda1 - haaddieling No.. 1 NTFS (fersifere);
sda2 - útwreide seksje marker;
sda6 - logyske skiif (it hat de GRUB2 bootloader ynstalleare);
sda8 - swap (fersifere swap triem / net altyd);
sda9 - test logyske skiif;
sda5 - logyske skiif foar nijsgjirrige;
sda7 - GNU/Linux OS (oerdroegen OS nei in fersifere logyske skiif);
sda3 - haaddieling No.. 2 mei Windows 7 OS (fersifere);
sda4 - haadseksje nr. 3 (it befette net-fersifere GNU/Linux, brûkt foar backup / net altyd).

[A] Windows 7 System Block Encryption

A1. VeraCryptFolsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

Download fan offisjele webstee, of út 'e spegel sourceforge ynstallaasje ferzje fan VeraCrypt kryptografyske software (op it momint fan publikaasje fan it artikel v1.24-Update3 is de draachbere ferzje fan VeraCrypt net geskikt foar systeemfersifering). Kontrolearje de kontrôlesum fan 'e ynladen software

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

en fergelykje it resultaat mei de CS pleatst op 'e webside fan VeraCrypt-ûntwikkelders.

As HashTab-software is ynstalleare, is it noch makliker: RMB (VeraCrypt Setup 1.24.exe)-eigenskippen - hash-som fan bestannen.

Om de programma-hântekening te ferifiearjen, moatte de software en de iepenbiere pgp-kaai fan 'e ûntwikkelder ynstalleare wurde op it systeem gnuPG; gpg4 win.

A2. Ynstallearje / útfiere VeraCrypt-software mei administratorrjochtenFolsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

A3. Selektearje systeem fersifering parameters foar de aktive partitionVeraCrypt - Systeem - Fersiferje systeem partition / skiif - Normaal - Fersiferje Windows systeem partition - Multiboot - (warskôging: "Unexperience brûkers wurde net oanrikkemandearre om dizze metoade te brûken" en dit is wier, wy iens "Ja") - Boot skiif ("ja", sels as net, noch altyd "ja") - Oantal systeemskiven "2 of mear" - Ferskate systemen op ien skiif "Ja" - Net-Windows bootlader "Nee" (yn feite, "Ja", mar de VeraCrypt/GRUB2-bootladers sille de MBR net ûnderinoar diele; krekter, allinich it lytste diel fan 'e bootloader-koade wurdt opslein yn' e MBR / boot-track, it haaddiel dêrfan is leit yn it bestânsysteem) - Multiboot - Fersiferingsynstellingen ...

As jo ​​ôfwike fan de boppesteande stappen (blokkearje systeem fersifering skema's), dan sil VeraCrypt in warskôging útjaan en sil jo de partysje net fersiferje.

Yn 'e folgjende stap nei rjochte gegevensbeskerming, fiere in "Test" en selektearje in fersiferingsalgoritme. As jo ​​​​in ferâldere CPU hawwe, dan sil wierskynlik it fluchste fersiferingsalgoritme Twofish wêze. As de CPU machtich is, sille jo it ferskil fernimme: AES-fersifering, neffens de testresultaten, sil ferskate kearen flugger wêze as syn krypto-konkurrinten. AES is in populêr fersiferingsalgoritme de hardware fan moderne CPU's is spesjaal optimalisearre foar sawol "geheim" as "hacking."

VeraCrypt stipet de mooglikheid om skiven te fersiferjen yn in AES-kaskade(Twafisk)/ en oare kombinaasjes. Op in âlde kearn Intel CPU fan tsien jier lyn (sûnder hardware-stipe foar AES, A/T-kaskadefersifering) De fermindering fan prestaasjes is yn wêzen net te merken. (foar AMD CPU's fan deselde tiidrek / ~ parameters, prestaasjes wurde wat fermindere). It OS wurket dynamysk en it boarneferbrûk foar transparante fersifering is ûnsichtber. Yn tsjinstelling, bygelyks, is d'r in merkbere fermindering fan prestaasjes troch de ynstalleare ynstabile testburoblêdomjouwing Mate v1.20.1 (of v1.20.2 wit ik it net krekt) yn GNU/Linux, of troch de wurking fan de telemetryroutine yn Windows7↑. Typysk fiere betûfte brûkers hardware-prestaasjestests út foar fersifering. Bygelyks, yn Aida64/Sysbench/systemd-analyze wurdt skuld fergelike mei de resultaten fan deselde tests nei it fersiferjen fan it systeem, en wjerlizze dêrmei de myte foar harsels dat "systeemfersifering skealik is." De fertraging fan 'e masine en it ûngemak binne merkber by it meitsjen fan reservekopy / weromsette fan fersifere gegevens, om't de operaasje "systeemgegevens-backup" sels net yn ms wurdt mjitten, en deselde <dekodearje/fersiferje op 'e flecht> wurde tafoege. Uteinlik balansearret elke brûker dy't mei kryptografy kin tinken it fersiferingsalgoritme tsjin 'e befrediging fan' e taken by de hân, har nivo fan paranoia en gebrûksgemak.

It is better om de PIM-parameter as standert te litten, sadat jo by it laden fan it OS net elke kear de krekte iteraasjewearden hoege yn te fieren. VeraCrypt brûkt in enoarm oantal iteraasjes om in wirklik "stadige hash" te meitsjen. In oanfal op sa'n "crypto slak" mei help fan de Brute krêft / reinbôge tabellen metoade makket sin allinnich mei in koarte "ienfâldige" passphrase en it slachtoffer syn persoanlike charset list. De priis om te beteljen foar wachtwurdsterkte is in fertraging by it ynfieren fan it juste wachtwurd by it laden fan it OS. (montearjen fan VeraCrypt-voluminten yn GNU/Linux is signifikant rapper).
Fergese software foar it útfieren fan brute force oanfallen (wachtwurd útpakke út VeraCrypt/LUKS-skiifkoptekst) Hashcat. Johannes de Ripper wit net hoe't jo "Veracrypt brekke", en by it wurkjen mei LUKS begrypt Twofish-kryptografy net.

Troch de kryptografyske sterkte fan fersiferingsalgoritmen ûntwikkelje unstoppable cypherpunks software mei in oare oanfalvektor. Bygelyks, extracting metadata / kaaien út RAM (kâld boot / direkte ûnthâld tagong oanfal), D'r is spesjale fergese en net-frije software foar dizze doelen.

Nei it foltôgjen fan it ynstellen / generearjen fan "unike metadata" fan 'e fersifere aktive partysje, sil VeraCrypt oanbiede om de PC opnij te starten en de funksjonaliteit fan syn bootloader te testen. Nei it herstarten / starten fan Windows sil VeraCrypt yn 'e standby-modus laden, alles wat oerbliuwt is it fersiferingsproses te befêstigjen - Y.

By de lêste stap fan systeemfersifering sil VeraCrypt oanbiede om in reservekopy te meitsjen fan 'e koptekst fan' e aktive fersifere dieling yn 'e foarm fan "veracrypt rescue disk.iso" - dit moat dien wurde - yn dizze software is sa'n operaasje in eask (yn LUKS, as eask - dit is spitigernôch weilitten, mar wurdt beklamme yn de dokumintaasje). Rescue skiif sil komme fan pas foar elkenien, en foar guon mear as ien kear. Ferlies (koptekst / MBR herskriuwe) in reservekopy fan 'e koptekst sil permanint tagong wegerje ta de ûntsifere partysje mei OS Windows.

A4. It meitsjen fan in VeraCrypt-rescue USB / skiifStandert biedt VeraCrypt oan om "~ 2-3MB fan metadata" op in CD te ferbaarnen, mar net alle minsken hawwe skiven of DWD-ROM-skiven, en it meitsjen fan in bootbere flash-drive "VeraCrypt Rescue-skiif" sil in technyske ferrassing wêze foar guon: Rufus /GUIDd-ROSA ImageWriter en oare ferlykbere software sille de taak net kinne omgean, om't neist it kopiearjen fan de offset-metadata nei in bootbere flash-drive, moatte jo de ôfbylding kopiearje/plakke bûten it triemsysteem fan it usb-stasjon , koartsein, kopiearje de MBR / wei korrekt nei keychain. Jo kinne in bootbere flash-drive meitsje fan GNU/Linux OS mei it hulpprogramma "dd", sjoch nei dit teken.

Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

It meitsjen fan in rêdingsskiif yn in Windows-omjouwing is oars. De ûntwikkelder fan VeraCrypt hat de oplossing foar dit probleem net opnommen yn 'e offisjele dokumintaasje troch "rêdingskiif", mar stelde in oplossing op in oare manier foar: hy pleatste ekstra software foar it meitsjen fan in "usb-rêdingskiif" foar fergese tagong op syn VeraCrypt-forum. De argivaris fan dizze software foar Windows is "meitsje usb veracrypt rêdingsskiif". Nei it bewarjen fan rescue disk.iso sil it proses fan blokkearjen fan systeemfersifering fan 'e aktive partysje begjinne. Tidens fersifering stopt de operaasje fan it OS net in PC opnij starte. Nei it foltôgjen fan de fersiferingsoperaasje wurdt de aktive partysje folslein fersifere en kin brûkt wurde. As de VeraCrypt-bootlader net ferskynt as jo de PC begjinne, en de kopteksthersteloperaasje helpt net, kontrolearje dan de "boot" flagge, it moat ynsteld wurde op 'e partysje wêr't Windows oanwêzich is (nettsjinsteande fersifering en oare OS, sjoch tabel No. 1).
Dit foltôget de beskriuwing fan bloksysteemfersifering mei Windows OS.

[B] LUKS. GNU/Linux fersifering (~Debian) ynstallearre OS. Algoritme en stappen

Om in ynstallearre Debian/derivative-distribúsje te fersiferjen, moatte jo de tarete partysje yn kaart bringe nei in firtuele blokapparaat, oerdrage nei de map GNU/Linux-skiif, en GRUB2 ynstallearje/konfigurearje. As jo ​​gjin bleate metalen tsjinner hawwe, en jo wurdearje jo tiid, dan moatte jo de GUI brûke, en de measte fan 'e terminalkommando's hjirûnder beskreaun binne bedoeld om te rinnen yn "Chuck-Norris-modus".

B1. Booting PC fan live usb GNU/Linux

"Utfiere in krypto-test foar hardwareprestaasjes"

lscpu && сryptsetup benchmark

Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

As jo ​​​​de lokkige eigner binne fan in krêftige auto mei AES-hardware-stipe, dan sille de nûmers lykje op 'e rjochterkant fan' e terminal as jo in lokkige eigner binne, mar mei antike hardware sille de nûmers lykje op 'e lofterkant.

B2. Skiif partitioning. mounting / formatting fs logyske skiif HDD nei Ext4 (Gparted)

B2.1. It meitsjen fan in fersifere sda7 partition headerIk sil de nammen fan 'e partysjes beskriuwe, hjir en fierder, yn oerienstimming mei myn hjirboppe pleatste partysjetabel. Neffens jo skiifyndieling moatte jo jo partitionnammen ferfange.

Logyske Drive Encryption Mapping (/dev/sda7 > /dev/mapper/sda7_crypt).
# Maklike oanmeitsjen fan in "LUKS-AES-XTS-partysje"

cryptsetup -v -y luksFormat /dev/sda7

Opsjes:

* luksFormat - inisjalisaasje fan LUKS-koptekst;
* -y -passphrase (gjin kaai / triem);
* -v -ferbalisaasje (ynformaasje werjaan yn 'e terminal);
* /dev/sda7 - jo logyske skiif fan 'e útwreide partysje (wêr't it pland is om GNU/Linux oer te dragen/fersiferjen).

Standert fersiferingsalgoritme <LUKS1: aes-xts-plain64, Key: 256 bits, LUKS header hashing: sha256, RNG: /dev/urandom> (hinget ôf fan de cryptsetup ferzje).

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

As d'r gjin hardware-stipe is foar AES op 'e CPU, soe de bêste kar wêze om in útwreide "LUKS-Twofish-XTS-partysje" te meitsjen.

B2.2. Avansearre oanmeitsjen fan "LUKS-Twofish-XTS-partition"

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

Opsjes:
* luksFormat - inisjalisaasje fan LUKS-koptekst;
* /dev/sda7 is jo takomstige fersifere logyske skiif;
* -v ferbalisaasje;
* -y passphrase;
* -c selektearje gegevens fersifering algoritme;
* -s fersifering kaai grutte;
* -h hashing algoritme / Krypto-funksje, RNG brûkt (--brûke-urandom) om in unike fersifering-/ûntsiferingskaai te generearjen foar de logyske skiifkop, in sekundêre koptekstkaai (XTS); in unike masterkaai opslein yn 'e fersifere skiifkop, in sekundêre XTS-kaai, al dizze metadata en in fersiferingsroutine dy't, mei help fan de masterkaai en de sekundêre XTS-kaai, alle gegevens op 'e partysje fersiferet/ûntsiferet (útsein seksje titel) opslein yn ~3MB op de selektearre hurde skiif partition.
* -i-iteraasjes yn millisekonden, ynstee fan "bedrach" (de tiidfertraging by it ferwurkjen fan de passphrase hat ynfloed op it laden fan it OS en de kryptografyske sterkte fan 'e kaaien). Om in lykwicht fan kryptografyske sterkte te hâlden, moatte jo mei in ienfâldich wachtwurd lykas "Russysk" de -(i) wearde ferheegje mei in kompleks wachtwurd lykas "?8dƱob/øfh" kin de wearde fermindere wurde.
* -brûke-urandom willekeurige getallengenerator, genereart kaaien en sâlt.

Nei it yn kaart bringen fan de seksje sda7> sda7_crypt (de operaasje is rap, om't in fersifere koptekst wurdt makke mei ~3 MB metadata en dat is alles), Jo moatte it sda7_crypt-bestânsysteem formatearje en montearje.

B2.3. Fergeliking

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

opsjes:
* iepen - oerien mei de seksje "mei namme";
* /dev/sda7 -logyske skiif;
* sda7_crypt - nammemapping dy't wurdt brûkt om de fersifere partysje te mount of it te initialisearjen as it OS opstart.

B2.4. It opmaak fan it sda7_crypt-bestânsysteem nei ext4. Montearje in skiif yn it OS(Opmerking: jo kinne net wurkje mei in fersifere partysje yn Gparted)

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

opsjes:
* -v -ferbalisaasje;
* -L - stasjonlabel (dat wurdt werjûn yn Explorer ûnder oare skiven).

Dêrnei moatte jo it firtuele fersifere blokapparaat /dev/sda7_crypt op it systeem montearje

mount /dev/mapper/sda7_crypt /mnt

Wurkje mei bestannen yn 'e map / mnt sil automatysk gegevens fersiferje / ûntsiferje yn sda7.

It is handiger om de partysje yn Explorer yn kaart te bringen en te montearjen (nautilus/caja GUI), sil de partysje al yn 'e skiif-seleksjelist stean, alles wat oerbliuwt is de passphrase yn te fieren om de skiif te iepenjen / te ûntsiferjen. De oerienkommende namme sil automatysk selektearre wurde en net "sda7_crypt", mar soksawat as /dev/mapper/Luks-xx-xx...

B2.5. Skiifkoptekst (~3MB metadata)Ien fan de meast belangryk operaasjes dy't sûnder fertraging dien wurde moatte - in reservekopy fan 'e koptekst "sda7_crypt". As jo ​​de koptekst oerskriuwe/beskeadigje (bygelyks GRUB2 ynstallearje op 'e sda7-partysje, ensfh.), de fersifere gegevens sille folslein ferlern gean sûnder ienige mooglikheid om it te herstellen, om't it ûnmooglik is om deselde kaaien opnij te generearjen.

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

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

opsjes:
* luksHeaderBackup —header-backup-file -backup kommando;
* luksHeaderRestore —header-backup-file -restore kommando;
* ~/Backup_DebSHIFR - reservekopy triem;
* /dev/sda7 - partition waans fersifere skyfkopkopykopy moat wurde bewarre.
By dizze stap is <it oanmeitsjen en bewurkjen fan de fersifere dieling> foltôge.

B3. GNU/Linux OS portearje (sda4) nei in fersifere partition (sda7)

Meitsje in map /mnt2 (Opmerking - wy wurkje noch mei live usb, sda7_crypt is monteard op /mnt), en montearje ús GNU/Linux yn /mnt2, dy't fersifere wurde moat.

mkdir /mnt2
mount /dev/sda4 /mnt2

Wy fiere juste OS-oerdracht út mei Rsync-software

rsync -avlxhHX --progress /mnt2/ /mnt

Rsync-opsjes wurde beskreaun yn paragraaf E1.

Folgje, is nedich defragmentearje in logyske skiifdieling

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

Meitsje it in regel: doch e4defrag op fersifere GNU/LInux fan tiid ta tiid as jo in HDD hawwe.
De oerdracht en syngronisaasje [GNU/Linux > GNU/Linux-fersifere] is by dizze stap foltôge.

AT 4. GNU/Linux ynstelle op in fersifere sda7-partysje

Nei it suksesfolle oerdracht fan it OS /dev/sda4 > /dev/sda7, moatte jo oanmelde by GNU/Linux op 'e fersifere partysje en fierdere konfiguraasje útfiere (sûnder PC opnij starte) relatyf oan in fersifere systeem. Dat is, yn live usb wêze, mar kommando's útfiere "relatyf oan 'e root fan it fersifere OS." "chroot" sil in ferlykbere situaasje simulearje. Om fluch ynformaasje te ûntfangen oer hokker OS jo op it stuit wurkje (fersifere of net, om't de gegevens yn sda4 en sda7 binne syngronisearre), desyngronisearje it OS. Meitsje yn root-mappen (sda4/sda7_crypt) lege markearring triemmen, Bygelyks, / mnt / encryptedOS en / mnt2 / decryptedOS. Kontrolearje fluch op hokker OS jo binne (ynklusyf foar de takomst):

ls /<Tab-Tab>

B4.1. "Simulaasje fan oanmelde by in fersifere OS"

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

B4.2. Ferifiearje dat wurk wurdt útfierd tsjin in fersifere systeem

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

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

B4.3. Fersifere swap oanmeitsje / konfigurearje, crypttab/fstab bewurkjeSûnt it wikselbestân wurdt opmakke elke kear as it OS begjint, makket it gjin sin om no swap te meitsjen en te mapjen nei in logyske skiif, en kommando's te typen lykas yn paragraaf B2.2. Foar Swap wurde syn eigen tydlike fersiferingskaaien automatysk oanmakke by elke start. Libbenssyklus fan swap-kaaien: unmounting / unmounting swap partition (+ RAM skjinmeitsje); of it OS opnij starte. It ynstellen fan swap, it iepenjen fan it bestân dat ferantwurdlik is foar de konfiguraasje fan blokfersifere apparaten (analooch oan in fstab-bestân, mar ferantwurdlik foar krypto).

nano /etc/crypttab 

wy bewurkje

#"doelnamme" "boarneapparaat" "kaaibestân" "opsjes"
swap /dev/sda8 /dev/urandom swap,cipher=twofish-xts-plain64,grutte=512,hash=sha512

Opsjes
* swap - maped namme by fersifering /dev/mapper/swap.
* /dev/sda8 - brûk jo logyske partysje foar swap.
* /dev/urandom - generator fan willekeurige fersiferingskaaien foar ruil (mei elke nije OS-boot wurde nije kaaien oanmakke). De /dev/urandom-generator is minder willekeurich as /dev/random, nei alle gedachten wurdt /dev/random brûkt by it wurkjen yn gefaarlike paranoïde omstannichheden. By it laden fan it OS, fertraget /dev/random it laden foar ferskate ± minuten (sjoch systemd-analyze).
* swap, cipher = twafish-xts-plain64, grutte = 512, hash = sha512: -de partysje wit dat it swap is en "neffens" opmakke is; fersifering algoritme.

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

wy bewurkje

# swap wie op / dev / sda8 by ynstallaasje
/dev/mapper/swap gjin swap sw 0 0

/dev/mapper/swap is de namme dy't ynsteld is yn crypttab.

Alternatyf fersifere swap
As jo ​​om ien of oare reden gjin folsleine partysje opjaan wolle foar in ruilbestân, dan kinne jo in alternatyf en bettere manier gean: in ruilbestân meitsje yn in bestân op in fersifere partysje mei it OS.

fallocate -l 3G /swap #создание файла размером 3Гб (почти мгновенная операция)
chmod 600 /swap #настройка прав
mkswap /swap #из файла создаём файл подкачки
swapon /swap #включаем наш swap
free -m #проверяем, что файл подкачки активирован и работает
printf "/swap none swap sw 0 0" >> /etc/fstab #при необходимости после перезагрузки swap будет постоянный

De opset fan swap-partition is foltôge.

B4.4. Fersifere GNU/Linux ynstelle (crypttab/fstab-bestannen bewurkje)It /etc/crypttab-bestân, lykas hjirboppe skreaun, beskriuwt fersifere blokapparaten dy't konfigureare binne tidens systeemboot.

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

as jo oerienkomme mei de seksje sda7>sda7_crypt lykas yn paragraaf B2.1

# "doelnamme" "boarne apparaat" "kaaibestân" "opsjes"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

as jo oerienkomme mei de seksje sda7>sda7_crypt lykas yn paragraaf B2.2

# "doelnamme" "boarne apparaat" "kaaibestân" "opsjes"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512

as jo de seksje sda7>sda7_crypt oerienkomme lykas yn paragraaf B2.1 of B2.2, mar it wachtwurd net opnij wolle ynfiere om it OS te ûntsluten en te booten, dan kinne jo ynstee fan it wachtwurd in geheime kaai / willekeurich bestân ferfange

# "doelnamme" "boarne apparaat" "kaaibestân" "opsjes"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

beskriuwing
* gjin - rapportearret dat by it laden fan it OS, it ynfieren fan in geheime wachtwurdfrase is nedich om de root te ûntsluten.
* UUID - partition identifier. Om jo ID te finen, typ de terminal yn (herinnering dat jo fan dizze tiid ôf wurkje yn in terminal yn in chroot-omjouwing, en net yn in oare live usb-terminal).

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»

dizze line is sichtber by it oanfreegjen fan blkid fan 'e live usb-terminal mei sda7_crypt monteard).
Jo nimme de UUID fan jo sdaX (net sdaX_crypt!, UUID sdaX_crypt - sil automatysk lofts wurde by it generearjen fan de grub.cfg-konfiguraasje).
* cipher = twofish-xts-plain64, grutte = 512, hash = sha512 -luks fersifering yn avansearre modus.
* /etc/skey - geheime kaaibestân, dat automatysk wurdt ynfoege om de OS-boot te ûntsluten (ynstee fan it 3e wachtwurd yn te fieren). Jo kinne elke triem oant 8MB oantsjutte, mar de gegevens wurde lêzen <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 

It sil der sa útsjen:

(do it sels en sjoch sels).

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

/etc/fstab befettet beskriuwende ynformaasje oer ferskate bestânssystemen.

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

# "bestânsysteem" "mountpunt" "type" "opsjes" "dump" "pass"
# / wie by / ynstallaasje op / dev / sda7
/dev/mapper/sda7_crypt / ext4 errors=remount-ro 0 1

opsje
* /dev/mapper/sda7_crypt - de namme fan 'e sda7>sda7_crypt-mapping, dy't spesifisearre is yn it /etc/crypttab-bestân.
De opset fan crypttab/fstab is foltôge.

B4.5. Konfiguraasjebestannen bewurkje. Key momintB4.5.1. De konfiguraasje bewurkje /etc/initramfs-tools/conf.d/resume

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

en kommentaar út (as it bestiet) "#" line "resume". De triem moat folslein leech wêze.

B4.5.2. De konfiguraasje bewurkje /etc/initramfs-tools/conf.d/cryptsetup

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

moatte oerienkomme

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

B4.5.3. It bewurkjen fan de /etc/default/grub-konfiguraasje (dizze konfiguraasje is ferantwurdlik foar de mooglikheid om grub.cfg te generearjen by it wurkjen mei fersifere /boot)

nano /etc/default/grub

foegje de rigel ta "GRUB_ENABLE_CRYPTODISK=y"
wearde 'y', grub-mkconfig en grub-install sille kontrolearje op fersifere skiven en ekstra kommando's generearje dy't nedich binne om tagong te krijen by it opstarten (ynsmods ).
der moat in oerienkomst wêze

GRUB_DEFAULT = 0
GRUB_TIMEOUT = 1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT = "acpi_backlight = ferkeaper"
GRUB_CMDLINE_LINUX="stille splash noautomount"
GRUB_ENABLE_CRYPTODISK=y

B4.5.4. Bewurkje de konfiguraasje /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

kontrolearje dat de line kommentearre út <#>.
Yn de takomst (en sels no sil dizze parameter gjin betsjutting hawwe, mar soms ynterfereart it mei it bywurkjen fan it initrd.img-ôfbylding).

B4.5.5. Bewurkje de konfiguraasje /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

tafoegje

KEYFILE_PATTERN="/etc/skey"
UMASK=0077

Dit sil de geheime kaai "skey" yn initrd.img pakke, de kaai is nedich om de root te ûntsluten as it OS opstart (as jo it wachtwurd net opnij wolle ynfiere, wurdt de "kaai" kaai ferfongen troch de auto).

B4.6. Update /boot/initrd.img [ferzje]Om de geheime kaai yn initrd.img te pakken en cryptsetup-fixes oan te passen, update de ôfbylding

update-initramfs -u -k all

by it bywurkjen fan initrd.img (sa't se sizze "It is mooglik, mar it is net wis") warskôgings yn ferbân mei cryptsetup sil ferskine, of, bygelyks, in notifikaasje oer it ferlies fan Nvidia modules - dit is normaal. Kontrolearje nei it bywurkjen fan it bestân dat it eins bywurke is, sjoch de tiid (relatyf oan chroot-omjouwing./boot/initrd.img). Wês opsichtich! foardat [update-initramfs -u -k all] kontrolearje dat cryptsetup iepen is /dev/sda7 sda7_crypt - dit is de namme dy't ferskynt yn /etc/crypttab, oars sil d'r in busybox-flater nei opstarten wêze)
Op dizze stap is it ynstellen fan de konfiguraasjebestannen foltôge.

[C] Ynstallearje en konfigurearje GRUB2 / beskerming

C1. As it nedich is, formatearje de tawijde partysje foar de bootloader (in partysje hat op syn minst 20MB nedich)

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

C2. Mount /dev/sda6 nei /mntSa wurkje wy yn chroot, dan sil d'r gjin / mnt2-map yn 'e root wêze, en de map / mnt sil leech wêze.
montearje de GRUB2-partysje

mount /dev/sda6 /mnt

As jo ​​in âldere ferzje fan GRUB2 ynstalleare hawwe, yn 'e map /mnt/boot/grub/i-386-pc (oar platfoarm is mooglik, bygelyks net "i386-pc") gjin Krypto-modules (koartsein, de map moat modules befetsje, ynklusyf dizze .mod: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod), yn dit gefal moat GRUB2 wurde skodde.

apt-get update
apt-get install grub2 

Belangryk! By it bywurkjen fan it GRUB2-pakket fan it repository, as jo frege wurde "oer kieze" wêr't jo de bootloader moatte ynstallearje, moatte jo de ynstallaasje wegerje (reden - besykje GRUB2 te ynstallearjen - yn "MBR" of op live usb). Oars sille jo de VeraCrypt-header / loader beskeadigje. Nei it bywurkjen fan de GRUB2-pakketten en it annulearjen fan de ynstallaasje, moat de bootlader mei de hân ynstalleare wurde op 'e logyske skiif, en net yn' e MBR. As jo ​​repository in ferâldere ferzje fan GRUB2 hat, besykje dan update it is fan 'e offisjele webside - haw it net kontrolearre (wurke mei de lêste GRUB 2.02 ~BetaX bootladers).

C3. Ynstallaasje fan GRUB2 yn in útwreide partysje [sda6]Jo moatte in monteare partysje hawwe [item C.2]

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

opsjes
* —force - ynstallaasje fan 'e bootloader, omgean alle warskôgings dy't hast altyd bestean en blokkearje ynstallaasje (ferplichte flagge).
* --root-directory - triemtafel ynstallaasje oan de woartel fan sda6.
* /dev/sda6 - jo sdaХ partition (mis de <romte> net tusken /mnt /dev/sda6).

C4. In konfiguraasjetriem oanmeitsje [grub.cfg]Ferjit it kommando "update-grub2", en brûk it kommando foar generaasje fan folsleine konfiguraasjetriem

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

nei it foltôgjen fan it generearjen/bywurkjen fan it grub.cfg-bestân, moat de útfierterminal rigel(s) befetsje mei it OS fûn op 'e skiif ("grub-mkconfig" sil wierskynlik it OS fine en ophelje fan in live usb, as jo in multiboot-flashdrive hawwe mei Windows 10 en in bosk live-distribúsjes - dit is normaal). As de terminal "leech" is en de "grub.cfg"-bestân is net oanmakke, dan is dit itselde gefal as d'r GRUB-bugs yn it systeem binne (en wierskynlik de loader fan 'e testtûke fan' e repository), GRUB2 opnij ynstallearje fan fertroude boarnen.
De "ienfâldige konfiguraasje" ynstallaasje en GRUB2 opset is foltôge.

C5. Bewiistest fan fersifere GNU/Linux OSWy foltôgje de krypto-missy korrekt. Foarsichtich ferlitte de fersifere GNU / Linux (útlitte chroot-omjouwing).

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

Nei it opnij opstarten fan de PC moat de VeraCrypt-bootloader lade.
Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

* It ynfieren fan it wachtwurd foar de aktive partition sil begjinne mei it laden fan Windows.
*Druk op de "Esc"-kaai sil de kontrôle oerdrage nei GRUB2, as jo fersifere GNU/Linux selektearje - in wachtwurd (sda7_crypt) sil nedich wêze om /boot/initrd.img te ûntsluten (as grub2 uuid skriuwt "net fûn" - dit is in probleem mei de grub2 bootloader, moat it opnij ynstalleare wurde, bgl.
Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

*Ofhinklik fan hoe't jo it systeem ynsteld hawwe (sjoch paragraaf B4.4/4.5), nei it ynfieren fan it juste wachtwurd om de /boot/initrd.img-ôfbylding te ûntsluten, sille jo in wachtwurd nedich hawwe om de OS-kernel/root, of it geheim te laden kaai ​​sil automatysk "skey" wurde ferfongen, wêrtroch't de needsaak is om de wachtwurdfrase opnij yn te fieren.
Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot
(skerm "automatyske ferfanging fan in geheime kaai").

*Dan folget it fertroude proses fan it laden fan GNU/Linux mei autentikaasje fan brûkersaccount.
Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

* Nei brûkersautorisaasje en oanmelde by it OS, moatte jo /boot/initrd.img wer bywurkje (sjoch B4.6).

update-initramfs -u -k all

En yn gefal fan ekstra rigels yn it GRUB2-menu (fan OS-m pickup mei live usb) kwyt harren

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

In rappe gearfetting fan GNU/Linux-systeemfersifering:

  • GNU/Linuxinux is folslein fersifere, ynklusyf /boot/kernel en initrd;
  • de geheime kaai is ferpakt yn initrd.img;
  • hjoeddeistige autorisaasje skema (it wachtwurd ynfiere om de initrd te ûntsluten; wachtwurd / kaai om it OS te booten; wachtwurd foar it autorisearjen fan it Linux-akkount).

"Ienfâldige GRUB2-konfiguraasje" systeemfersifering fan 'e blokdieling is foltôge.

C6. Avansearre GRUB2-konfiguraasje. Bootloader-beskerming mei digitale hantekening + autentikaasjebeskermingGNU/Linux is folslein fersifere, mar de bootloader kin net fersifere wurde - dizze betingst wurdt diktearre troch de BIOS. Om dizze reden is in keatling fersifere boot fan GRUB2 net mooglik, mar in ienfâldige keatling boot is mooglik/beskikber, mar út in feiligens eachpunt is it net nedich [sjoch P. F].
Foar de "kwetsbere" GRUB2 hawwe de ûntwikkelders in "hântekening / autentikaasje" bootloader-beskermingsalgoritme ymplementearre.

  • As de bootloader beskerme wurdt troch "syn eigen digitale hantekening", sil eksterne wiziging fan bestannen, of in besykjen om ekstra modules yn dizze bootloader te laden, liede ta it blokkearjen fan it bootproses.
  • By it beskermjen fan de bootloader mei autentikaasje, om it laden fan in distribúsje te selektearjen, of ekstra kommando's yn 'e CLI yn te fieren, moatte jo de oanmelding en wachtwurd fan 'e superuser-GRUB2 ynfiere.

C6.1. Bootloader autentikaasje beskermingKontrolearje dat jo wurkje yn in terminal op in fersifere OS

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

meitsje in superuser wachtwurd foar autorisaasje yn GRUB2

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

Krij it wachtwurd hash. Soksawat

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

montearje de GRUB-partysje

mount /dev/sda6 /mnt 

de konfiguraasje bewurkje

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

kontrolearje de triemsykjen dat d'r gjin flaggen binne oeral yn "grub.cfg" ("-ûnbeheind" "-brûker",
tafoegje oan 'e ein (foar de rigel ### END /etc/grub.d/41_custom ###)
"set superusers="root"
password_pbkdf2 root hash."

It moat sa'n ding wêze

# Dit bestân biedt in maklike manier om oanpaste menu-yngongen ta te foegjen. Typ gewoan de
# menu-yngongen dy't jo wolle tafoegje nei dizze opmerking. Wês foarsichtich net te feroarjen
# de line 'exec tail' hjirboppe.
### END /etc/grub.d/40_custom ###

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

As jo ​​faaks it kommando "grub-mkconfig -o /mnt/boot/grub/grub.cfg" brûke en net elke kear feroarings oan grub.cfg wolle meitsje, fier dan de boppesteande rigels yn (Ynloch wachtwurd) yn it GRUB-brûkersskript oan 'e ûnderkant

nano /etc/grub.d/41_custom 

kat <<EOF
set superusers = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF

By it generearjen fan de konfiguraasje "grub-mkconfig -o /mnt/boot/grub/grub.cfg", wurde de rigels ferantwurdlik foar ferifikaasje automatysk tafoege oan grub.cfg.
Dizze stap foltôget de GRUB2-ferifikaasje-ynstelling.

C6.2. Bootloader beskerming mei digitale hantekeningDer wurdt oannommen dat jo al jo persoanlike pgp-kodearringskaai hawwe (of meitsje sa'n kaai). It systeem moat kryptografyske software ynstalleare hawwe: gnuPG; kleopatra/GPA; Seehynder. Krypto-software sil jo libben folle makliker meitsje yn al sokke saken. Seahorse - stabile ferzje fan it pakket 3.14.0 (ferzjes heger, bygelyks, V3.20, binne defect en hawwe wichtige bugs).

De PGP-kaai moat allinich yn 'e su-omjouwing oanmakke/lansearre/tafoege wurde!

Generearje persoanlike fersiferingskaai

gpg - -gen-key

Eksportearje jo kaai

gpg --export -o ~/perskey

Befestigje de logyske skiif yn it OS as it net al is monteard

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

skjin de GRUB2-partysje

rm -rf /mnt/

Ynstallearje GRUB2 yn sda6, set jo privee kaai yn 'e haad GRUB-ôfbylding "core.img"

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

opsjes
* --force - ynstallearje de bootloader, omgean alle warskôgings dy't altyd bestean (ferplichte flagge).
* —modules = "gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" - ynstruearret GRUB2 om de nedige modules foar te laden as de PC begjint.
* -k ~/perskey -paad nei de "PGP-kaai" (nei't de kaai yn 'e ôfbylding ynpakt is, kin it wiske wurde).
* --root-directory - set de bootmap yn op de root fan sda6
/dev/sda6 - jo sdaX-partysje.

It generearjen/bywurkjen fan grub.cfg

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

Foegje de rigel "trust /boot/grub/perskey" ta oan it ein fan it bestân "grub.cfg" (twang gebrûk fan pgp-kaai.) Sûnt wy ynstallearre GRUB2 mei in set fan modules, ynklusyf de hantekening module "signature_test.mod", dit elimineert de needsaak om te foegjen kommando's lykas "set check_signatures = enforce" oan de config.

It moat der sa útsjen (ein rigels yn grub.cfg triem)

### BEGIN /etc/grub.d/41_custom ###
if [-f ${config_directory}/custom.cfg]; dan
boarne ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; dan
boarne $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 ###
#

It paad nei "/boot/grub/perskey" hoecht net te wizen op in spesifike skiifdieling, bygelyks hd0,6 foar de bootloader sels, "root" is it standertpaad fan 'e partysje wêrop GRUB2 ynstallearre is (sjoch set rot=..).

Undertekening GRUB2 (alle bestannen yn alle /GRUB-mappen) mei jo kaai "perskey".
In ienfâldige oplossing oer hoe te tekenjen (foar nautilus/caja explorer): ynstallearje de "seahorse" tafoeging foar Explorer út it repository. Jo kaai moat wurde tafoege oan de su omjouwing.
Iepenje Explorer mei sudo "/mnt/boot" - RMB - teken. Op it skerm sjocht it der sa út

Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

De kaai sels is "/mnt/boot/grub/perskey" (kopiearje nei grub-map) moat ek ûndertekene wurde mei jo eigen hantekening. Kontrolearje dat de [*.sig] bestânshântekeningen ferskine yn 'e map/submappen.
Mei de hjirboppe beskreaune metoade tekenje "/boot" (ús kernel, initrd). As jo ​​​​tiid wat wurdich is, elimineert dizze metoade de needsaak om in bash-skript te skriuwen om "in protte bestannen" te tekenjen.

Om alle bootloader-hantekeningen te ferwiderjen (as der wat mis gie)

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

Om de bootloader net te tekenjen nei it bywurkjen fan it systeem, befrieze wy alle updatepakketten relatearre oan GRUB2.

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

Dizze stap <beskermje bootloader mei digitale hantekening> avansearre konfiguraasje fan GRUB2 is foltôge.

C6.3. Bewiis-test fan 'e GRUB2 bootloader, beskerme troch digitale hantekening en autentikaasjeGRUB2. By it selektearjen fan in GNU/Linux-distribúsje of it ynfieren fan de CLI (opdrachtrigel) Superuser-autorisaasje sil nedich wêze. Nei it ynfieren fan de juste brûkersnamme / wachtwurd, sille jo it initrd wachtwurd hawwe

Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot
Skermôfbylding fan suksesfolle autentikaasje fan 'e GRUB2-superbrûker.

As jo ​​tamper mei ien fan de GRUB2 triemmen / meitsje feroarings oan grub.cfg, of wiskje de triem / hântekening, of lade in kwea-aardich module.mod, in oerienkommende warskôging sil ferskine. GRUB2 sil it laden stopje.

Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot
Skermprint, in besykjen om GRUB2 "fan bûten" te bemuoien.

Tidens "normaal" opstarten "sûnder ynbraak", is de systeemútgongskoadestatus "0". Dêrom is it ûnbekend oft de beskerming wurket of net (dat is, "mei of sûnder beskerming fan bootloader-hantekening" by normaal laden is de status deselde "0" - dit is min).

Hoe kinne jo beskerming fan digitale hantekening kontrolearje?

In ûngemaklike manier om te kontrolearjen: fake / fuortsmite in module brûkt troch GRUB2, bygelyks, fuortsmite de hantekening luks.mod.sig en fa in flater.

De juste manier: gean nei de bootloader CLI en typ it kommando

trust_list

As antwurd moatte jo in "perskey" fingerprint krije as de status "0" is, dan wurket de hantekeningbeskerming net, dûbel kontrolearje paragraaf C6.2.
Op dizze stap is de avansearre konfiguraasje "Grub2 beskermje mei digitale hantekening en autentikaasje" foltôge.

C7 Alternative metoade foar it beskermjen fan de GRUB2-bootloader mei hashingDe hjirboppe beskreaune metoade "CPU Boot Loader Protection / Authentication" is in klassiker. Troch de ûnfolsleinens fan GRUB2, yn paranoïde omstannichheden is it gefoelich foar in echte oanfal, dy't ik hjirûnder sil jaan yn paragraaf [F]. Derneist, nei it bywurkjen fan it OS / kernel, moat de bootloader opnij ûndertekene wurde.

De GRUB2-bootloader beskermje mei hashing

Foardielen boppe klassikers:

  • Heger nivo fan betrouberens (hashing / ferifikaasje fynt allinnich plak út in fersifere lokale boarne. De hiele tawiisd partition ûnder GRUB2 wurdt kontrolearre foar alle feroarings, en al it oare is fersifere; yn it klassike skema mei CPU loader beskerming / Autentikaasje, allinnich triemmen wurde kontrolearre, mar net fergees romte, dêr't "wat" wat sinisters" yn tafoege wurde kin).
  • Fersifere logging (in persoanlik lêsber persoanlik fersifere logboek wurdt tafoege oan it skema).
  • Speed (beskerming / ferifikaasje fan in hiele dieling tawiisd foar GRUB2 komt hast daliks foar).
  • Automatisearring fan alle kryptografyske prosessen.

Neidielen boppe de klassikers.

  • Ferfalsking fan hantekening (teoretysk is it mooglik om in opjûne hashfunksje-botsing te finen).
  • Ferhege muoite nivo (yn ferliking mei klassike, in bytsje mear feardichheden yn GNU / Linux OS binne fereaske).

Hoe't it idee fan GRUB2 / partition hashing wurket

De GRUB2-partysje is "ûndertekene" as it OS opstart, wurdt de partition fan 'e bootlader kontrolearre op ûnferoarlikens, folge troch ynloggen yn in feilige (fersifere) omjouwing. As de bootloader of syn partition is kompromittearre, neist it ynbraaklog, wurdt it folgjende lansearre:

Ding.Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

In ferlykbere kontrôle komt fjouwer kear deis foar, dy't systeemboarnen net lade.
Mei it kommando "-$ check_GRUB" komt in direkte kontrôle op elk momint foar sûnder logging, mar mei ynformaasjeútfier nei de CLI.
Mei it gebrûk fan it kommando "-$ sudo signature_GRUB", wurdt de GRUB2 bootloader / partysje daliks opnij ûndertekene en har bywurke logging (nedich nei OS / boot update), en it libben giet troch.

Implementaasje fan in hashingmetoade foar de bootloader en syn seksje

0) Litte wy de GRUB-bootloader/partysje tekenje troch it earst te montearjen yn /media/brûkersnamme

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

1) Wy meitsje in skript sûnder in útwreiding yn 'e root fan' e fersifere OS ~/podpis, tapasse de nedige 744 befeiligingsrjochten en foolproof beskerming derop.

It ynfoljen fan syn ynhâld

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

Run it skript út su, de hashing fan 'e GRUB-partysje en syn bootloader wurde kontrolearre, bewarje it log.

Litte wy bygelyks in "kwaadwillige triem" [virus.mod] oanmeitsje of kopiearje nei de GRUB2-partysje en in tydlike scan/test útfiere:

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

De CLI moat in ynvaazje sjen fan ús -citadel-#Trimmed log yn 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

#Sa't jo sjen kinne, ferskynt "Bestânen ferpleatst: 1 en kontrôle mislearre", wat betsjut dat de kontrôle mislearre.
Fanwegen de aard fan 'e teste partition, ynstee fan "Nije bestannen fûn"> "Bestân ferpleatst"

2) Set de gif hjir> ~/warning.gif, set de tagongsrjochten op 744.

3) It konfigurearjen fan fstab om de GRUB-partysje automatysk te mount by it opstarten

-$ sudo nano /etc/fstab

LABEL=GRUB /media/brûkersnamme/GRUB ext4 standert 0 0

4) It rotearjen fan it log

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

/var/log/podpis.txt {
deistich
draaie 50
grutte 5M
datatext
kompresje
fertragingkomprimearje
olddir /var/log/old
}

/var/log/vtorjenie.txt {
moanne-
draaie 5
grutte 5M
datatext
olddir /var/log/old
}

5) Foegje in baan ta oan cron

-$ sudo crontab -e

lit herstarten '/ynskriuwing'
0 */6 * * * '/podpis

6) Permaninte aliassen oanmeitsje

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

Nei OS update -$ apt-get upgrade opnij tekenje ús GRUB-partysje
-$ подпись_GRUB
Op dit punt is hashingbeskerming fan 'e GRUB-partysje foltôge.

[D] Wiping - ferneatiging fan net-fersifere gegevens

Wiskje jo persoanlike bestannen sa folslein dat "net iens God se lêze kin," neffens Súd-Karolina wurdfierder Trey Gowdy.

Lykas gewoanlik binne d'r ferskate "myten en leginden", oer it herstellen fan gegevens nei't se wiske binne fan in hurde skiif. As jo ​​​​leauwe yn cyberwitchcraft, of lid binne fan 'e Dr-webmienskip en hawwe noait gegevensherstel besocht nei't it wiske / oerskreaun is (bygelyks herstel mei R-studio), dan is de foarstelde metoade net wierskynlik foar jo te passen, brûk wat it tichtst by jo is.

Nei suksesfolle oerdracht fan GNU/Linux nei in fersifere partysje, moat de âlde kopy wiske wurde sûnder de mooglikheid fan gegevensherstel. Universele skjinmakmetoade: software foar Windows/Linux fergese GUI-software BleachBit.
Fluch opmaak de seksje, de gegevens wêrop ferneatige wurde moatte (fia Gparted) starte BleachBit, selektearje "Ferge romte skjinmeitsje" - selektearje de partysje (jo sdaX mei in eardere kopy fan GNU/Linux), sil it strippingproses begjinne. BleachBit - wisket de skiif yn ien pass - dit is wat "wy nedich binne", Mar! Dit wurket allinnich yn teory as jo opmakke de skiif en skjinmakke yn BB v2.0 software.

Opmerking! BB wisket de skiif, wêrtroch metadata triemnammen wurde bewarre as gegevens wurde eliminearre (Ccleaner - lit gjin metadata litte).

En de myte oer de mooglikheid fan gegevensherstel is net hielendal in myte.Bleachbit V2.0-2 earder ynstabyl OS Debian-pakket (en elke oare ferlykbere software: sfill; wipe-Nautilus - waarden ek opmurken yn dit smoarge bedriuw) hie eins in krityske brek: de funksje "frije romte frijmeitsje". it wurket ferkeard op HDD / Flash-skiven (ntfs/ext4). Software fan dit soarte, by it wiskjen fan frije romte, net oerskriuwe de hiele skiif, sa't in protte brûkers tinke. En guon (in soad) wiske gegevens OS / software beskôget dizze gegevens as net-wiske / brûkersgegevens en by it skjinmeitsjen fan "OSP" slaat it dizze bestannen oer. It probleem is dat nei sa'n lange tiid, it skjinmeitsjen fan de skiif "wiske triemmen" kinne wurde hersteld sels nei 3+ passes fan wiping de skiif.
Op GNU/Linux by Bleachbit 2.0-2 De funksjes fan it permanint wiskjen fan bestannen en mappen wurkje betrouber, mar meitsje gjin frije romte frij. Foar fergeliking: op Windows yn CCleaner wurket de funksje "OSP foar ntfs" goed, en God sil wirklik net wiske gegevens kinne lêze.

En sa, om yngeand te ferwiderjen "kompromisearjen" âlde net-fersifere gegevens, Bleachbit hat direkte tagong ta dizze gegevens nedich, brûk dan de funksje "bestannen/mappen permanint wiskje".
Om "wiske bestannen mei standert OS-ark" yn Windows te ferwiderjen, brûk CCleaner / BB mei de "OSP" -funksje. Yn GNU/Linux oer dit probleem (wiske triemmen wiskje) jo moatte sels oefenje (gegevens wiskje + in ûnôfhinklik besykjen om it te herstellen en jo moatte net fertrouwe op 'e softwareferzje (as net in blêdwizer, dan in brek)), allinich yn dit gefal kinne jo it meganisme fan dit probleem begripe en de wiske gegevens folslein kwytreitsje.

Ik haw net testen Bleachbit v3.0, it probleem kin al fêst.
Bleachbit v2.0 wurket earlik.

Op dizze stap is it wiskjen fan skiif foltôge.

[E] Universele reservekopy fan fersifere OS

Elke brûker hat har eigen metoade foar reservekopy fan gegevens, mar fersifere System OS-gegevens fereaskje in wat oare oanpak foar de taak. Unified software, lykas Clonezilla en ferlykbere software, kin net wurkje direkt mei fersifere gegevens.

Ferklearring fan it probleem fan reservekopy fan fersifere blokapparaten:

  1. universaliteit - itselde backupalgoritme / software foar Windows / Linux;
  2. de mooglikheid om yn 'e konsole te wurkjen mei elke live usb GNU / Linux sûnder de needsaak foar ekstra software-downloads (mar riede noch GUI oan);
  3. feiligens fan reservekopyen - opsleine "ôfbyldings" moatte fersifere / wachtwurdbeskerme wurde;
  4. de grutte fan 'e fersifere gegevens moat oerienkomme mei de grutte fan' e werklike gegevens dy't kopiearre wurde;
  5. handige ekstraksje fan needsaaklike bestannen fan in reservekopy (gjin eask om earst de hiele seksje te ûntsiferjen).

Bygelyks, reservekopy / weromsette fia it hulpprogramma "dd".

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

It komt oerien mei hast alle punten fan 'e taak, mar neffens punt 4 stiet it net op krityk, om't it de folsleine skiifdieling kopiearret, ynklusyf frije romte - net ynteressant.

Bygelyks, in GNU/Linux-backup fia de archiver [tar" | gpg] is handich, mar foar Windows-backup moatte jo sykje nei in oare oplossing - it is net ynteressant.

E1. Universele Windows / Linux backup. Link rsync (Grsync) + VeraCrypt folumeAlgoritme foar it meitsjen fan in reservekopy:

  1. it meitsjen fan in fersifere kontener (folume/bestân) VeraCrypt foar OS;
  2. oerdrage / syngronisearje it OS mei Rsync-software yn 'e VeraCrypt-kryptokontainer;
  3. as it nedich is, upload it VeraCrypt-volume nei www.

It meitsjen fan in fersifere VeraCrypt-container hat syn eigen skaaimerken:
it meitsjen fan in dynamysk folume (oanmeitsjen fan DT is allinich beskikber yn Windows, kin ek brûkt wurde yn GNU/Linux);
it meitsjen fan in gewoane folume, mar d'r is in eask fan in "paranoïde karakter" (neffens de ûntwikkelder) - container opmaak.

In dynamysk folume wurdt hast direkt makke yn Windows, mar by it kopiearjen fan gegevens fan GNU/Linux> VeraCrypt DT, nimt de totale prestaasjes fan 'e reservekopyoperaasje signifikant ôf.

In gewoane 70 GB Twofish folume wurdt makke (litte wy gewoan sizze, gemiddeld PC-krêft) nei HDD ~ yn in heal oere (it oerskriuwen fan de eardere kontenergegevens yn ien pas komt troch feiligenseasken). De funksje fan it fluch opmeitsjen fan in folume by it oanmeitsjen is fuortsmiten fan VeraCrypt Windows / Linux, sadat it meitsjen fan in kontener allinich mooglik is troch "werskriuwen mei ien pass" of it meitsjen fan in dynamysk folume mei lege prestaasjes.

Meitsje in gewoan VeraCrypt-volume (net dynamysk/ntfs), der moatte gjin problemen wêze.

Konfigurearje / oanmeitsje / iepenje in kontener yn VeraCrypt GUI> GNU / Linux live usb (it folume sil automounted wurde op /media/veracrypt2, it Windows OS-folume wurdt monteard op /media/veracrypt1). It meitsjen fan in fersifere backup fan Windows OS mei GUI rsync (grsync)troch de fakjes te kontrolearjen.

Folsleine skiif fersifering fan Windows Linux ynstallearre systemen. Fersifere multi-boot

Wachtsje oant it proses foltôge is. Sadree't de reservekopy is foltôge, wy sille hawwe ien fersifere triem.

Meitsje op deselde manier in reservekopy fan it GNU/Linux OS troch it karfakje "Windows-kompatibiliteit" út te skeakeljen yn 'e rsync GUI.

Opmerking! meitsje in Veracrypt-kontener foar "GNU/Linux-backup" yn it bestânsysteem ext4. As jo ​​in reservekopy meitsje nei in ntfs-container, dan sille jo, as jo sa'n kopy weromsette, alle rjochten/groepen ferlieze op al jo gegevens.

Jo kinne alle operaasjes yn 'e terminal útfiere. Basis opsjes foar rsync:
* -g -groepen bewarje;
* -P -foarútgong - status fan 'e tiid bestege oan it wurkjen oan it bestân;
* -H - kopiearje hurde keppelings lykas is;
* -a -argyfmodus (meardere rlptgoD flaggen);
* -v -ferbalisaasje.

As jo ​​​​in "Windows VeraCrypt-volume" wolle mount fia de konsole yn 'e cryptsetup-software, kinne jo in alias (su) oanmeitsje

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

No sil it kommando "veramount pictures" jo freegje om in passphrase yn te fieren, en it fersifere Windows-systeemvolumint sil wurde monteard yn it OS.

Map / mount VeraCrypt systeem folume yn cryptsetup kommando

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

Map/mount VeraCrypt partition/container yn cryptsetup kommando

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

Ynstee fan alias sille wy (in skript foar it opstarten) in systeemvolumint tafoegje mei Windows OS en in logysk fersifere ntfs-skiif oan GNU/Linux opstarten

Meitsje in skript en bewarje it yn ~/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.

Wy fersprieden de "korrekte" rjochten:

sudo chmod 100 /VeraOpen.sh

Meitsje twa identike triemmen (deselde namme!) yn /etc/rc.local en ~/etc/init.d/rc.local
It ynfoljen fan de triemmen

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

Wy fersprieden de "korrekte" rjochten:

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

Dat is it, no by it laden fan GNU/Linux hoege wy gjin wachtwurden yn te fieren om fersifere ntfs-skiven te montearjen, de skiven wurde automatysk monteare.

In notysje koart oer wat hjirboppe beskreaun is yn paragraaf E1 stap foar stap (mar no foar OS GNU/Linux)
1) Meitsje in folume yn fs ext4> 4gb (foar bestân) Linux yn Veracrypt [Cryptbox].
2) Reboot nei live usb.
3) ~$ cryptsetup iepen /dev/sda7 Lunux #mapping fersifere partysje.
4) ~$ mount /dev/mapper/Linux /mnt #mount de fersifere partysje nei /mnt.
5) ~$ mkdir mnt2 #meitsje in map foar in takomstige reservekopy.
6) ~$ cryptsetup iepen —veracrypt —type tcrypt ~/CryptoBox CryptoBox && mount /dev/mapper/CryptoBox /mnt2 #Map in Veracrypt-volume neamd "CryptoBox" en montearje de CryptoBox op /mnt2.
7) ~$ rsync -avlxhHX —progress /mnt /mnt2/ #backup-operaasje fan in fersifere partysje nei in fersifere Veracrypt-folume.

(p/s/ Opmerking! As jo ​​​​fersifere GNU/Linux oerdrage fan de iene arsjitektuer/masine nei de oare, bygelyks Intel> AMD (dat is, in reservekopy ynsette fan ien fersifere partysje nei in oare fersifere Intel> AMD-partysje), Net ferjitte Nei it oerbringen fan it fersifere OS, bewurkje de geheime ferfangende kaai ynstee fan it wachtwurd, miskien. de foarige kaai ~/etc/skey - sil net mear passe op in oare fersifere partition, en it is net oan te rieden om in nije kaai "cryptsetup luksAddKey" fan ûnder chroot te meitsjen - in glitch is mooglik, gewoan yn ~/etc/crypttab spesifisearje ynstee fan "/etc/skey" tydlik "gjin" ", nei rebot en oanmelde by it OS, meitsje jo geheime jokerteken opnij oan).

As IT-feteranen, tink om apart backups te meitsjen fan de kopteksten fan fersifere Windows/Linux OS-partysjes, oars sil de fersifering tsjin jo draaie.
Op dizze stap is de reservekopy fan it fersifere OS foltôge.

[F] Oanfal op de GRUB2 bootloader

View detailsAs jo ​​jo bootloader beskerme hawwe mei in digitale hantekening en/of autentikaasje (sjoch punt C6.), dan sil dit net beskermje tsjin fysike tagong. Fersifere gegevens sille noch altyd ûnberikber wêze, mar de beskerming sil omgean (weromsette beskerming fan digitale hantekening) GRUB2 lit in cyberskurk syn koade yn 'e bootloader ynjeksje sûnder fertinking te wekken (útsein as de brûker de bootloader-status manuell kontrolearret, of komt mei har eigen robúste arbitrêre skriptkoade foar grub.cfg).

Oanfal algoritme. Ynbrekker

* Boots PC fan live usb. Elke feroaring (oertreder) bestannen sille de echte eigner fan 'e PC ynformearje oer de ynbraak yn' e bootloader. Mar in ienfâldige re-ynstallaasje fan GRUB2 hâlden grub.cfg (en de folgjende mooglikheid om it te bewurkjen) sil in oanfaller tastean alle bestannen te bewurkjen (yn dizze situaasje, by it laden fan GRUB2, sil de echte brûker gjin notifikaasje krije. De status is itselde <0>)
* Mounts in net-fersifere partysje, bewarret "/mnt/boot/grub/grub.cfg".
* Ynstallearret de bootloader opnij ('perskey' fuortsmite fan 'e core.img-ôfbylding)

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

* Jout "grub.cfg"> "/mnt/boot/grub/grub.cfg" werom, bewurket it as it nedich is, bygelyks jo module "keylogger.mod" taheakje oan de map mei loadermodules, yn "grub.cfg" > line "insmod keylogger". Of, bygelyks, as de fijân slûch is, dan nei it opnij ynstallearjen fan GRUB2 (alle hantekeningen bliuwe op syn plak) it bout de haad GRUB2-ôfbylding mei "grub-mkimage mei opsje (-c)." De opsje "-c" lit jo jo konfiguraasje laden foardat jo de haad "grub.cfg" laden. De konfiguraasje kin bestean út mar ien rigel: trochferwizing nei elke "modern.cfg", mingd, bygelyks, mei ~ 400 triemmen (modules + hantekeningen) yn de map "/boot/grub/i386-pc". Yn dit gefal kin in oanfaller willekeurige koade ynfoegje en modules laden sûnder "/boot/grub/grub.cfg" te beynfloedzjen, sels as de brûker "hashsum" tapast op it bestân en tydlik werjûn op it skerm.
In oanfaller sil de GRUB2-superbrûker login/wachtwurd net hoege te hacken, hy sil gewoan de rigels moatte kopiearje (ferantwurdlik foar autentikaasje) "/boot/grub/grub.cfg" nei jo "modern.cfg"

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

En de PC-eigner sil noch wurde authentisearre as de GRUB2-superbrûker.

Ketting laden (bootloader laadt in oare bootloader), lykas ik hjirboppe skreau, hat gjin sin (it is bedoeld foar in oar doel). Fersifere bootloader kin net laden wurde fanwege BIOS (ketenboot start GRUB2 opnij > fersifere GRUB2, flater!). As jo ​​​​lykwols it idee fan kettingladen noch brûke, kinne jo der wis fan wêze dat it de fersifere is dy't wurdt laden. (net modernisearre) "grub.cfg" fan 'e fersifere partysje. En dit is ek in falsk gefoel fan feiligens, om't alles wat is oanjûn yn 'e fersifere "grub.cfg" (module laden) foeget ta oan modules dy't wurde laden fan net-fersifere GRUB2.

As jo ​​​​dit wolle kontrolearje, allocearje / fersiferje dan in oare partition sdaY, kopiearje GRUB2 dernei (grub-ynstallaasje operaasje op in fersifere partysje is net mooglik) en yn "grub.cfg" (ûnfersifere konfiguraasje) feroarje rigels lykas dizze

menuentry 'GRUBx2' --class papegaai --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
load_fideo
ynsmod gzio
if [x$grub_platform = xxen]; dan ynsmod xzio; insmod lzopio; fi
insmod part_msdos
insmod kryptodisk
ynsmod lux
insmod gcry_twofish
insmod gcry_twofish
insmod gcry_sha512
ynsmod ext2
cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838
set root=’cryptouuid/15c47d1c4bd34e5289df77bcf60ee838′
normaal /boot/grub/grub.cfg
}

linen
* insmod - laden fan de nedige modules foar wurkjen mei in fersifere skiif;
* GRUBx2 - namme fan 'e line werjûn yn it GRUB2 bootmenu;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 -sjoch. fdisk -l (sda9);
* set root - root ynstallearje;
* normaal /boot/grub/grub.cfg - útfierber konfiguraasjetriem op in fersifere partysje.

Betrouwen dat it de fersifere "grub.cfg" is dy't laden is, is in positive reaksje op it ynfieren fan it wachtwurd / ûntskoatteljen fan "sdaY" by it selektearjen fan de rigel "GRUBx2" yn it GRUB-menu.

By it wurkjen yn 'e CLI, om net betize te wurden (en kontrolearje oft de omjouwingsfariabele "set root" wurke), meitsje lege token triemmen, bygelyks, yn de fersifere seksje "/ shifr_grub", yn de net-fersifere seksje "/ noshifr_grub". Kontrolearje yn 'e CLI

cat /Tab-Tab

Lykas hjirboppe oanjûn, sil dit net helpe tsjin it downloaden fan kweade modules as sokke modules op jo PC einigje. Bygelyks, in keylogger dy't by steat wêze om te bewarjen toetsoanslagen oan in triem en mix it mei oare triemmen yn "~/i386" oant it wurdt ynladen troch in oanfaller mei fysike tagong ta de PC.

De maklikste manier om te ferifiearjen dat beskerming fan digitale hantekening aktyf wurket (net weromsette), en gjinien hat de bootloader ynfallen, fier it kommando yn 'e CLI

list_trusted

as antwurd krije wy in kopy fan ús "perskey", of wy krije neat as wy oanfallen wurde (jo moatte ek "set check_signatures=enforce" kontrolearje).
In wichtich neidiel fan dizze stap is it manuell ynfieren fan kommando's. As jo ​​dit kommando tafoegje oan "grub.cfg" en de konfiguraasje beskermje mei in digitale hantekening, dan is de foarriedige útfier fan 'e kaai-snapshot op it skerm te koart yn timing, en jo hawwe miskien gjin tiid om de útfier te sjen nei it laden fan GRUB2 .
Der is gjinien yn it bysûnder te meitsjen oanspraken op: de ûntwikkelder yn syn dokumintaasje klausule 18.2 offisjeel ferklearret

"Tink derom dat sels mei GRUB-wachtwurdbeskerming, GRUB sels net kin foarkomme dat immen mei fysike tagong ta de masine de firmware-konfiguraasje fan dy masine (bgl. Coreboot of BIOS) feroaret om de masine te bootjen fan in oar (oanfaller-kontroleare) apparaat. GRUB is op syn bêst mar ien skeakel yn in feilige bootketen."

GRUB2 is te oerladen mei funksjes dy't in gefoel fan falske feiligens kinne jaan, en har ûntwikkeling hat MS-DOS al oerslein yn termen fan funksjonaliteit, mar it is gewoan in bootloader. It is grappich dat GRUB2 - "moarn" it OS kin wurde, en bootbere GNU/Linux firtuele masines foar.

In koarte fideo oer hoe't ik de GRUB2-beskerming foar digitale hantekening weromsette en myn ynbraak oan in echte brûker ferklearre (Ik makke dy bang, mar ynstee fan wat wurdt werjûn yn 'e fideo, kinne jo skriuwe net-harmless willekeurige koade / .mod).

Konklúzjes:

1) Block systeem fersifering foar Windows is makliker te ymplemintearjen, en beskerming mei ien wachtwurd is handiger dan beskerming mei ferskate wachtwurden mei GNU / Linux block systeem fersifering, om earlik te wêzen: de lêste is automatisearre.

2) Ik skreau it artikel as relevant en detaillearre ienfâldich in gids foar folsleine-skiif fersifering VeraCrypt / LUKS op ien thús de masine, dat is fierwei de bêste yn RuNet (IMHO). De gids is > 50 tekens lang, sadat it net behannele guon nijsgjirrige haadstikken: kryptografen dy't ferdwine/hâlde yn it skaad; oer it feit dat se yn ferskate GNU/Linux-boeken min/net skriuwe oer kryptografy; oer kêst 51 fan 'e Grûnwet fan' e Russyske Federaasje; O fergunningferliening/ferbod fersifering yn 'e Russyske Federaasje, oer wêrom't jo "root / boot" moatte fersiferje. De gids die bliken frij wiidweidich, mar detaillearre. (beskriuwt sels ienfâldige stappen), op syn beurt, dit sil besparje jo in protte tiid as jo krije by de "echte fersifering".

3) Folsleine skiif fersifering waard útfierd op Windows 7 64; GNU/Linux Parrot 4x; GNU/Debian 9.0/9.5.

4) Implementearre in súksesfolle oanfal op syn GRUB2 bootloader.

5) Tutorial is makke om alle paranoïde minsken yn 'e CIS te helpen, wêr't wurkje mei fersifering is tastien op it wetjouwende nivo. En foaral foar dyjingen dy't fersifering mei folsleine skiif wolle útrolje sûnder har konfigureare systemen te sloopjen.

6) Myn hantlieding opnij bewurke en bywurke, dy't relevant is yn 2020.

[G] Nuttige dokumintaasje

  1. TrueCrypt Brûkersgids (Febrewaris 2012 RU)
  2. VeraCrypt dokumintaasje
  3. /usr/share/doc/cryptsetup(-run) [lokale boarne] (offisjele detaillearre dokumintaasje oer it ynstellen fan GNU/Linux-fersifering mei cryptsetup)
  4. Offisjele FAQ cryptsetup (koarte dokumintaasje oer it ynstellen fan GNU/Linux-fersifering mei cryptsetup)
  5. LUKS apparaat fersifering (archlinux dokumintaasje)
  6. Detaillearre beskriuwing fan cryptsetup syntaksis (arch man page)
  7. Detaillearre beskriuwing fan crypttab (arch man page)
  8. Offisjele GRUB2 dokumintaasje.

Tags: folsleine skiif fersifering, partition fersifering, Linux folsleine skiif fersifering, LUKS1 folsleine systeem fersifering.

Allinnich registrearre brûkers kinne meidwaan oan 'e enkête. Ynlogge, asjebleaft.

Fersiferje jo?

  • 17,1%Ik fersiferje alles wat ik kin. Ik bin paranoïde.14

  • 34,2%Ik fersiferje allinich wichtige gegevens.28

  • 14,6%Soms fersiferje ik, soms ferjit ik.12

  • 34,2%Nee, ik fersiferje net, it is ûnhandich en djoer.28

82 brûkers stimden. 22 brûkers ûntholden har.

Boarne: www.habr.com

Add a comment