
Aangepaste handleiding voor volledige schijfversleuteling in het Russische internet V0.2.
Cowboystrategie:
[A] bloksystemversleuteling voor Windows 7 geïnstalleerd systeem;
[B] bloksystemversleuteling GNU/Linux (Debian) geïnstalleerd systeem (inclusief /boot);
[C] GRUB2-instellingen, bescherming van de bootloader met digitale handtekening/authenticatie/hashfunctie;
[D] opruiming — vernietiging van onversleutelde gegevens;
[E] universele back-up van versleutelde besturingssystemen;
[F] aanval doel — bootloader GRUB2;
[G] nuttige documentatie.
╭───Schema #kamer 40# :
├──╼ Windows 7 geïnstalleerd — volledige systeemversleuteling, niet verborgen;
├──╼ GNU/Linux geïnstalleerd (Debian en derivaten) — volledige systeemversleuteling niet verborgen(/, inclusief /boot; swap);
├──╼ onafhankelijke bootloaders: bootloader VeraCrypt geïnstalleerd in MBR, bootloader GRUB2 geïnstalleerd in de uitgebreide partitie;
├──╼ installatie/herinstallatie van OS is niet vereist;
└──╼ gebruikt cryptografisch software: VeraCrypt; Cryptsetup; GnuPG; Seahorse; Hashdeep; GRUB2 – vrij/gratis.
Het hierboven beschreven schema lost gedeeltelijk het probleem op van "extern booten vanaf een USB-stick", waardoor je kunt genieten van versleutelde besturingssystemen Windows/Linux en gegevens kunt uitwisselen via een "versleuteld kanaal" van het ene OS naar het andere.
Opstartvolgorde van de pc (een van de opties):
- machine inschakelen;
- bootloader VeraCrypt laden (correcte invoer van het wachtwoord zal de opstart van Windows 7 voortzetten);
- toets 'Esc' drukken laadt de bootloader GRUB2;
- bootloader GRUB2 (selectie van distributie/GNU/Linux/CLI), vraagt om authenticatie van de GRUB2-supergebruiker ;
- na succesvolle authenticatie en selectie van distributie wordt gevraagd om een wachtwoordzin in te voeren om ‘/boot/initrd.img’ te ontgrendelen;
- na correcte invoer van wachtwoorden in GRUB2 is invoer van een wachtwoord vereist (derde wachtwoord, BIOS-wachtwoord of wachtwoord van de GNU/Linux-gebruiker worden niet meegerekend) om het besturingssysteem GNU/Linux te ontgrendelen en op te starten, of automatische invoer van de geheime sleutel (twee wachtwoorden + sleutel, of wachtwoord + sleutel);
- externe inmenging in de GRUB2-configuratie vertraagt het opstartproces van GNU/Linux.
Lastig? Oké, laten we de processen automatiseren.
Bij het partitioneren van de harde schijf (MBR-tabel) kan de pc niet meer dan 4 primaire partities hebben, of 3 primaire en 1 uitgebreide, evenals een niet-gepartitioneerde ruimte. Een uitgebreide partitie kan in tegenstelling tot een primaire subpartities bevatten. (logische schijven=uitgebreid gedeelte). Met andere woorden, het 'uitgebreide gedeelte' op de HDD vervangt LVM voor de huidige taak: volledige systeemversleuteling. Als uw schijf is gepartitioneerd in 4 primaire gedeelten, moet u LVM gebruiken of transformeren (met formatteren) het gedeelte van primair naar uitgebreid, of verstandig gebruik maken van alle vier de gedeelten en alles laten zoals het is, waardoor u het gewenste resultaat krijgt. Zelfs als u maar één deel op de schijf heeft, kan Gparted helpen om de HDD te splitsen (in aanvullende gedeelten) zonder gegevensverlies, maar toch met een kleine prijs voor dergelijke acties.
Het schema voor het partitioneren van de harde schijf, waarop de verbalisering van het hele artikel zal plaatsvinden, is weergegeven in de onderstaande tabel.

Tabel (№1) van de 1TB gedeelten.
Iets dergelijks zou ook bij u moeten zijn.
sda1 — primair gedeelte №1 NTFS (versleuteld);
sda2 — uitgebreid gedeelte marker;
sda6 — logische schijf (hierop is de bootloader GRUB2 geïnstalleerd);
sda8 — swap (versleuteld wisselbestand/niet altijd);
sda9 — test logische schijf;
sda5 — logische schijf voor nieuwsgierigen;
sda7 — OS GNU/Linux (overgebracht OS naar de versleutelde logische schijf);
sda3 — primair gedeelte №2 met OS Windows 7 (versleuteld);
sda4 — primair gedeelte №3 (hierin bevond zich onvercijferde GNU/Linux, wordt gebruikt voor backup/niet altijd).
[A] Block systeemversleuteling Windows 7
A1. VeraCrypt
Opstarten met , of met een spiegel installatieversie van cryptografische software VeraCrypt (op het moment van publicatie van het artikel v1.24-Update3, zal de draagbare versie van VeraCrypt niet geschikt zijn voor systeemversleuteling). Controleer de hashwaarde van de gedownloade software
$ Certutil -hashfile "C:VeraCrypt Setup 1.24.exe" SHA256
en vergelijk de verkregen resultaten met de geposte hash op de website van de ontwikkelaar VeraCrypt.
Als de HashTab-software is geïnstalleerd, is het nog eenvoudiger: RMB (VeraCrypt Setup 1.24.exe)-eigenschappen-hashes van bestanden.
Voor het controleren van de handtekening van het programma moeten de software en de openbare PGP-sleutel van de ontwikkelaar zijn geïnstalleerd ; .
A2. Installatie/starten van de software VeraCrypt met beheerdersrechten
A3. Selectie van parameters voor systeemversleuteling van het actieve gedeelteVeraCrypt – Systeem – Versleutel systeemgedeelte/disk – Normaal – Versleutel systeemgedeelte Windows – Multiboot – (waarschuwing: 'Dit is niet aanbevolen voor onervaren gebruikers' en dat klopt, we stemmen ermee in 'Ja') – Opstartschijf ("ja", zelfs als het niet zo is, toch "ja") – Aantal systeemschijven "2 of meer" – Meerdere systemen op één schijf "Ja" – Geen Windows bootloader "Nee" (feitelijk "Ja", maar bootloaders VeraCrypt/GRUB2 delen de MBR niet met elkaar, precies gezegd, in de MBR/bootsector wordt alleen het kleinste deel van de bootloadercode opgeslagen, het belangrijkste deel bevindt zich binnen de bestandssysteem) – Multiboot – Instellingen voor encryptieparameters…
Als je afwijkt van de bovengenoemde stappen (blokken schema van systeemversleuteling), zal VeraCrypt een waarschuwing geven en niet toestaan om de partitie te versleutelen.
In de volgende stap, voor gerichte gegevensbescherming, voer een "Test" uit en kies een encryptie-algoritme. Als je een verouderde CPU hebt, is het waarschijnlijk dat het Twofish-algoritme de snelste blijkt te zijn. Als de CPU krachtig is, merk je het verschil: AES – encryptie volgens de testresultaten zal enkele keren sneller zijn dan zijn cryptoconcurrenten. AES is een populair encryptie-algoritme, de hardware van moderne CPU's is speciaal geoptimaliseerd voor zowel "geheim" als "hack".
VeraCrypt ondersteunt de mogelijkheid om schijven in cascade te versleutelen met AES(Twofish)/и другими комбинациями. На старо-ядерном CPU Intel десятилетней давности (zonder hardwarematige ondersteuning van AES, cascade-encryptie A/T) prestatieverlies is in wezen onopgemerkt. (bij CPU AMD van dezelfde generatie/~parameters – is de prestatie iets verlaagd). Het OS werkt dynamisch en het verbruik van middelen voor transparante encryptie is onopgemerkt. In tegenstelling tot, bijvoorbeeld, het merkbare prestatieverlies door een geïnstalleerde instabiele desktopomgeving Mate v1.20.1 (of v1.20.2 weet ik niet meer precies) In GNU/Linux, or due to telemetry subprocess operation in Windows7↑. Usually, experienced users perform hardware performance tests before encryption. For example, in Aida64/Sysbench/systemd-analyze blame and compare with the results of those same tests after system encryption, thus debunking the myth for themselves that "system encryption is harmful". The slowdown of the machine and the inconvenience are noticeable during the backup/restoration of encrypted data, because the operation of "system data backup" itself is not measured in ms, and the same <decrypt/encrypt on the fly> is added. Ultimately, every user allowed to dabble in cryptography establishes a balance of the encryption algorithm relative to the tasks at hand, their level of paranoia, and ease of use.
It is better to leave the PIM parameter at its default value so that exact iteration values are not entered each time the OS loads. VeraCrypt applies a huge number of iterations to create a truly "slow hash". An attack on such a "crypto tool" using Brute force/rainbow tables makes sense only with a short "simple" password phrase and a personal charset list of the victim. The price for password strength is a delay when correctly entering the password during OS boot. (mounting VeraCrypt volumes in GNU/Linux is significantly faster).
Free software for executing brute force attacks (extracting the password phrase from the VeraCrypt/LUKS disk header) Hashcat. John the Ripper cannot "crack VeraCrypt", and does not understand Twofish cryptography when working with LUKS.
Due to the cryptographic strength of encryption algorithms, unstoppable cryptographers develop software with a different attack vector. For example, extracting metadata/keys from RAM (cold boot attack/direct memory access), there is specialized free and non-free software for these purposes.
After completing the setup/generation of the "unique metadata" for the encrypted active partition, VeraCrypt will suggest restarting the PC and testing the functionality of its bootloader. After rebooting/starting Windows, VeraCrypt will load in standby mode, and you will only need to confirm the encryption process — Y.
Bij de laatste stap van de systeversleuteling zal VeraCrypt je vragen een back-up van de header van de actieve versleutelde partitie te maken in de vorm van «veracrypt rescue disk.iso» — dit moet zeker gedaan worden — in deze software is deze handeling een vereiste (in LUKS is dit helaas weggelaten als vereiste, maar het wordt benadrukt in de documentatie). De rescue disk is voor iedereen nuttig, en voor sommigen zelfs meer dan eens. Verlies (overschrijving van de header/MBR) van de back-up van de header zorgt er voor altijd voor dat je geen toegang meer hebt tot de gedecrypteerde partitie met OS Windows.
A4. Het maken van een rescue usb/disk voor VeraCryptStandaard biedt VeraCrypt aan om «metagegevens ~2-3MB» op een cd-rom te branden, maar niet iedereen heeft schijven of DWD-ROM-stations, en het maken van een opstartbare flashdrive «VeraCrypt Rescue disk» zal voor sommigen een technische verrassing zijn: Rufus/GUIdd-ROSA ImageWriter en soortgelijke software kunnen de taak niet aan, omdat er naast het kopiëren van de verplaatste metagegevens naar de opstartbare flashdrive, een copy/paste buiten het bestandssysteem van de usb-opslag moet worden gemaakt, kortom, het MBR/de spoor correct kopiëren naar de USB-stick. Om een opstartbare flashdrive onder het OS GNU/Linux te maken, kan je gebruik maken van de tool «dd», kijkend naar deze tabel.

Het maken van een rescue disk in een Windows-omgeving is anders. De ontwikkelaar van VeraCrypt heeft deze taak niet opgelost in de officiële documentatie over «rescue disk», maar heeft een alternatieve oplossing aangeboden: hij heeft extra software voor het maken van een «usb rescue disk» publiekelijk toegankelijk gemaakt op zijn VeraCrypt-forum. De archiveerder van deze software voor Windows – «creatie van usb veracrypt rescue disk». Na het opslaan van rescue disk.iso begint het proces van blokkensystemensleuteling van de actieve partitie. Tijdens de versleuteling stopt de werking van het OS niet, herstarten van de pc is niet nodig. Na voltooiing van de versleutelingsoperatie is de actieve partitie volledig versleuteld en kan deze worden gebruikt. Als de VeraCrypt-bootloader niet verschijnt bij het opstarten van de pc, en de hersteloperatie van de header niet helpt, controleer dan de vlag «boot», deze moet zijn ingesteld op de partitie waar Windows aanwezig is (ongeacht de versleuteling en andere OS, zie tabel №1).
Hiermee eindigt de beschrijving van blokkensystemensleuteling met OS Windows.
[B] LUKS. Versleuteling van GNU/Linux (~Debian) geïnstalleerd OS. Algoritme en Stappen
Om een geïnstalleerde Debian/afgeleide distributie te versleutelen, moet je de voorbereide partitie koppelen aan een virtueel blokapparaat, deze naar de gekoppelde schijf van GNU/Linux verplaatsen en GRUB2 installeren/instellen. Als je niet met een bare metal server werkt en je waarde hecht aan je tijd, gebruik dan een GUI, terwijl de meeste terminalcommando's die hieronder worden beschreven, uitgevoerd moeten worden in 'Chuck Norris-modus'.
B1. Opstarten van de pc met live usb GNU/Linux
Voer een cryptotest uit om de prestaties van de hardware te testen
lscpu && cryptsetup benchmark 
Als je een trotse eigenaar bent van een krachtige machine met hardwarematige ondersteuning voor AES, zullen de cijfers lijken op de rechterkant van de terminal; als je gelukkig maar met antieke hardware werkt, dan op de linkerkant.
B2. Partitie indelen. Montages/formatting van het bestandssysteem van de logische HDD in Ext4 (Gparted)
B2.1. Een versleutelde koptekst aanmaken voor de partitie sda7Ik zal de namen van de partities hier en in het vervolg beschrijven op basis van mijn partitie-indeling die hierboven is weergegeven. Afhankelijk van je schijfindeling moet je je eigen partitienamen gebruiken.
Koppeling van de versleuteling van de logische schijf (/dev/sda7 > /dev/mapper/sda7_crypt).
#Простое создание «LUKS-AES-XTS раздела»
cryptsetup -v -y luksFormat /dev/sda7Opties:
* luksFormat -initialisatie van de LUKS-koptekst;
* -y -wachtwoordzin (geen sleutel/bestand);
* -v -verbalisation (informatie-uitvoer in de terminal);
* /dev/sda7 -jouw logische schijf uit de uitgebreide partitie (waarheen GNU/Linux moet worden verplaatst/versleuteld).
Standaard is het versleutelingsalgoritme <LUKS1: aes-xts-plain64, Sleutel: 256 bits, LUKS-koptekst hashing: sha256, RNG: /dev/urandom> (afhankelijk van de versie van cryptsetup).
#Проверка default-алгоритма шифрования
cryptsetup --help #самая последняя строка в выводе терминала.Als er geen hardwarematige ondersteuning voor AES op de CPU is, is de beste keuze het aanmaken van een uitgebreide 'LUKS-Twofish-XTS-partitie'.
B2.2. Uitgebreide creatie van een 'LUKS-Twofish-XTS-partitie'
cryptsetup luksFormat /dev/sda7 -v -y -c twofish-xts-plain64 -s 512 -h sha512 -i 1500 --use-urandom Opties:
* luksFormat -initialisatie van de LUKS-koptekst;
* /dev/sda7 je toekomstige versleutelde logische schijf;
* -v verbalisation;
* -y wachtwoordzin;
* -c selectie van het versleutelingsalgoritme;
* -s grootte van de versleutelingssleutel;
* -h hashing-algoritme/cryptofunctie, gebruikt door de RNG (--use-urandom) voor het genereren van een unieke versleutelings-/ontsleutelingssleutel voor de header van de logische schijf, secundaire sleutel van de header (XTS); unieke hoofd sleutel die is opgeslagen in de versleutelde header van de schijf, secundaire XTS-sleutel, al deze metadata en de versleutelingssubroutine die met behulp van de hoofd sleutel en secundaire XTS-sleutel gegevens op de partitie versleutelt/ontsleutelt (behalve de header van de partitie) worden opgeslagen in ~3MB op de geselecteerde harde schijfpartitie.
* -i iteraties in milliseconden, in plaats van 'aantal' (vertraging in de tijd bij het verwerken van het wachtwoord, heeft invloed op de opstarttijd van het besturingssysteem en de cryptografische sterkte van de sleutels). Om de balans van cryptografische sterkte te behouden bij een eenvoudig wachtwoord zoals 'russian', moet de waarde van -(i) worden verhoogd, bij een complex wachtwoord zoals '?8dƱob/øfh' kan de waarde worden verlaagd.
* —use-urandom willekeurige getallengenerator die sleutels en zout genereert.
Na het koppelen van de partitie sda7 > sda7_crypt (de operatie is snel, aangezien er een versleutelde header met metadata van ~3 MB wordt aangemaakt en dat is het), moet het bestandssysteem sda7_crypt worden geformatteerd en gemonteerd.
B2.3. Koppelen
cryptsetup open /dev/sda7 sda7_crypt
# het uitvoeren van deze opdracht vraagt om het invoeren van een geheime wachtwoordzin.
opties:
* open -koppel de partitie 'met naam';
* /dev/sda7 - logische schijf;
* sda7_crypt - de naam die wordt gebruikt om de versleutelde partitie te monteren of deze tijdens het opstarten van het besturingssysteem te initialiseren.
B2.4. Formatteren van het bestandssysteem sda7_crypt naar ext4. De schijf in het besturingssysteem monteren(Opmerking: in Gparted is het niet mogelijk om met een versleutelde partitie te werken)
#форматирование блочного шифрованного устройства
mkfs.ext4 -v -L DebSHIFR /dev/mapper/sda7_crypt
opties:
* -v - verbalisatie;
* -L - schijflabel (dat in de verkenner wordt weergegeven tussen andere schijven).
Vervolgens moet het virtueel-versleutelde blokapparaat /dev/sda7_crypt in het systeem worden aangekoppeld
mount /dev/mapper/sda7_crypt /mntWerken met bestanden in de map /mnt zal automatisch de gegevens in sda7 versleutelen/ontsleutelen.
Het is handiger om de partitie in de verkenner te koppelen (nautilus/caja GUI), de partitie staat al in de lijst met schijfkeuzes, je hoeft alleen maar de wachtwoordzin in te voeren om de schijf te openen/ontsleutelen. De gekoppelde naam zal automatisch worden gekozen en zal niet 'sda7_crypt' zijn, maar iets als /dev/mapper/Luks-xx-xx…
B2.5. Back-up van de schijfheader (metadata ~3MB)Een van de meest belangrijke De handeling die je moet uitvoeren zonder uitstel — maak een back-up van de koptekst «sda7_crypt». Als de koptekst wordt overschreven/bedorven (bijvoorbeeld door GRUB2 in de partitie sda7 te installeren, enz.), zullen de versleutelde gegevens voorgoed verloren zijn zonder enige mogelijkheid om ze te herstellen, omdat het onmogelijk zal zijn om dezelfde unieke sleutels opnieuw te genereren.
#Бэкап заголовка раздела
cryptsetup luksHeaderBackup --header-backup-file ~/Бэкап_DebSHIFR /dev/sda7
#Восстановление заголовка раздела
cryptsetup luksHeaderRestore --header-backup-file <file> <device> opties:
* luksHeaderBackup —header-backup-file -back-upcommando;
* luksHeaderRestore —header-backup-file -herstelcommando;
* ~\/Back-up_DebSHIFR — back-up bestand;
* \/dev\/sda7 -partitie waarvan de back-up van de versleutelde schijfkoptekst moet worden opgeslagen.
Deze stap <creatie en bewerking van een versleutelde partitie> is voltooid.
B3. Migratie van GNU\/Linux-systeem (sda4) naar de versleutelde partitie (sda7)
Maak de map \/mnt2 (Opmerking — we werken nog steeds met een live usb, in de map \/mnt is sda7_crypt gemonteerd), en monteer ons GNU\/Linux in \/mnt2, dat versleuteld moet worden.
mkdir \/mnt2
mount \/dev\/sda4 \/mnt2
Voer een correcte migratie van het systeem uit met behulp van Rsync-software
rsync -avlxhHX --progress \/mnt2\/ \/mntDe opties van Rsync zijn beschreven in sectie E1.
Vervolgens, is noodzakelijk voer een defragmentatie van de partitie van de logische schijf uit
e4defrag -c \/mnt\/ #na controle zal e4defrag aangeven dat de graad van defragmentatie van de partitie~"0" is, dit is een misverstand dat je aanzienlijke prestatieverliezen kan kosten!
e4defrag \/mnt\/ #voeren de defragmentatie van de versleutelde GNU\/Linux uit Neem als regel: voer e4defrag op versleutelde GNU\/Linux van tijd tot tijd uit als je een HDD hebt.
De migratie en synchronisatie [GNU\/Linux > versleutelde GNU\/Linux] is op deze stap voltooid.
V4. Configuratie van GNU\/Linux op de versleutelde partitie sda7
Na een succesvolle migratie van het systeem \/dev\/sda4 > \/dev\/sda7 moet je in GNU\/Linux op de versleutelde partitie inloggen en verdere configuratie uitvoeren (zonder de pc opnieuw op te starten) met betrekking tot het versleutelde systeem. Dat wil zeggen, je bevindt je in de live usb, maar uitvoer de commando's "ten opzichte van de root van het versleutelde systeem". Dit kan worden gesimuleerd met "chroot". Om snel informatie te verkrijgen over welk systeem je op dat moment gebruikt (of het versleuteld is of niet, aangezien de gegevens in sda4 en sda7 zijn gesynchroniseerd), desynchroniseer de systemen. Maak in de rootdirectories (sda4\/sda7_crypt) lege markerbestanden, zoals \/mnt\/versleuteldSYSTEEM en \/mnt2\/ontsleuteldSYSTEEM. Een snelle controle van in welk systeem je je bevindt (ook voor de toekomst):
ls \/<Tab-Tuzes>B4.1. «Simulatie van toegang tot versleuteld besturingssysteem»
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
B4.2. Controle of de werking plaatsvindt in het kader van het versleutelde systeem
ls /mnt
#en we zien het bestand "/versleuteldOS"
history
#in de terminaloutput zou de geschiedenis van de commando's su van het actieve besturingsysteem moeten verschijnen.B4.3. Creëren/configureren van versleutelde swap, bewerken crypttab/fstabAangezien het swapbestand bij elke start van het besturingssysteem wordt geformatteerd, heeft het geen zin om swap nu te creëren en te koppelen aan de logische schijf, en om de commando's in te voeren zoals in p.B2.2. Voor swap zullen bij elke start automatisch nieuwe tijdelijke versleutels worden gegenereerd. De levenscyclus van de swap-keys: ontkoppeling/deactivering van de swap-partitie (+clearen van RAM); of herstarten van het besturingssysteem. Configuratie van swap, open het bestand dat verantwoordelijk is voor de configuratie van blokversleutelde apparaten (analoog van fstab-bestand, maar verantwoordelijk voor cryptografie).
nano /etc/crypttab bewerk
#«target name» «source device» «key file» «options»
swap /dev/sda8 /dev/urandom swap,cipher=twofish-xts-plain64,size=512,hash=sha512
Opties
* swap - gekoppelde naam bij versleuteling /dev/mapper/swap.
* /dev/sda8 - gebruik uw logische partitie voor swap.
* /dev/urandom - generator van willekeurige versleutels voor swap (bij elke nieuwe opstart van het besturingssysteem — nieuwe sleutels worden aangemaakt). De generator /dev/urandom is minder willekeurig dan /dev/random, aangezien /dev/random wordt gebruikt in risicovolle paranoïde omstandigheden. Bij opstarten vertraagt /dev/random de opstart met een paar ± minuten (zie systemd-analyze).
* swap,cipher=twofish-xts-plain64,size=512,hash=sha512: - de partitie weet dat het swap is en wordt 'desondanks' geformatteerd; versleutelingsalgoritme.
#Открываем и правим fstab
nano /etc/fstab
bewerk
# swap was on /dev/sda8 during installation
/dev/mapper/swap none swap sw 0 0
/dev/mapper/swap -имя , которое задали в crypttab.
Alternatieve versleutelde swap
Als u om welke reden dan ook niet een hele partitie voor het swapbestand wilt gebruiken, kunt u de alternatieve en betere weg kiezen: het creëren van een swapbestand in een bestand op de versleutelde partitie met het besturingssysteem.
fallocate -l 3G /swap # aanmaken van een bestand van 3GB (bijna onmiddellijke bewerking)
chmod 600 /swap # instellen van rechten
mkswap /swap # maak een swapbestand van het bestand
swapon /swap # schakel uw swap in
free -m # controleer of het swapbestand is geactiveerd en werkt
printf "/swap none swap sw 0 0" >> /etc/fstab # indien nodig wordt de swap na herstart permanentConfiguratie van de swappartitie is voltooid.
B4.4. Configuratie van versleuteld GNU/Linux (bewerking van bestanden crypttab/fstab)Het bestand /etc/crypttab, zoals hierboven geschreven, beschrijft versleutelde blokapparaten die tijdens de systeemopstart worden ingesteld.
#правим /etc/crypttab
nano /etc/crypttab
als je de partitie sda7>sda7_crypt hebt gematcht zoals in par. B2.1
# «target name» «source device» «key file» «options»
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks
als je de partitie sda7>sda7_crypt hebt gematcht zoals in par. B2.2
# «target name» «source device» «key file» «options»
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512
als je de partitie sda7>sda7_crypt hebt gematcht zoals in par. B2.1 of B2.2, maar je wilt geen wachtwoord invoeren voor het ontgrendelen en opstarten van het OS, dan kun je in plaats van een wachtwoord een geheime sleutel/random bestand gebruiken
# «target name» «source device» «key file» «options»
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks
Omschrijving
* none - geeft aan dat bij het opstarten van het OS, het invoeren van een geheime wachtzin vereist is voor het ontgrendelen van de root.
* UUID - partitie-identificator. Om je identificator te achterhalen typ je in de terminal (ter herinnering, dat je de hele tijd en daarna in de terminal werkt in een chroot-omgeving, en niet in een andere live usb-terminal).
fdisk -l # controleer alle partitites
blkid # moet iets dergelijks zijn
/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»
deze regel is zichtbaar bij het aanvragen van blkid vanuit de live usb-terminal wanneer sda7_crypt is gemount).
UUID neem je precies van jouw sdaX (niet sdaX_crypt!, UUID sdaX_crypt - valt automatisch weg bij het genereren van de config grub.cfg).
* cipher=twofish-xts-plain64,size=512,hash=sha512 - luks versleuteling in uitgebreide modus.
* /etc/skey - geheime bestandssleutel, die automatisch wordt gebruikt voor het ontgrendelen van het opstarten van het OS (in plaats van het invoeren van een 3e wachtwoord). Het bestand kan elk bestand tot 8MB zijn, maar de gegevens zullen worden gelezen <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
Het zal er ongeveer zo uitzien:
(maak het zelf en je zult het zien).
cryptsetup luksKillSlot /dev/sda7 7 # verwijder sleutel/wachtwoord uit slot 7/etc/fstab содержит описательную информацию о различных файловых системах.
#Правим /etc/fstab
nano /etc/fstab
# «file system» «mount poin» «type» «options» «dump» «pass»
# / was on /dev/sda7 during installation
/dev/mapper/sda7_crypt / ext4 errors=remount-ro 0 1
optie
* /dev/mapper/sda7_crypt - de naam van de mapping sda7>sda7_crypt, die in het bestand /etc/crypttab is opgegeven.
Configuratie van crypttab/fstab is voltooid.
B4.5. Configuratiebestanden bewerken. SleutelpuntB4.5.1. Configuratie van /etc/initramfs-tools/conf.d/resume bewerken
#Если у вас ранее был активирован swap раздел, отключите его.
nano /etc/initramfs-tools/conf.d/resume
en commentaar op (indien aanwezig) «#» regel «resume». Het bestand moet volledig leeg zijn.
B4.5.2. Configuratie van /etc/initramfs-tools/conf.d/cryptsetup bewerken
nano /etc/initramfs-tools/conf.d/cryptsetupmoet overeenkomen met
# /etc/initramfs-tools/conf.d/cryptsetup
CRYPTSETUP=yes
export CRYPTSETUP
B4.5.3. Configuratie van /etc/default/grub bewerken (deze configuratie is verantwoordelijk voor de generatie van grub.cfg bij het werken met een versleutelde /boot)
nano /etc/default/grub voeg de regel «GRUB_ENABLE_CRYPTODISK=y» toe
waarde ‘y’, grub-mkconfig en grub-install zullen controleren op versleutelde schijven en extra commando's genereren die nodig zijn voor toegang during boot (insmod's <cryptomount/set root>).
er moet een gelijkenis zijn
GRUB_DEFAULT=0
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=vendor"
GRUB_CMDLINE_LINUX="quiet splash noautomount"
GRUB_ENABLE_CRYPTODISK=y
B4.5.4. Configuratie bewerken /etc/cryptsetup-initramfs/conf-hook
nano /etc/cryptsetup-initramfs/conf-hook Controleer of de regel is gecommentarieerd .
In de toekomst (en zelfs nu al zal deze parameter geen betekenis hebben, maar soms verhindeert hij het bijwerken van de initrd.img afbeelding).
B4.5.5. Configuratie bewerken /etc/cryptsetup-initramfs/conf-hook
nano /etc/cryptsetup-initramfs/conf-hooktoevoegen
KEYFILE_PATTERN="/etc/skey"
UMASK=0077
Dit verpakt de geheime sleutel "skey" in initrd.img, de sleutel is nodig om de root te ontgrendelen bij het opstarten van het OS (als je niet opnieuw een wachtwoord wilt invoeren, wordt automatisch de sleutel "skey" ingevoegd).
B4.6. Bijwerken /boot/initrd.img [versie]Om de geheime sleutel in initrd.img te verpakken en de cryptsetup-aanpassingen toe te passen, updaten we de afbeelding
update-initramfs -u -k all bij het bijwerken van initrd.img (zoals men zegt "Misschien, maar dat is niet zeker") er kunnen waarschuwingen verschijnen met betrekking tot cryptsetup, of bijvoorbeeld een melding over het verlies van Nvidia-modules — dit is normaal. Controleer na het bijwerken van het bestand of het daadwerkelijk is bijgewerkt, zie op tijd (met betrekking tot chroot omgeving./boot/initrd.img). Let op! voordat je [update-initramfs -u -k all] uitvoert, moet je controleren of cryptsetup open /dev/sda7 sda7_crypt — dit is de naam die moet worden vermeld in /etc/crypttab, anders ontstaat er een busybox-fout na reboot)
Op deze stap is de configuratie van de configuratiebestanden voltooid.
[C] Installatie en configuratie van GRUB2/Beveiliging
C1. Formatteer zo nodig de toegewezen partitie voor de bootloader (de partitie hoeft minimaal 20 MB te zijn)
mkfs.ext4 -v -L GRUB2 /dev/sda6C2. Montager /dev/sda6 in /mntOmdat we in chroot werken, zal de root geen map /mnt2 hebben, en de map /mnt zal leeg zijn.
de GRUB2-partitie monteren
mount /dev/sda6 /mntAls je een oude versie van GRUB2 hebt, ontbreken in de map /mnt/boot/grub/i-386-pc (er kan een ander platform zijn, bijvoorbeeld niet "i386-pc") cryptomodules ontbreken (kortom, de map moet modules bevatten, inclusief deze .mod: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod), in dat geval moet GRUB2 worden vernieuwd.
apt-get update
apt-get install grub2
Belangrijk! Tijdens de update van het GRUB2-pakket uit de repository, moet je op de vraag "waar te installeren" afzien van installatie (reden — poging om GRUB2 te installeren in "MBR" of op live usb)Anders beschadigt u de header/loader van VeraCrypt. Na het bijwerken van de GRUB2-pakketten en het annuleren van de installatie, moet de bootloader handmatig op de logische schijf worden geïnstalleerd, en niet in de 'MBR'. Als er een verouderde versie van GRUB2 in uw repository staat, probeer dan het vanaf de officiële website - niet gecontroleerd (werkte met recente bootloaders GRUB 2.02 ~BetaX).
C3. Installatie van GRUB2 op de uitgebreide partitie [sda6]U moet de partitie [p.C.2] gemount hebben
grub-install --force --root-directory=/mnt /dev/sda6 opties
* —force - installeert de bootloader en omzeilt alle waarschuwingen die vrijwel altijd aanwezig zijn en de installatie blokkeren (verplichte vlag).
* —root-directory - stelt de map in als de root van sda6.
* /dev/sda6 - uw sdaX-partitie (vergeet de tussen /mnt /dev/sda6 niet).
C4. Aanmaken van de configuratiebestanden [grub.cfg]Vergeet het commando 'update-grub2', en gebruik het volledige commando voor het genereren van het configuratiebestand
grub-mkconfig -o /mnt/boot/grub/grub.cfg na het afsluiten van de generatie/update van het grub.cfg-bestand, moeten in de terminal regels verschijnen met gevonden OS op de schijf ('grub-mkconfig' kan ook een OS van een live usb vinden en oppakken, als u een multiboot USB-stick met Windows 10 en een aantal live distributies heeft - dat is normaal). Als de terminal 'leeg' is, is het bestand 'grub.cfg' niet gegenereerd, dan is dit het geval waarin er fouten in het GRUB-systeem zijn (en waarschijnlijk is de bootloader uit de testversie van de repository), herinstalleer GRUB2 uit betrouwbare bronnen.
De installatie van de 'eenvoudige configuratie' en de instelling van GRUB2 is voltooid.
C5. Proof-test van het versleutelde OS GNU/LinuxCorrecte afsluiting van de cryptomissie. Verlaat voorzichtig de versleutelde GNU/Linux (uit de chroot-omgeving).
umount -a #ontkoppel alle gemonteerde partities van de versleutelde GNU/Linux
Ctrl+d #verlaat de chroot-omgeving
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount -a #ontkoppel alle gemonteerde partities op de live usb
reboot Na het opnieuw opstarten van de pc zou de bootloader van VeraCrypt moeten opstarten.

*Wachtwoord invoeren voor de actieve partitie - de opstart van het OS Windows begint.
*Het indrukken van de toets 'Esc' geeft de controle terug aan GRUB2; bij het kiezen van de versleutelde GNU/Linux is het wachtwoord (sda7_crypt) nodig om /boot/initrd.img te ontgrendelen (als grub2 'uuid niet gevonden' schrijft - dan is dit een probleem met de bootloader grub2, deze moet worden herinstalled, bijvoorbeeld vanuit de testversie/stabiele en etc.).

*Afhankelijk van hoe u het systeem hebt ingesteld (zie p.B4.4/4.5) is na correcte invoer van het wachtwoord voor het ontgrendelen van de afbeelding /boot/initrd.img een wachtwoord vereist voor het opstarten van de kernel/root OS, of wordt automatisch de geheime sleutel «skey» ingevuld, waardoor opnieuw invoeren van de wachtzin overbodig wordt.

(screenshot «automatische invulling van de geheime sleutel»).
*Daarna volgt het bekende opstartproces van GNU/Linux met authentificatie van de gebruikersaccount.

*Na de autorisatie van de gebruiker en het inloggen op het OS, moet /boot/initrd.img opnieuw worden bijgewerkt. (zie V4.6).
update-initramfs -u -k allEn in het geval van overtollige regels in het GRUB2-menu (vanuit het OS met live usb) verwijder ze
mount /dev/sda6 /mnt
grub-mkconfig -o /mnt/boot/grub/grub.cfg
Korte samenvatting over de systeemversleuteling van GNU/Linux:
- GNU/Linux is volledig versleuteld, inclusief /boot/kernel en initrd;
- de geheime sleutel is verpakt in initrd.img;
- het huidige autorisatieschema (invoer van het wachtwoord voor het ontgrendelen van initrd; wachtwoord/sleutel voor het opstarten van het OS; autorisatiewachtwoord voor de Linux-account).
«Eenvoudige configuratie van GRUB2» systeemversleuteling van het blokgedeelte is voltooid.
C6. Geavanceerde configuratie van GRUB2. Bescherming van de bootloader met digitale handtekening + bescherming door authentificatie.GNU/Linux is volledig versleuteld, maar de bootloader kan niet worden versleuteld – deze voorwaarde wordt opgelegd door de BIOS. Om deze reden is ketenversleuteld opstarten van GRUB2 niet mogelijk, maar eenvoudig keten-opstarten is mogelijk/beschikbaar, wat betreft beveiliging is het niet nodig [zie P. F].
Voor de «kwetsbare» GRUB2 hebben de ontwikkelaars een algoritme voor de bescherming van de bootloader geïmplementeerd «met handtekening/authenticatie».
- Bij de bescherming van de bootloader «met uw digitale handtekening» zal elke externe wijziging van bestanden of het proberen te laden van aanvullende modules in deze bootloader leiden tot blokkering van het opstartproces.
- Bij de bescherming van de bootloader door middel van authenticatie is het vereist om een gebruikersnaam en wachtwoord van de supergebruiker-GRUB2 in te voeren voor het kiezen van welke distributie te starten of het invoeren van extra commando's in de CLI.
C6.1. Bescherming van de bootloader door middel van authenticatie.Zorg ervoor dat u in de terminal werkt in het versleutelde OS.
ls / #om het markeringsbestand te ontdekken.maak een supergebruikerswachtwoord aan voor authenticatie in GRUB2.
grub-mkpasswd-pbkdf2 #voer het supergebruikerswachtwoord in/herhaal het. Ontvang de wachtwoordhash. Iets wat hierop lijkt.
grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
Grub-partitie koppelen
mount /dev/sda6 /mnt Configuratie bewerken
nano -$ /mnt/boot/grub/grub.cfg Controleer in het bestand of er ergens 'grub.cfg' vlaggen aanwezig zijn (» —unrestricted» «—user»,
voeg aan het einde toe (voor de regel ### END /etc/grub.d/41_custom ###)
«set superusers=»root»
password_pbkdf2 root hash.
Het moet ongeveer zo zijn
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the ‘exec tail’ line above.
### END /etc/grub.d/40_custom ###### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z «${config_directory}» -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
set superusers=«root»
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### END /etc/grub.d/41_custom ###
#
Als je vaak het commando 'grub-mkconfig -o /mnt/boot/grub/grub.cfg' gebruikt en niet elke keer wijzigingen wilt aanbrengen in grub.cfg, voeg dan de bovengenoemde regels toe (gebruikersnaam/wachtwoord) aan het gebruikersscript van GRUB onderaan
nano /etc/grub.d/41_custom cat << EOF
set superusers=«root»
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF
Bij het genereren van de configuratie 'grub-mkconfig -o /mnt/boot/grub/grub.cfg' worden de regels voor authenticatie automatisch aan grub.cfg toegevoegd.
Deze stap voltooit de configuratie van GRUB2-authenticatie.
C6.2. Beveilig de bootloader met een digitale handtekeningEr wordt aangenomen dat je al je persoonlijke versleutelingspgp-sleutel hebt (of maak een dergelijke sleutel aan). De cryptografische software moet in het systeem zijn geïnstalleerd: gnuPG; kleopatra/GPA; Seahorse. Crypto-SW zal je leven aanzienlijk vergemakkelijken bij zulke zaken. Seahorse - stabiele versie van het pakket 3.14.0 (hogere versies, bijvoorbeeld V3.20 - incompleet en heeft aanzienlijke bugs).
De PGP-sleutel moet alleen in de su-omgeving worden gegenereerd/start/ toegevoegd!
Genereer een persoonlijke versleutelsleutel
gpg --gen-keyExporteer je sleutel
gpg --export -o ~/perskeyKoppel de logische schijf in het OS als het nog niet is gekoppeld
mount /dev/sda6 /mnt #sda6 – grub2-partitieMaak de grub2-partitie schoon
rm -rf /mnt/Installeer GRUB2 op sda6, waarbij je je persoonlijke sleutel in het hoofdimage van GRUB 'core.img' plaatst
grub-install --force --modules="gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" -k ~/perskey --root-directory=/mnt /dev/sda6 opties
* --force -installeert de bootloader en omzeilt alle waarschuwingen die er altijd zijn (verplichte vlag).
* --modules="gcry_sha256 gcry_sha512 signature_test gcry_dsa gcry_rsa" -beveelt GRUB2 om de benodigde modules vooraf te laden tijdens het opstarten van de pc.
* -k ~/perskey -pad naar de 'PGP-sleutel' (na het verpakken van de sleutel in de afbeelding, kan deze worden verwijderd).
* —root-directory - installatie van de bootmap in de root van sda6
/dev/sda6 -ваш sdaХ раздел.
Genereer/update grub.cfg
grub-mkconfig -o /mnt/boot/grub/grub.cfgVoeg aan het einde van het bestand «grub.cfg» de regel «trust /boot/grub/perskey» toe (dwing gebruik van de pgp-sleutel af.) Aangezien we GRUB2 met een set modules hebben geïnstalleerd, waaronder de handtekeningmodule «signature_test.mod», hoeft de configuratie geen commando's zoals «set check_signatures=enforce» toe te voegen.
Het zou er ongeveer zo uit moeten zien (eindregels in het bestand grub.cfg)
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z «${config_directory}» -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
trust /boot/grub/perskey
set superusers=«root»
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### END /etc/grub.d/41_custom ###
#
De pad naar «/boot/grub/perskey» hoeft niet naar een specifieke schijfpartij te verwijzen, bijvoorbeeld hd0,6; voor de bootloader is de «root» de standaard pad naar de sectie waarop GRUB2 is geïnstalleerd (zie set rot=..).
Handteken GRUB2 (alle bestanden in alle directory's /GRUB) met uw sleutel «perskey».
Een eenvoudige oplossing om te ondertekenen (voor de bestandsbeheerder nautilus/caja): installeer de extensie «seahorse» voor de bestandsbeheerder vanuit de repository. De sleutel moet aan de su-omgeving zijn toegevoegd.
Open de bestandsbeheerder via sudo «/mnt/boot» – PCM – onderteken. Op de screenshot ziet het er als volgt uit

De sleutel «/mnt/boot/grub/perskey» (kopieer naar de grub-catalogus) moet ook met zijn eigen handtekening zijn ondertekend. Controleer of de handtekeningen van bestanden [*.sig] zijn verschenen in de map/submappen.
Volg de bovenstaande stappen om «/boot» te ondertekenen (onze kernel, initrd). Als uw tijd ergens voor staat, voorkomt deze methode dat u een bash-script moet schrijven voor het ondertekenen van «meerdere bestanden».
Om alle handtekeningen van de bootloader te verwijderen (als er iets misgaat)
rm -f $(find /mnt/boot/grub -type f -name '*.sig')Om te voorkomen dat de bootloader na systeemupdates wordt ondertekend, bevriezen we alle updatepakketten die betrekking hebben op GRUB2.
apt-mark hold grub-common grub-pc grub-pc-bin grub2 grub2-commonMet deze stap is <bescherming van de bootloader door digitale handtekening> de geavanceerde configuratie van GRUB2 voltooid.
C6.3. Bewijs-test van de bootloader GRUB2, beschermd door digitale handtekening en authenticatieGRUB2. Bij het selecteren van een bepaalde GNU/Linux-distributie of toegang tot de CLI (de opdrachtprompt) is supergebruikersautorisatie vereist. Na het invoeren van de juiste gebruikersnaam/wachtwoord is het wachtwoord voor initrd vereist

Screenshot, succesvolle authenticatie van de GRUB2-supergebruiker.
Als een van de GRUB2-bestanden wordt vervalst/wijzigingen in grub.cfg worden aangebracht, of een bestand/handtekening wordt verwijderd en een kwaadaardige module.mod wordt geladen, verschijnt de bijbehorende waarschuwing. De boot van GRUB2 wordt dan gepauzeerd.

Screenshot, poging om van buitenaf in GRUB2 in te grijpen.
Bij een 'normale' opstart zonder 'inbreuk' is de systeemstatus van de exitcode '0'. Daarom is het onbekend of de bescherming werkt of niet. (dat wil zeggen, 'met of zonder bootloaderbescherming door middel van ondertekening' is de status bij een normale opstart hetzelfde '0' - dit is slecht).
Hoe controleer je de bescherming door digitale ondertekening?
Een onhandige manier om te verifiëren: vervalsen/verwijderen van de gebruikte GRUB2-module, bijvoorbeeld het verwijderen van de handtekening luks.mod.sig en een foutmelding krijgen.
De juiste manier: toegang krijgen tot de CLI van de bootloader en het commando invoeren
trust_list Als antwoord moet je de vingerafdruk 'perskey' ontvangen, als de status '0' is, betekent dit dat de bescherming door ondertekening niet werkt, controleer p.C6.2.
Op dit punt is de uitgebreide configuratie van 'GRUB2 bescherming door digitale ondertekening en authenticatie' voltooid.
C7 Alternatieve methode voor de bescherming van de GRUB2-bootloader door middel van hashingDe bovenstaande methode 'Bescherming van de CPU-bootloader/authenticatie' is klassiek. Vanwege de onvolkomenheden van GRUB2 is deze in paranoia-omstandigheden kwetsbaar voor een echte aanval, die ik hieronder in p.[F] zal beschrijven. Bovendien moet na het updaten van het OS/kernel de bootloader opnieuw worden ondertekend.
Bescherming van de GRUB2-bootloader door middel van hashing
Voordelen ten opzichte van de klassieker:
- Hogere betrouwbaarheid (hashing/verificatie vindt alleen plaats met een versleutelde lokale bron. De gehele toegewezen partitie voor GRUB2 wordt gecontroleerd op elke wijziging, terwijl de rest versleuteld is; bij de klassieke methode met bescherming van de CPU-bootloader/authenticatie worden alleen bestanden gecontroleerd, maar niet de vrije ruimte waarin 'iets kwaads' kan worden toegevoegd).
- Versleutelde logging (in het schema wordt een leesbaar persoonlijk versleuteld logboek toegevoegd).
- Snelheid (de bescherming/verificatie van de gehele partitie toegewezen aan GRUB2 gebeurt vrijwel onmiddellijk).
- Automatisering van alle cryptografische processen.
Nadelen ten opzichte van de klassieker.
- Vervalsing van de handtekening (theoretisch is het mogelijk om een gegeven botsing in de hashfunctie te vinden).
- Verhoogd niveau van complexiteit (vergeleken met de klassiekere vereist het iets meer vaardigheden in GNU/Linux).
Hoe werkt het idee van hashing GRUB2/partitie?
Het 'GRUB2' gedeelte wordt ondertekend, bij het opstarten van het besturingssysteem wordt er gecontroleerd op wijzigingen in het opstartgedeelte met daaropvolgende logging in een veilige (versleutelde) omgeving. In het geval van compromittering van de bootloader of zijn gedeelte, wordt naast de indringingslog ook dit geïnitieerd
Een ding.
Vier keer per dag wordt er een soortgelijke controle uitgevoerd, die de systeembronnen niet belast.
Met het commando '-$ controle_GRUB' kan op elk moment een onmiddellijke controle plaatsvinden zonder logging, maar met informatie-uitvoer naar de CLI.
Met het commando '-$ sudo ondertekening_GRUB' wordt de GRUB2-bootloader/sectie onmiddellijk opnieuw ondertekend en wordt de bijgewerkte logging uitgevoerd (vereist na het bijwerken van het besturingssysteem/boot), en het leven gaat verder.
De implementatie van de hashingmethode voor de bootloader en zijn sectie
0) Laten we de bootloader/weergave GRUB ondertekenen, nadat we deze hebben aangekoppeld in /media/gebruikersnaam
-$ hashdeep -c md5 -r /media/gebruikersnaam/GRUB > /ondertekening.txt1) We maken een script zonder extensie in de root van het versleutelde besturingssysteem ~/ondertekening, geven het de juiste rechten 744 secuur en bescherming tegen 'domheid'.
We vullen de 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'
fiWe voeren het script uit vanaf su, er vindt een hashingcontrole van het GRUB-gedeelte en zijn bootloader plaats, log wordt opgeslagen.
Laten we een 'kwaadaardig bestand' [virus.mod] bijvoorbeeld naar het GRUB2-gedeelte kopiëren en een tijdelijke controle/test uitvoeren:
-$ hashdeep -vvv -a -k '/ondertekening.txt' -r '/media/gebruikersnaam/GRUBIn de CLI zouden we de indringing in onze -citadel- moeten zien#Урезанный лог в CLI
Woensdag 2 jan 11:41 MSK 2020
/media/gebruikersnaam/GRUB/boot/grub/virus.mod: Verplaatst vanaf /media/gebruikersnaam/GRUB/1nononoshifr
/media/gebruikersnaam/GRUB/boot/grub/i386-pc/mda_text.mod: Ok
/media/gebruikersnaam/GRUB/boot/grub/grub.cfg: Ok
hashdeep: Audit mislukt
Ingevoerde bestanden gecontroleerd: 0
Bekende bestanden verwacht: 0
Bestanden overeenkomend: 325
Bestanden gedeeltelijk overeenkomend: 0
Bestanden verplaatst: 1
Nieuwe bestanden gevonden: 0
Bekende bestanden niet gevonden: 0 #как видим появилось «Files moved: 1 и Audit failed» означает, что проверка не прошла.
Vanwege de eigenaardigheden van het te testen gedeelte in plaats van 'Nieuwe bestanden gevonden' > 'Bestanden verplaatst'
2) We plaatsen een gif hier > ~/waarschuwing.gif, stellen rechten in op 744.
3) We configureren fstab om het GRUB-gedeelte automatisch te monteren bij opstarten
-$ sudo nano /etc/fstabLABEL=GRUB /media/gebruikersnaam/GRUB ext4 defaults 0 0
4) We voeren logrotatie uit
-$ sudo nano /etc/logrotate.d/ondertekening /var/log/podpis.txt {
dagelijks
rotatie 50
grootte 5M
datumext
compress
vertragingcompress
olddir /var/log/oud
}/var/log/vtorjenie.txt {
maandelijks
rotatie 5
grootte 5M
datumext
olddir /var/log/oud
}
5) We voegen een taak toe aan cron
-$ sudo crontab -e'/ondertekening'
0 */6 * * * '/ondertekening
6) We creëren permanente aliassen
-$ sudo su
-$ echo "alias ondertekening_GRUB='hashdeep -c md5 -r /media/gebruikersnaam/GRUB > /ondertekening.txt'" >> /root/.bashrc && bash
-$ echo "alias controle_GRUB='hashdeep -vvv -a -k '/ondertekening.txt' -r /media/gebruikersnaam/GRUB'" >> .bashrc && bash
Na het bijwerken van het besturingssysteem -$ apt-get upgrade ondertekenen we opnieuw ons GRUB-gedeelte
-$ ondertekening_GRUB
Op deze stap is de beveiliging van de GRUB-sectie door hashing voltooid.
[D] Schoonmaken - vernietigen van onversleutelde gegevens
Verwijder je persoonlijke bestanden zo volledig dat "zelfs God ze niet kan lezen", volgens de vertegenwoordiger van South Carolina, Trey Gowdy.
Zoals gewoonlijk zijn er verschillende "mythen en ", over het herstel van gegevens na verwijdering van de harde schijf. Als je gelooft in cyber-mythologie of een lid bent van de Dr web gemeenschap en nooit hebt geprobeerd gegevens te herstellen na verwijdering/overschrijven (bijvoorbeeld herstel met R-studio), dan is de voorgestelde methode waarschijnlijk niet geschikt voor jou, gebruik wat dichter bij je staat.
Na een succesvolle overschakeling van GNU/Linux naar een versleutelde sectie, moet de oude kopie worden verwijderd zonder mogelijkheid tot gegevensherstel. Een universele reinigingsmethode: software voor Windows/Linux gratis GUI-software. .
Snel formatteer de sectie, de gegevens waarvan moeten worden vernietigd (met behulp van Gparted), start BleachBit, kies 'Vrije ruimte schoonmaken' - selecteer de sectie (jouw sdaX met de vorige kopie van GNU/Linux), het opruimproces zal starten. BleachBit - veegt de schijf in één doorgang - dat is wat "we nodig hebben", maar! zo werkt het alleen in theorie, als je de schijf hebt geformatteerd en schoon hebt gemaakt in BB v2.0 software.
Let op! BB veegt de schijf, terwijl metadata, bestandsnamen bij gegevensverwijdering worden behouden (Ccleaner laat geen metadata achter).
En de mythe van de mogelijkheid om gegevens te herstellen is niet helemaal een mythe.Bleachbit V2.0-2 was een instabiele pakket van de OS Debian (en elke andere soortgelijke software: sfill; wipe-Nautilus - zijn ook opgemerkt in deze vuile zaak) had in werkelijkheid een kritieke fout: de functie "vrije ruimte schoonmaken" werkt niet correct op HDD/USB-sticks (ntfs/ext4).Software van dit soort overschrijft bij het opruimen van vrije ruimte niet de gehele schijf, zoals veel gebruikers denken. En sommige (veel) verwijderde gegevens worden door het OS/software als niet-verwijderd/gebruiker beschouwd en worden bij het opruimen van "OV" overgeslagen. Het probleem is dat na zo'n langdurige opruiming van de schijf "verwijderde bestanden" kunnen worden hersteld zelfs na 3+ doorgangen van de schijfveging.
Op GNU/Linux in Bleachbit 2.0-2 de functies voor het onherroepelijk verwijderen van bestanden en mappen werken betrouwbaar, maar het opruimen van vrije ruimte niet. Ter vergelijking: op Windows werkt de functie "OSP voor ntfs" in de software CCleaner goed, en zelfs God kan de verwijderde gegevens werkelijk niet lezen.
Dus, om grondig te verwijderen "gecompromitteerde" oude niet-versleutelde gegevens, is directe toegang van Bleachbit tot deze gegevens nodig, en vervolgens de functie "bestanden/mappen onherroepelijk verwijderen" gebruiken.
Voor het verwijderen van "verwijderde bestanden met de standaard hulpmiddelen van het besturingssysteem" in Windows, gebruik CCleaner/BB met de functie "OSP". In GNU/Linux moet je deze kwestie (verwijderen van verwijderde bestanden) zelf onder de knie krijgen (verwijderen van gegevens + zelf een poging tot herstel doen en vertrouw niet op de versie van de software (als het geen ingebouwde functie is, dan is het een bug)), alleen op die manier kun je de mechanismen van dit probleem begrijpen en voorgoed van de verwijderde gegevens afkomen.
Bleachbit v3.0 is niet getest, mogelijk is het probleem al opgelost.
Bleachbit v2.0 functioneert eerlijk.
Deze stap van het "schonen van de schijf" is voltooid.
[E] Universele back-up van versleutelde besturingssystemen
Elke gebruiker heeft zijn eigen methode voor het back-uppen van gegevens, maar versleutelde gegevens van "systeem OS" vereisen een iets andere benadering van de taak. Uniforme software, zoals "Clonezilla" en soortgelijke software, kan niet direct met versleutelde gegevens werken.
De opgave voor het back-uppen van versleutelde blokapparaten is:
- universaliteit - een gelijk algoritme/software voor back-up voor Windows/Linux;
- de mogelijkheid om met elke live USB GNU/Linux in de console te werken zonder dat er aanvullende software gedownload hoeft te worden (maar ik raad toch GUI aan);
- de veiligheid van back-ups - de opgeslagen "beelden" moeten versleuteld/wachtwoordbeveiligd zijn;
- de grootte van de versleutelde gegevens moet overeenkomen met de grootte van de daadwerkelijk te kopiëren gegevens;
- het gemak van het extraheren van benodigde bestanden uit de back-up (het ontbreken van de eis om eerst de hele partitie te ontsleutelen).
Bijvoorbeeld, back-up/herstel via de utility "dd"
dd if=/dev/sda7 of=/pad/sda7.img bs=7M conv=sync,noerror
dd if=/pad/sda7.img of=/dev/sda7 bs=7M conv=sync,noerrorHet voldoet aan bijna alle vereisten van de opdracht, maar punt 4 laat te wensen over, omdat het de hele schijfsectie kopieert, inclusief de lege ruimte - dat is niet interessant.
Bijvoorbeeld, een back-up van GNU/Linux via de archiver [tar» | gpg] is handig, maar voor een Windows-back-up moet je naar een andere oplossing zoeken - dat is niet interessant.
E1. Universele back-up voor Windows/Linux. Combinatie van rsync (Grsync) + VeraCrypt volume.Algoritme voor het maken van een back-up:
- creëren van een versleutelde container. (volume/bestand) VeraCrypt voor OS;
- overdracht/synchronisatie van OS met behulp van Rsync-software naar de cryptcontainer van VeraCrypt;
- indien nodig, het volume van VeraCrypt opstarten in www.
Het creëren van een versleutelde VeraCrypt-container heeft zijn eigen bijzonderheden:
creëren van een dynamisch volume. (dynamische volumeco-creatie is alleen beschikbaar in Windows, maar kan ook in GNU/Linux worden gebruikt.);
creëren van een standaard volume, maar er is een eis van 'paranoïde aard.' (volgens de ontwikkelaar.) - formattering van de container.
Een dynamisch volume wordt vrijwel onmiddellijk aangemaakt in Windows, maar bij het kopiëren van gegevens van GNU/Linux naar VeraCrypt DTV neemt de algehele prestatie van de back-upoperatie aanzienlijk af.
Een standaard volume Twofish van 70 GB wordt aangemaakt (zeg maar, op een gemiddelde pc.) op een HDD in ongeveer een halfuur. (heroverwriting van de vorige gegevens van de container in één doorgang, zoals opgelegd door de veiligheidsvereiste.) In VeraCrypt Windows/Linux is de functie voor snel formatteren van het volume bij creatie verwijderd, daarom kan een container alleen worden gecreëerd door 'een enkele overschrijving' of door het aanmaken van een weinig krachtige dynamische volume.
We creëren een standaard VeraCrypt-volume. (niet dynamisch/ntfs), er zouden geen problemen moeten optreden.
We configureren/maken/openen de container in VeraCrypt GUI > GNU/Linux live usb. (het volume wordt automatisch gemonteerd in /media/veracrypt2, het Windows OS-volume wordt gemonteerd in /media/veracrypt1.) We maken een versleutelde back-up van Windows OS met behulp van GUI rsync (grsync),door de vinkjes te plaatsen.

Wacht tot het proces is voltooid. Na afronding van de back-up hebben we één versleuteld bestand.
Op dezelfde manier een back-up van het GNU/Linux OS maken, door het vinkje in de GUI rsync 'compatibiliteit met Windows' uit te schakelen.
Let op! Maak de Veracrypt-container voor 'GNU/Linux back-up' in het bestandssysteem. procfsAls je een back-up maakt in een ntfs-container, verlies je alle rechten/groepen op al je gegevens bij het herstellen van die kopie.
Alle bewerkingen kunnen ook in de terminal worden uitgevoerd. De belangrijkste opties voor rsync:
* -g -groepen behouden;
* -P —progress — status van de tijd die aan het bestand wordt besteed;
* -H -hardlinks kopiëren zoals ze zijn;
* -a -archive mode (enkele vlaggen rlptgoD);
* -v -verbalisatie.
Als je de "Windows VeraCrypt volume" via de console in de software cryptsetup wilt koppelen, kun je een alias (su) aanmaken
echo "alias veramount='cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sdaX Windows_crypt && mount /dev/mapper/ Windows_crypt /media/veracrypt1'" >> .bashrc && bash
Nu zal het commando "veramount pictures" een verzoek om het wachtwoord genereren, en het versleutelde Windows systeemsysteemvolume zal worden gekoppeld aan het OS.
Koppelen/mounten van het Windows VeraCrypt volume in cryptsetup commando
cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sdaX Windows_crypt
mount /dev/mapper/Windows_crypt /mntKoppelen/mounten van de VeraCrypt partitie/container in cryptsetup commando
cryptsetup open --veracrypt --type tcrypt /dev/sdaY test_crypt
mount /dev/mapper/test_crypt /mntIn plaats van de alias voegen we (script in autostart) het systeemvolume met Windows OS en de logisch versleutelde NTFS-schijf toe aan de opstart van GNU/Linux
We maken een script en bewaren het 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 #de wachtwoord decoderen uit base64 (bob) en het aanbieden bij de wachtwordaanroep bij het mounten van het Windows systeemsysteem.
We geven de "juiste" rechten:
sudo chmod 100 /VeraOpen.shWe maken twee identieke bestanden (met dezelfde naam!) aan in /etc/rc.local en ~/etc/init.d/rc.local
We vullen de bestanden
#!/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 0We geven de "juiste" rechten:
sudo chmod 100 /etc/rc.local && sudo chmod 100 /etc/init.d/rc.local Nu hoeven we bij het opstarten van GNU/Linux geen wachtwoorden meer in te voeren voor het mounten van versleutelde NTFS-schijven, de schijven worden automatisch gemount.
Een korte opmerking over wat hierboven in p.E1 stap voor stap is beschreven (maar nu voor OS GNU/Linux)
1) Maak een volume in fs ext4 > 4gb (voor het bestand) Linux in Veracrypt [Crypto-box].
2) Herstart in live usb.
3) ~$ cryptsetup open /dev/sda7 Lunux #koppelen van de versleutelde partitie.
4) ~$ mount /dev/mapper/Linux /mnt #mounten van de versleutelde partitie in /mnt.
5) ~$ mkdir mnt2 #aanmaken van een map voor de toekomstige back-up.
6) ~$ cryptsetup open —veracrypt —type tcrypt ~/Crypto-box Crypto-box && mount /dev/mapper/Crypto-box /mnt2 #Koppelen van de Veracrypt volume met de naam "Crypto-box" en mounten van de Crypto-box in /mnt2.
7) ~$ rsync -avlxhHX —progress /mnt /mnt2/ #back-up operatie van de versleutelde partitie naar de versleutelde volume Veracrypt.
(p/s/ Let op! Als je een versleutelde GNU/Linux van de ene architectuur/machine naar een andere overzet, bijvoorbeeld van Intel > AMD (dat wil zeggen, een backup van de ene versleutelde schijf naar een andere versleutelde schijf Intel > AMD uitrolt), vergeet dan niet na de overdracht van het versleutelde besturingssysteem de geheime sleutel te wijzigen in plaats van het wachtwoord, omdat de vorige sleutel ~ /etc/skey - al niet meer geschikt is voor een andere versleutelde schijf, en het is ongewenst om een nieuwe sleutel te creëren via 'cryptsetup luksAddKey' vanuit chroot - er kan een glitch optreden, geef simpelweg in ~ /etc/crypttab tijdelijk 'none' op in plaats van '/etc/skey', na een herstart en inloggen in het besturingssysteem, maak je je geheime sleutel opnieuw aan).
Als veteranen in de IT vergeten we niet om aparte backups te maken van de headers van versleutelde schijven van de OS Windows/Linux, anders kan de versleuteling tegen jezelf terugkomen.
In deze stap is de backup van de versleutelde besturingssystemen voltooid.
[F] Aanval op de GRUB2 bootloader
DetailsAls je je bootloader hebt beschermd met een digitale handtekening en/of authenticatie (zie p.C6.), dan beschermt dit niet tegen fysieke toegang. De versleutelde data blijven nog steeds ontoegankelijk, maar de bescherming omzeilen (reset van de digitale handtekening) maakt het voor een cybercrimineel mogelijk om zijn code in de bootloader te injecteren zonder verdenking te wekken (tenzij de gebruiker handmatig de status van de bootloader controleert, of een eigen solide script voor grub.cfg bedenkt).
Aanval algoritme. De aanvaller
* Start de PC vanaf een live usb. Elke wijziging (door de overtreder) van bestanden zal de echte eigenaar van de PC waarschuwen voor een inbraak in de bootloader. Maar een eenvoudige herinstallatie van GRUB2 terwijl grub.cfg behouden blijft (en de mogelijkheid om het later te bewerken) maakt het voor de aanvaller mogelijk om elk bestand te bewerken (in dit geval, bij het opstarten van GRUB2, zal er geen waarschuwing naar de echte gebruiker komen. De status blijft hetzelfde )
* Bevestigt een niet-versleutelde schijf, bewaren ' /mnt/boot/grub/grub.cfg'.
* Herinstalleert de bootloader (en verwijdert 'perskey' uit het core.img beeld)
grub-install --force --root-directory=/mnt /dev/sda6 * Herstelt 'grub.cfg' > '/mnt/boot/grub/grub.cfg', bewerkt het indien nodig, bijvoorbeeld door zijn module 'keylogger.mod' toe te voegen aan de map met bootmodules, in 'grub.cfg' > regel 'insmod keylogger'. Of, bijvoorbeeld, als de vijand sluw is, dan na de herinstallatie van GRUB2 (blijven alle handtekeningen op hun plaats) Hij maakt de primaire GRUB2-image aan met "grub-mkimage met de optie (-c)." De optie "-c" maakt het mogelijk om je config te laden vóór de opstart van het hoofd "grub.cfg". De config kan bestaan uit slechts één regel: een doorverwijzing naar elke "modern.cfg", gemixt, bijvoorbeeld met ~400 bestanden. (modules+handtekeningen) in de map "/boot/grub/i386-pc". Hierbij kan de aanvaller willekeurige code invoegen en modules laden, zonder de "boot/grub/grub.cfg" aan te raken, zelfs als de gebruiker "hashsum" op het bestand heeft toegepast en het tijdelijk op het scherm presenteerde.
De aanvaller hoeft niet in te breken in de login/wachtwoord van de superuser GRUB2, hij hoeft alleen maar de regels te kopiëren. (verantwoordelijk voor de authenticatie) "/boot/grub/grub.cfg" naar zijn "modern.cfg".
set superusers=«root»
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
En voor de eigenaar van de PC blijft de authenticatie van de superuser GRUB2 van kracht.
Chainloading (een loader laadt een andere loader), zoals eerder genoemd, heeft geen zin. (het is voor een ander doel bestemd). Door BIOS kan een versleutelde loader niet worden geladen. (bij chainloading herstart GRUB2 > de versleutelde GRUB2, fout!). Maar als je toch het idee van chainloading wilt gebruiken, kan je erop vertrouwen dat precies de versleutelde loader wordt geladen. (niet gemoderniseerd) "grub.cfg" van de versleutelde partitie. En dit geeft ook een vals gevoel van veiligheid, omdat alles wat in de versleutelde "grub.cfg" staat, (het laden van modules) samenvalt met de modules die worden geladen vanuit de ongecodeerde GRUB2.
Als je dit wilt controleren, markeer/versleutel nog een partitie sdaY, kopieer GRUB2 naar die partitie. (de operatie grub-install op een versleutelde partitie is niet mogelijk) en in "grub.cfg" (ongecodeerde config) wijzig de regels zoals deze
menuentry 'GRUBx2' —class parrot —class gnu-linux —class gnu —class os $menuentry_id_option 'gnulinux-simple-382111a2-f993-403c-aa2e-292b5eac4780' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod cryptodisk
insmod luks
insmod gcry_twofish
insmod gcry_twofish
insmod gcry_sha512
insmod ext2
cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838
set root='cryptouuid/15c47d1c4bd34e5289df77bcf60ee838'
normal /boot/grub/grub.cfg
}
lijnen
* insmod -laadt de noodzakelijke modules voor het werken met de versleutelde schijf;
* GRUBx2 -de naam van de weergegeven regel in het GRUB2-opstartmenu;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 -zie fdisk -l (sda9);
* set root -instellen van de root;
* normal /boot/grub/grub.cfg -de uitvoerbare configuratiebestand op de versleutelde partitie.
Het vertrouwen dat precies de versleutelde "grub.cfg" wordt geladen, is een positieve reactie op het invoeren van het wachtwoord/ontgrendelen van "sdaY" bij het kiezen van de regel "GRUBx2" in het GRUB-menu.
Bij het werken in de CLI, om niet in de war te raken (en om te controleren of de omgevingsvariabele "set root" heeft gewerkt), maak lege markerbestanden aan, bijvoorbeeld in de versleutelde partitie "\/shifr_grub", en in de niet-versleutelde partitie "\/noshifr_grub". Controle in de CLI
cat \/Tab-TabZoals eerder opgemerkt, helpt dit niet tegen het laden van kwaadaardige modules, als dergelijke modules zich op uw pc bevinden. Bijvoorbeeld, een keylogger die toetsenbordinvoer opslaat in een bestand en mengt met andere bestanden in "~\/i386", totdat het door een aanvaller met fysieke toegang tot de pc wordt gedownload.
De eenvoudigste manier om te controleren of de bescherming van de digitale handtekening actief werkt (niet gereset), en dat niemand zich in de opstarter heeft genesteld, is om in de CLI het commando in te voeren
list_trusted als antwoord krijgen we een afbeelding van onze "perskey", of we krijgen niets als we zijn aangevallen (ook moet "set check_signatures=enforce" worden gecontroleerd).
Een significant nadeel van deze stap is het handmatig invoeren van commando's. Als je dit commando aan "grub.cfg" toevoegt en de configuratie beveiligt met een digitale handtekening, is de voorlopige uitvoer van de sleutelafbeelding op het scherm te kort in timing, en kan het zijn dat je niet genoeg tijd hebt om de uitvoer te zien, wat leidt tot het opstarten van GRUB2.
Er zijn niet echt klachten te richten: de ontwikkelaar verklaart in zijn par.18.2 officieel
„Let op dat zelfs met GRUB-wachtwoordbeveiliging, GRUB zelf niet kan voorkomen dat iemand met fysieke toegang tot de machine die machine's firmware (bijv. Coreboot of BIOS) configuratie wijzigt om de machine vanaf een ander (door de aanvaller gecontroleerd) apparaat te laten opstarten. GRUB is op zijn best slechts één schakel in een veilige opstartketen.“
GRUB2 is te overladen met functies die een gevoel van valse veiligheid kunnen bieden, en de ontwikkeling ervan is al verder gegaan in functionaliteit dan het besturingssysteem MS-DOS, terwijl het tenslotte slechts een opstarter is. Grappig genoeg kan GRUB2 –
Een korte video over hoe ik de bescherming van de digitale handtekening van GRUB2 heb opgeheven en mijn inbraak aan een echte gebruiker heb gemeld (ik maakte hem bang, en in plaats van wat in de video te zien is – kan ik niet onschadelijke willekeurige code/.mod schrijven).

Conclusies:
1) Bloksystemen versleuteling voor Windows is eenvoudiger te implementeren, en de bescherming met één wachtwoord is handiger dan met meerdere wachtwoorden bij bloksystemen versleuteling van GNU/Linux, ter rechtvaardiging: het laatste is geautomatiseerd.
2) Het artikel is geschreven als een relevant, gedetailleerd eenvoudige handleiding voor volledige schijfversleuteling VeraCrypt/LUKS op één thuiscomputer, die tot nu toe de beste is in het Nederlandse web (IMHO). In de handleiding > 50k tekens, daarom werden sommige interessante hoofdstukken niet behandeld: over cryptografen die verdwijnen/blijven in de schaduw; over het feit dat er in verschillende boeken over GNU/Linux weinig/niets wordt geschreven over cryptografie; over artikel 51 van de grondwet van de Russische Federatie; over /запрете , over waarom je de "root/boot" moet versleutelen. De handleiding is al behoorlijk groot, maar gedetailleerd (zelfs eenvoudige stappen beschrijvend), dit bespaart je een hoop tijd wanneer je met "echt versleutelen" aan de slag gaat.
3) Volledige schijfversleuteling heb ik uitgevoerd op Windows 7 64; GNU/Linux Parrot 4x; GNU/Debian 9.0/9.5.
4) Ik heb met succes een aanval uitgevoerd op mijn GRUB2-bootloader.
5) De tutorial is gemaakt om alle paranoïden in de GOS te helpen, waar werken met versleuteling legaal is toegestaan. En vooral voor degenen die volledige schijfversleuteling willen toepassen zonder hun geconfigureerde systemen te wissen.
6) Ik heb mijn handleiding herschreven en geactualiseerd, die relevant is in 2020.
[G] Nuttige documentatie
- (februari 2012 NL)
- /usr/share/doc/cryptsetup(-run) [локальный ресурс] (officiële gedetailleerde documentatie voor het instellen van encryptie op GNU/Linux met behulp van cryptsetup)
- (korte documentatie voor het instellen van encryptie op GNU/Linux met behulp van cryptsetup)
- (archlinux-documentatie)
- (handleidingpagina arch)
- (handleidingpagina arch)
- .
Labels: volledige schijfversleuteling, partitieversleuteling, volledige schijfversleuteling Linux, volledige systeemsversleuteling LUKS1.
Alleen geregistreerde gebruikers kunnen deelnemen aan de enquête. , alstublieft.
Versleutel je?
17,1%Ik versleutel alles wat maar mogelijk is. Ik heb een paranoia.
34,2%Ik versleutel alleen belangrijke gegevens.
14,6%Soms versleutel ik, soms vergeet ik het.
34,2%Nee, ik versleutel niet, het is ongemakkelijk en kostbaar.
82 gebruikers hebben gestemd. 22 gebruikers hebben zich onthouden.
Bron: habr.com
