Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato
Guida personalizzata aggiornata per la crittografia dell'intero disco in RuNet V0.2.

Strategia da cowboy:

[A] Crittografia a blocchi del sistema Windows 7 del sistema installato;
[B] Crittografia a blocchi del sistema GNU/Linux (Debian) sistema installato (incluso /boot);
[C] Configurazione GRUB2, protezione del bootloader con firma digitale/autenticazione/hashing;
[D] stripping: distruzione di dati non crittografati;
[E] backup universale del sistema operativo crittografato;
[F] attacco <sull'oggetto [C6]> bersaglio - bootloader GRUB2;
[G]documentazione utile.

╭───Schema della #stanza 40# :
├──╼ Windows 7 installato: crittografia completa del sistema, non nascosta;
├──╼ GNU/Linux installato (Debian e distribuzioni derivate) — crittografia completa del sistema, non nascosta(/, incluso /boot; swap);
├──╼ bootloader indipendenti: il bootloader VeraCrypt è installato nell'MBR, il bootloader GRUB2 è installato nella partizione estesa;
├──╼non è richiesta l'installazione/reinstallazione del sistema operativo;
└──╼software crittografico utilizzato: VeraCrypt; Configurazione della cripta; GnuPG; Cavalluccio marino; Hashdeep; GRUB2 è gratuito/gratuito.

Lo schema di cui sopra risolve parzialmente il problema dell '"avvio remoto su un'unità flash", consente di usufruire del sistema operativo Windows/Linux crittografato e di scambiare dati tramite un "canale crittografato" da un sistema operativo all'altro.

Ordine di avvio del PC (una delle opzioni):

  • accendere la macchina;
  • caricamento del bootloader VeraCrypt (inserendo la password corretta si continuerà ad avviare Windows 7);
  • premendo il tasto "Esc" verrà caricato il boot loader GRUB2;
  • Caricatore di avvio GRUB2 (seleziona distribuzione/GNU/Linux/CLI), richiederà l'autenticazione del superutente GRUB2 <login/password>;
  • dopo aver effettuato con successo l'autenticazione e selezionato la distribuzione, sarà necessario inserire una passphrase per sbloccare “/boot/initrd.img”;
  • dopo aver inserito password prive di errori, GRUB2 "richiederà" l'immissione della password (terzo, password del BIOS o password dell'account utente GNU/Linux – non considerare) per sbloccare e avviare il sistema operativo GNU/Linux o sostituzione automatica di una chiave segreta (due password + chiave o password + chiave);
  • un'intrusione esterna nella configurazione di GRUB2 bloccherà il processo di avvio di GNU/Linux.

Fastidioso? Ok, andiamo ad automatizzare i processi.

Quando si partiziona un disco rigido (tabella MBR) Un PC non può avere più di 4 partizioni principali, oppure 3 principali ed una estesa, oltre ad un'area non allocata. Una sezione estesa, a differenza di quella principale, può contenere sottosezioni (unità logiche=partizione estesa). In altre parole, la "partizione estesa" sull'HDD sostituisce LVM per l'attività da svolgere: crittografia completa del sistema. Se il tuo disco è diviso in 4 partizioni principali, devi usare lvm o trasformarlo (con formattazione) sezione da principale ad avanzata, oppure utilizzare saggiamente tutte e quattro le sezioni e lasciare tutto così com'è, ottenendo il risultato desiderato. Anche se hai una partizione sul tuo disco, Gparted ti aiuterà a partizionare il tuo HDD (per sezioni aggiuntive) senza perdita di dati, ma comunque con una piccola penalità per tali azioni.

Lo schema del layout del disco rigido, in relazione al quale verrà verbalizzato l'intero articolo, è presentato nella tabella seguente.

Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato
Tabella (n. 1) delle partizioni da 1 TB.

Anche tu dovresti avere qualcosa di simile.
sda1 - partizione principale n. 1 NTFS (crittografato);
sda2 - marcatore di sezione estesa;
sda6 - disco logico (ha installato il bootloader GRUB2);
sda8 - swap (file di scambio crittografato/non sempre);
sda9: testa il disco logico;
sda5 - disco logico per i curiosi;
sda7 - sistema operativo GNU/Linux (sistema operativo trasferito su un disco logico crittografato);
sda3 - partizione principale n. 2 con sistema operativo Windows 7 (crittografato);
sda4 - sezione principale n. 3 (conteneva GNU/Linux non crittografato, utilizzato per il backup/non sempre).

[A] Crittografia a blocchi del sistema Windows 7

A1. VeraCryptCrittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

Caricamento da sito ufficialeo dallo specchio sourceforge versione di installazione del software di crittografia VeraCrypt (al momento della pubblicazione dell'articolo v1.24-Update3, la versione portatile di VeraCrypt non è adatta alla crittografia del sistema). Controlla il checksum del software scaricato

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

e confrontare il risultato con il CS pubblicato sul sito web degli sviluppatori VeraCrypt.

Se è installato il software HashTab, è ancora più semplice: RMB (Installazione VeraCrypt 1.24.exe)-properties - somma hash dei file.

Per verificare la firma del programma, è necessario installare sul sistema il software e la chiave pubblica pgp dello sviluppatore gnuPG; gpg4win.

A2. Installazione/esecuzione del software VeraCrypt con diritti di amministratoreCrittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

A3. Selezione dei parametri di crittografia del sistema per la partizione attivaVeraCrypt – Sistema – Crittografa partizione/disco di sistema – Normale – Crittografa partizione di sistema Windows – Multiboot – (attenzione: “Agli utenti inesperti si sconsiglia l’utilizzo di questo metodo” e questo è vero, siamo d’accordo “Sì”) - Disco di avvio (“sì”, anche se non è così, pur sempre “sì”) – Numero di dischi di sistema “2 o più” – Più sistemi su un disco “Sì” – Bootloader non Windows “No” (in effetti, "Sì", ma i boot loader VeraCrypt/GRUB2 non condivideranno l'MBR tra loro; più precisamente, solo la parte più piccola del codice del boot loader è memorizzata nell'MBR/traccia di avvio, la parte principale è situato all'interno del file system) – Multiboot – Impostazioni di crittografia…

Se si devia dai passaggi precedenti (bloccare gli schemi di crittografia del sistema), VeraCrypt emetterà un avviso e non ti consentirà di crittografare la partizione.

Nel passaggio successivo verso una protezione mirata dei dati, esegui un “Test” e seleziona un algoritmo di crittografia. Se hai una CPU obsoleta, molto probabilmente l'algoritmo di crittografia più veloce sarà Twofish. Se la CPU è potente, noterai la differenza: la crittografia AES, secondo i risultati del test, sarà molte volte più veloce rispetto ai suoi concorrenti crittografici. AES è un algoritmo di crittografia popolare; l’hardware delle moderne CPU è appositamente ottimizzato sia per il “segreto” che per l’“hacking”.

VeraCrypt supporta la capacità di crittografare i dischi in una cascata AES(Due pesci)/e altre combinazioni. Su una vecchia CPU Intel core di dieci anni fa (senza supporto hardware per crittografia AES, A/T a cascata) Il calo delle prestazioni è sostanzialmente impercettibile. (per CPU AMD della stessa epoca/~parametri, le prestazioni sono leggermente ridotte). Il sistema operativo funziona in modo dinamico e il consumo di risorse per la crittografia trasparente è invisibile. Al contrario, ad esempio, si nota un notevole calo delle prestazioni a causa dell'ambiente desktop di prova instabile installato Mate v1.20.1 (o v1.20.2 non ricordo esattamente) in GNU/Linux o a causa del funzionamento della routine di telemetria in Windows7↑. In genere, gli utenti esperti eseguono test delle prestazioni dell'hardware prima della crittografia. Ad esempio, in Aida64/Sysbench/systemd-analyze la colpa viene confrontata con i risultati degli stessi test dopo aver crittografato il sistema, confutando così il mito secondo cui “la crittografia del sistema è dannosa”. Il rallentamento della macchina e l'inconveniente sono evidenti durante il backup/ripristino dei dati crittografati, perché l'operazione di “backup dei dati di sistema” in sé non viene misurata in ms e vengono aggiunti gli stessi <decrypt/encrypt on the fly>. In definitiva, ogni utente a cui è consentito armeggiare con la crittografia bilancia l’algoritmo di crittografia con la soddisfazione dei compiti da svolgere, il proprio livello di paranoia e la facilità d’uso.

È meglio lasciare il parametro PIM come predefinito, in modo che durante il caricamento del sistema operativo non sia necessario inserire ogni volta i valori esatti di iterazione. VeraCrypt utilizza un numero enorme di iterazioni per creare un vero "hash lento". Un attacco a una tale “lumaca crittografica” utilizzando il metodo della forza bruta/tabelle arcobaleno ha senso solo con una breve “semplice” passphrase e l’elenco dei caratteri personali della vittima. Il prezzo da pagare per la sicurezza della password è un ritardo nell'immissione della password corretta durante il caricamento del sistema operativo. (il montaggio dei volumi VeraCrypt in GNU/Linux è significativamente più veloce).
Software gratuito per l'implementazione di attacchi di forza bruta (estrai la passphrase dall'intestazione del disco VeraCrypt/LUKS) Hashcat. John lo Squartatore non sa come "rompere Veracrypt" e quando lavora con LUKS non capisce la crittografia Twofish.

A causa della forza crittografica degli algoritmi di crittografia, gli inarrestabili cypherpunk stanno sviluppando software con un diverso vettore di attacco. Ad esempio, estraendo metadati/chiavi dalla RAM (avvio a freddo/attacco con accesso diretto alla memoria), Esistono software specializzati, gratuiti e non liberi, per questi scopi.

Al completamento dell'impostazione/generazione di "metadati univoci" della partizione attiva crittografata, VeraCrypt offrirà di riavviare il PC e testare la funzionalità del suo boot loader. Dopo aver riavviato/avviato Windows, VeraCrypt verrà caricato in modalità standby, tutto ciò che resta da fare è confermare il processo di crittografia - Y.

Nella fase finale della crittografia del sistema, VeraCrypt offrirà di creare una copia di backup dell'intestazione della partizione crittografata attiva sotto forma di "veracrypt Rescue disk.iso" - questo deve essere fatto - in questo software tale operazione è un requisito (in LUKS come requisito - purtroppo questo è omesso, ma è enfatizzato nella documentazione). Il disco di salvataggio tornerà utile per tutti e per alcuni più di una volta. Perdita (riscrittura intestazione/MBR) una copia di backup dell'intestazione negherà permanentemente l'accesso alla partizione decrittografata con il sistema operativo Windows.

A4. Creazione di un USB/disco di salvataggio VeraCryptPer impostazione predefinita, VeraCrypt offre di masterizzare "~2-3 MB di metadati" su un CD, ma non tutte le persone dispongono di dischi o unità DWD-ROM e la creazione di un'unità flash avviabile "VeraCrypt Rescue disk" sarà una sorpresa tecnica per alcuni: Rufus /GUIdd-ROSA ImageWriter e altri software simili non saranno in grado di far fronte all'attività, poiché oltre a copiare i metadati offset su un'unità flash avviabile, è necessario copiare/incollare l'immagine all'esterno del file system dell'unità USB, in breve, copia correttamente l'MBR/strada sul portachiavi. Puoi creare un'unità flash avviabile dal sistema operativo GNU/Linux utilizzando l'utilità "dd", osservando questo segno.

Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

La creazione di un disco di ripristino in un ambiente Windows è diversa. Lo sviluppatore di VeraCrypt non ha incluso la soluzione a questo problema nel documento ufficiale documentazione da “disco di salvataggio”, ma ha proposto una soluzione in modo diverso: ha pubblicato un software aggiuntivo per creare un “disco di salvataggio USB” ad accesso gratuito sul suo forum VeraCrypt. L'archivista di questo software per Windows sta “creando il disco di ripristino USB Veracrypt”. Dopo aver salvato il file Rescue Disk.iso, inizierà il processo di crittografia del sistema di blocco della partizione attiva. Durante la crittografia il funzionamento del sistema operativo non si interrompe e non è necessario riavviare il PC. Al completamento dell'operazione di crittografia, la partizione attiva diventa completamente crittografata e può essere utilizzata. Se il boot loader VeraCrypt non viene visualizzato all'avvio del PC e l'operazione di ripristino dell'intestazione non aiuta, controlla il flag "boot", deve essere impostato sulla partizione in cui è presente Windows (indipendentemente dalla crittografia e da altri sistemi operativi, vedere la tabella n. 1).
Questo completa la descrizione della crittografia del sistema a blocchi con il sistema operativo Windows.

[B]LUCCHI. Crittografia GNU/Linux (~Debian) sistema operativo installato. Algoritmo e passaggi

Per crittografare una distribuzione Debian/derivata installata, è necessario mappare la partizione preparata su un dispositivo a blocchi virtuale, trasferirla sul disco GNU/Linux mappato e installare/configurare GRUB2. Se non disponi di un server bare metal e apprezzi il tuo tempo, allora devi utilizzare la GUI e la maggior parte dei comandi del terminale descritti di seguito sono pensati per essere eseguiti in "modalità Chuck-Norris".

B1. Avvio del PC da live USB GNU/Linux

"Conduci un test crittografico per le prestazioni dell'hardware"

lscpu && сryptsetup benchmark

Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

Se sei il felice proprietario di un'auto potente con supporto hardware AES, i numeri appariranno come il lato destro del terminale; se sei un felice proprietario, ma con hardware antico, i numeri appariranno come il lato sinistro.

B2. Partizionamento del disco. montaggio/formattazione del disco logico fs HDD su Ext4 (Gparted)

B2.1. Creazione di un'intestazione della partizione sda7 crittografataDescriverò i nomi delle partizioni, qui e oltre, in conformità con la mia tabella delle partizioni pubblicata sopra. In base al layout del disco, è necessario sostituire i nomi delle partizioni.

Mappatura della crittografia dell'unità logica (/dev/sda7 > /dev/mapper/sda7_crypt).
#Facile creazione di una “partizione LUKS-AES-XTS”

cryptsetup -v -y luksFormat /dev/sda7

Opzioni:

* luksFormat - inizializzazione dell'intestazione LUKS;
* -y -passphrase (non chiave/file);
* -v -verbalization (visualizzazione delle informazioni nel terminale);
* /dev/sda7 - il tuo disco logico dalla partizione estesa (dove è previsto il trasferimento/crittografia GNU/Linux).

Algoritmo di crittografia predefinito <LUKS1: aes-xts-plain64, chiave: 256 bit, hashing intestazione LUKS: sha256, RNG: /dev/urandom> (dipende dalla versione di cryptsetup).

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

Se sulla CPU non è presente il supporto hardware per AES, la scelta migliore sarebbe quella di creare una “partizione LUKS-Twofish-XTS” estesa.

B2.2. Creazione avanzata della “partizione LUKS-Twofish-XTS”

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

Opzioni:
* luksFormat - inizializzazione dell'intestazione LUKS;
* /dev/sda7 è il tuo futuro disco logico crittografato;
* -v verbalizzazione;
* -y frase chiave;
* -c seleziona l'algoritmo di crittografia dei dati;
* -s dimensione della chiave di crittografia;
* -h algoritmo di hashing/funzione crittografica, RNG utilizzato (--use-urandom) generare una chiave di crittografia/decrittografia univoca per l'intestazione del disco logico, una chiave di intestazione secondaria (XTS); una chiave master univoca memorizzata nell'intestazione del disco crittografato, una chiave XTS secondaria, tutti questi metadati e una routine di crittografia che, utilizzando la chiave master e la chiave XTS secondaria, crittografa/decrittografa tutti i dati sulla partizione (tranne il titolo della sezione) memorizzato in ~3 MB sulla partizione del disco rigido selezionata.
* -i iterazioni in millisecondi, invece di "importo" (il ritardo durante l'elaborazione della passphrase influisce sul caricamento del sistema operativo e sulla forza crittografica delle chiavi). Per mantenere un equilibrio di forza crittografica, con una password semplice come “Russian” è necessario aumentare il valore -(i); con una password complessa come “?8dƱob/øfh” il valore può essere diminuito.
* —generatore di numeri casuali use-urandom, genera chiavi e sale.

Dopo aver mappato la sezione sda7 > sda7_crypt (l’operazione è veloce, dato che viene creata un’intestazione crittografata con ~3 MB di metadati e questo è tutto), è necessario formattare e montare il file system sda7_crypt.

B2.3. Confronto

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

opzioni:
* aperto: abbina la sezione "con nome";
* /dev/sda7 -disco logico;
* sda7_crypt - mappatura dei nomi utilizzata per montare la partizione crittografata o inizializzarla all'avvio del sistema operativo.

B2.4. Formattazione del file system sda7_crypt su ext4. Montaggio di un disco nel sistema operativo(Nota: non sarai in grado di lavorare con una partizione crittografata in Gparted)

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

opzioni:
* -v -verbalizzazione;
* -L - etichetta dell'unità (che viene visualizzata in Explorer tra le altre unità).

Successivamente, dovresti montare il dispositivo a blocchi crittografato virtuale /dev/sda7_crypt sul sistema

mount /dev/mapper/sda7_crypt /mnt

Lavorare con i file nella cartella /mnt crittograferà/decrittograferà automaticamente i dati in sda7.

È più conveniente mappare e montare la partizione in Explorer (GUI nautilus/caja), la partizione sarà già nell'elenco di selezione del disco, non resta che inserire la passphrase per aprire/decrittografare il disco. Il nome corrispondente verrà selezionato automaticamente e non "sda7_crypt", ma qualcosa come /dev/mapper/Luks-xx-xx...

B2.5. Backup dell'intestazione del disco (~ 3 MB di metadati)Uno dei più importante operazioni che devono essere eseguite senza indugio: una copia di backup dell'intestazione "sda7_crypt". Se sovrascrivi/danni l'header (ad esempio, installazione di GRUB2 sulla partizione sda7, ecc.), i dati criptati andranno completamente persi senza alcuna possibilità di recuperarli, perché sarà impossibile rigenerare le chiavi stesse; le chiavi vengono create in modo univoco.

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

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

opzioni:
* luksHeaderBackup —comando header-backup-file -backup;
* luksHeaderRestore —header-backup-file -restore comando;
* ~/Backup_DebSHIFR - file di backup;
* /dev/sda7 - partizione la cui copia di backup dell'intestazione del disco crittografata deve essere salvata.
A questo punto la <creazione e modifica della partizione crittografata> è completata.

B3. Porting del sistema operativo GNU/Linux (sda4) su una partizione crittografata (sda7)

Crea una cartella /mnt2 (Nota: stiamo ancora lavorando con live USB, sda7_crypt è montato su /mnt)e montiamo il nostro GNU/Linux in /mnt2, che deve essere crittografato.

mkdir /mnt2
mount /dev/sda4 /mnt2

Effettuiamo il trasferimento corretto del sistema operativo utilizzando il software Rsync

rsync -avlxhHX --progress /mnt2/ /mnt

Le opzioni di Rsync sono descritte nel paragrafo E1.

inoltre, necessario deframmentare una partizione logica del disco

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

Stabilisci una regola: esegui e4defrag su GNU/LInux crittografato di tanto in tanto se hai un HDD.
Il trasferimento e la sincronizzazione [GNU/Linux > GNU/Linux-crittografato] sono completati in questo passaggio.

ALLE 4. Configurazione di GNU/Linux su una partizione sda7 crittografata

Dopo aver trasferito con successo il sistema operativo /dev/sda4 > /dev/sda7, è necessario accedere a GNU/Linux sulla partizione crittografata ed eseguire ulteriori configurazioni (senza riavviare il PC) relativo ad un sistema crittografato. Cioè, essere in live USB, ma eseguire comandi "relativi alla radice del sistema operativo crittografato". “chroot” simulerà una situazione simile. Per ricevere rapidamente informazioni su quale sistema operativo stai attualmente lavorando (crittografato o meno, poiché i dati in sda4 e sda7 sono sincronizzati), desincronizzare il sistema operativo. Crea nelle directory root (sda4/sda7_crypt) file marcatori vuoti, ad esempio /mnt/encryptedOS e /mnt2/decryptedOS. Controlla rapidamente quale sistema operativo utilizzi (anche per il futuro):

ls /<Tab-Tab>

B4.1. "Simulazione dell'accesso a un sistema operativo crittografato"

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

B4.2. Verificare che il lavoro venga eseguito su un sistema crittografato

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

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

B4.3. Creazione/configurazione di swap crittografato, modifica crypttab/fstabPoiché il file di scambio viene formattato ogni volta che si avvia il sistema operativo, non ha senso creare e mappare lo scambio su un disco logico adesso e digitare comandi come nel paragrafo B2.2. Per Swap, ad ogni avvio verranno generate automaticamente le proprie chiavi di crittografia temporanee. Ciclo di vita delle chiavi di swap: smontaggio/smontaggio della partizione di swap (+pulizia RAM); o riavviare il sistema operativo. Impostazione dello scambio, apertura del file responsabile della configurazione dei dispositivi crittografati a blocchi (analogo a un file fstab, ma responsabile della crittografia).

nano /etc/crypttab 

modifichiamo

#"nome di destinazione" "dispositivo di origine" "file chiave" "opzioni"
scambia /dev/sda8 /dev/urandom scambia,cipher=twofish-xts-plain64,dimensione=512,hash=sha512

Opzioni
* swap - nome mappato durante la crittografia di /dev/mapper/swap.
* /dev/sda8 - usa la tua partizione logica per lo swap.
* /dev/urandom - generatore di chiavi di crittografia casuali per lo scambio (con ogni nuovo avvio del sistema operativo, vengono create nuove chiavi). Il generatore /dev/urandom è meno casuale di /dev/random, dopo tutto /dev/random viene utilizzato quando si lavora in pericolose circostanze paranoiche. Durante il caricamento del sistema operativo, /dev/random rallenta il caricamento per diversi ± minuti (vedi analisi di sistema).
* swap,cipher=twofish-xts-plain64,size=512,hash=sha512: -la partizione sa che è swap ed è formattata “di conseguenza”; algoritmo di crittografia.

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

modifichiamo

# swap era su / dev / sda8 durante l'installazione
/dev/mapper/swap nessuno scambia sw 0 0

/dev/mapper/swap è il nome impostato in crypttab.

Scambio crittografato alternativo
Se per qualche motivo non vuoi rinunciare a un'intera partizione per un file di scambio, puoi optare per un metodo alternativo e migliore: creare un file di scambio in un file su una partizione crittografata con il sistema operativo.

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

La configurazione della partizione di swap è completata.

B4.4. Configurazione di GNU/Linux crittografati (modifica di file crypttab/fstab)Il file /etc/crypttab, come scritto sopra, descrive i dispositivi a blocchi crittografati configurati durante l'avvio del sistema.

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

se hai abbinato la sezione sda7>sda7_crypt come nel paragrafo B2.1

# "nome di destinazione" "dispositivo di origine" "file chiave" "opzioni"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none luks

se hai abbinato la sezione sda7>sda7_crypt come nel paragrafo B2.2

# "nome di destinazione" "dispositivo di origine" "file chiave" "opzioni"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 none cipher=twofish-xts-plain64,size=512,hash=sha512

se hai abbinato la sezione sda7>sda7_crypt come nel paragrafo B2.1 o B2.2, ma non vuoi reinserire la password per sbloccare e avviare il sistema operativo, al posto della password puoi sostituire una chiave segreta/file casuale

# "nome di destinazione" "dispositivo di origine" "file chiave" "opzioni"
sda7_crypt UUID=81048598-5bb9-4a53-af92-f3f9e709e2f2 /etc/skey luks

descrizione
* nessuno: segnala che durante il caricamento del sistema operativo è necessario inserire una passphrase segreta per sbloccare il root.
* UUID: identificatore della partizione. Per scoprire il tuo ID, digita il terminale (ricorda che da questo momento in poi lavorerai in un terminale in un ambiente chroot e non in un altro terminale USB live).

fdisk -l #проверка всех разделов
blkid #должно быть что-то подобное 

/dev/sda7: UUID=«81048598-5bb9-4a53-af92-f3f9e709e2f2» TYPE=«crypto_LUKS» PARTUUID=«0332d73c-07»
/dev/mapper/sda7_crypt: LABEL=«DebSHIFR» UUID=«382111a2-f993-403c-aa2e-292b5eac4780» TYPE=«ext4»

questa riga è visibile quando si richiede blkid dal terminale USB live con sda7_crypt montato).
Prendi l'UUID dal tuo sdaX (non sdaX_crypt!, UUID sdaX_crypt - verrà lasciato automaticamente durante la generazione della configurazione di grub.cfg).
* cipher=twofish-xts-plain64,size=512,hash=sha512 -luks crittografia in modalità avanzata.
* /etc/skey - file della chiave segreta, che viene inserito automaticamente per sbloccare l'avvio del sistema operativo (invece di inserire la terza password). È possibile specificare qualsiasi file fino a 8 MB, ma i dati verranno letti <1 MB.

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

Apparirà qualcosa del genere:

(fai da te e guarda tu stesso).

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

/etc/fstab contiene informazioni descrittive su vari file system.

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

# "file system" "punto di montaggio" "tipo" "opzioni" "dump" "passaggio"
# / era su / dev / sda7 durante l'installazione
/dev/mapper/sda7_crypt /ext4 errori=remount-ro 0 1

opzione
* /dev/mapper/sda7_crypt - il nome della mappatura sda7>sda7_crypt, specificato nel file /etc/crypttab.
La configurazione di crypttab/fstab è completa.

B4.5. Modifica dei file di configurazione. Momento chiaveB4.5.1. Modificando il file di configurazione /etc/initramfs-tools/conf.d/resume

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

e commentare (se esiste) "#" riga "riprendi". Il file deve essere completamente vuoto.

B4.5.2. Modificando il file di configurazione /etc/initramfs-tools/conf.d/cryptsetup

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

dovrebbe corrispondere

# /etc/initramfs-tools/conf.d/cryptsetup
CRYPTSETUP=sì
esporta CRYPTSETUP

B4.5.3. Modificando il file /etc/default/grub config (questa configurazione è responsabile della capacità di generare grub.cfg quando si lavora con /boot crittografato)

nano /etc/default/grub

aggiungi la riga “GRUB_ENABLE_CRYPTODISK=y”
valore 'y', grub-mkconfig e grub-install controlleranno le unità crittografate e genereranno comandi aggiuntivi necessari per accedervi all'avvio (insmod ).
deve esserci una somiglianza

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

B4.5.4. Modificando il file di configurazione /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

controlla che la linea commentato <#>.
In futuro (e anche adesso questo parametro non avrà alcun significato, ma a volte interferisce con l'aggiornamento dell'immagine initrd.img).

B4.5.5. Modificando il file di configurazione /etc/cryptsetup-initramfs/conf-hook

nano /etc/cryptsetup-initramfs/conf-hook

aggiungi

KEYFILE_PATTERN="/etc/skey"
MASCHERA=0077

Questo comprimerà la chiave segreta "skey" in initrd.img, la chiave è necessaria per sbloccare il root all'avvio del sistema operativo (se non si vuole inserire nuovamente la password, la chiave dell'auto viene sostituita dalla chiave “skey”).

B4.6. Aggiorna /boot/initrd.img [versione]Per comprimere la chiave segreta in initrd.img e applicare le correzioni di cryptsetup, aggiorna l'immagine

update-initramfs -u -k all

durante l'aggiornamento di initrd.img (come si suol dire “è possibile, ma non è sicuro”) appariranno avvisi relativi a cryptsetup o, ad esempio, una notifica sulla perdita dei moduli Nvidia: questo è normale. Dopo aver aggiornato il file, controlla che sia stato effettivamente aggiornato, guarda l'ora (relativo all'ambiente chroot./boot/initrd.img). Attenzione! prima di [update-initramfs -u -k all] assicurati di controllare che cryptsetup sia aperto /dev/sda7 sda7_crypt - questo è il nome che appare in /etc/crypttab, altrimenti dopo il riavvio si verificherà un errore busybox)
A questo punto, l'impostazione dei file di configurazione è completa.

[C] Installazione e configurazione di GRUB2/Protection

C1. Se necessario formattare la partizione dedicata al bootloader (una partizione necessita di almeno 20MB)

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

C2. Montare /dev/sda6 su /mntQuindi lavoriamo in chroot, quindi non ci sarà alcuna directory /mnt2 nella root e la cartella /mnt sarà vuota.
montare la partizione GRUB2

mount /dev/sda6 /mnt

Se è installata una versione precedente di GRUB2, nella directory /mnt/boot/grub/i-386-pc (è possibile un'altra piattaforma, ad esempio non "i386-pc") nessun modulo crittografico (in breve, la cartella dovrebbe contenere moduli, tra cui questi .mod: cryptodisk; luks; gcry_twofish; gcry_sha512; signature_test.mod), in questo caso, GRUB2 deve essere scosso.

apt-get update
apt-get install grub2 

Importante! Quando si aggiorna il pacchetto GRUB2 dal repository, quando viene chiesto “scelta” dove installare il bootloader, è necessario rifiutare l'installazione (motivo: tentativo di installare GRUB2 - in "MBR" o su USB live). Altrimenti danneggerai l'intestazione/caricatore VeraCrypt. Dopo aver aggiornato i pacchetti GRUB2 e annullato l'installazione, il boot loader deve essere installato manualmente sul disco logico e non nell'MBR. Se il tuo repository ha una versione obsoleta di GRUB2, prova aggiornamento proviene dal sito ufficiale, non l'ho controllato (funziona con gli ultimi bootloader GRUB 2.02 ~BetaX).

C3. Installazione di GRUB2 in una partizione estesa [sda6]È necessario disporre di una partizione montata [elemento C.2]

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

опции
* —force - installazione del bootloader, ignorando tutti gli avvisi che quasi sempre esistono e bloccando l'installazione (bandiera obbligatoria).
* --root-directory - installazione della directory alla radice di sda6.
* /dev/sda6 - la tua partizione sdaХ (non perdere lo <spazio> tra /mnt /dev/sda6).

C4. Creazione di un file di configurazione [grub.cfg]Dimentica il comando "update-grub2" e utilizza il comando di generazione del file di configurazione completo

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

dopo aver completato la generazione/aggiornamento del file grub.cfg, il terminale di output dovrebbe contenere righe con il sistema operativo trovato sul disco ("grub-mkconfig" probabilmente troverà e raccoglierà il sistema operativo da una chiavetta USB live, se hai un'unità flash multiboot con Windows 10 e un sacco di distribuzioni live - questo è normale). Se il terminale è “vuoto” e il file “grub.cfg” non viene generato, è lo stesso caso in cui sono presenti bug di GRUB nel sistema (e molto probabilmente il caricatore dal ramo test del repository), reinstallare GRUB2 da fonti attendibili.
L'installazione della "configurazione semplice" e l'impostazione di GRUB2 sono complete.

C5. Proof-test del sistema operativo GNU/Linux crittografatoCompletiamo correttamente la missione crittografica. Lasciando con attenzione il file GNU/Linux crittografato (esci dall'ambiente chroot).

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

Dopo aver riavviato il PC, dovrebbe caricarsi il bootloader VeraCrypt.
Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

*Inserendo la password per la partizione attiva verrà avviato il caricamento di Windows.
*Premendo il tasto "Esc" si trasferirà il controllo a GRUB2, se si seleziona GNU/Linux crittografato - sarà richiesta una password (sda7_crypt) per sbloccare /boot/initrd.img (se grub2 scrive uuid "non trovato" - questo è un problema con il bootloader grub2, dovrebbe essere reinstallato, ad esempio, da test branch/stable ecc.).
Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

*A seconda di come hai configurato il sistema (vedi paragrafo B4.4/4.5), dopo aver inserito la password corretta per sbloccare l'immagine /boot/initrd.img, avrai bisogno di una password per caricare il kernel/root del sistema operativo, oppure il segreto La chiave verrà automaticamente sostituita con " skey", eliminando la necessità di reinserire la passphrase.
Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato
(schermata “sostituzione automatica chiave segreta”).

*Il prossimo sarà il processo familiare di caricamento di GNU/Linux con l'autenticazione dell'account utente.
Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

*Dopo l'autorizzazione dell'utente e l'accesso al sistema operativo, è necessario aggiornare nuovamente /boot/initrd.img (vedi B4.6).

update-initramfs -u -k all

E in caso di righe aggiuntive nel menu GRUB2 (dal pick-up OS-m con USB live) sbarazzati di loro

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

Un breve riepilogo della crittografia del sistema GNU/Linux:

  • GNU/Linuxinux è completamente crittografato, inclusi /boot/kernel e initrd;
  • la chiave segreta è contenuta in initrd.img;
  • attuale regime di autorizzazione (inserendo la password per sbloccare l'initrd; password/chiave per avviare il sistema operativo; password per autorizzare l'account Linux).

La crittografia del sistema "Configurazione GRUB2 semplice" della partizione a blocchi è completa.

C6. Configurazione GRUB2 avanzata. Protezione del bootloader con firma digitale + protezione dell'autenticazioneGNU/Linux è completamente crittografato, ma il bootloader non può essere crittografato: questa condizione è dettata dal BIOS. Per questo motivo non è possibile un avvio crittografato concatenato di GRUB2, ma è possibile/disponibile un semplice avvio concatenato, ma dal punto di vista della sicurezza non è necessario [vedi P. F].
Per il GRUB2 “vulnerabile”, gli sviluppatori hanno implementato un algoritmo di protezione del bootloader “firma/autenticazione”.

  • Quando il bootloader è protetto dalla "propria firma digitale", la modifica esterna dei file o il tentativo di caricare moduli aggiuntivi in ​​questo bootloader porterà al blocco del processo di avvio.
  • Quando si protegge il bootloader con l'autenticazione, per selezionare il caricamento di una distribuzione o inserire comandi aggiuntivi nella CLI, sarà necessario inserire il login e la password del superutente-GRUB2.

C6.1. Protezione dell'autenticazione del bootloaderVerifica di lavorare in un terminale su un sistema operativo crittografato

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

creare una password di superutente per l'autorizzazione in GRUB2

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

Ottieni l'hash della password. Qualcosa come questo

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

montare la partizione GRUB

mount /dev/sda6 /mnt 

modificare la configurazione

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

controlla la ricerca del file che non ci siano flag da nessuna parte in “grub.cfg” (“-unrestricted” “-user”,
aggiungere alla fine (prima della riga ### END /etc/grub.d/41_custom ###)
"imposta superutenti="root"
password_pbkdf2 root hash."

Dovrebbe essere qualcosa del genere

# Questo file fornisce un modo semplice per aggiungere voci di menu personalizzate. Basta digitare il
# voci di menu che vuoi aggiungere dopo questo commento. Fai attenzione a non cambiare
# la riga "coda di esecuzione" sopra.
### FINE /etc/grub.d/40_custom ###

### INIZIO /etc/grub.d/41_custom ###
if [ -f ${directory_config}/custom.cfg ]; Poi
fonte ${config_directory}/custom.cfg
elif [ -z "${directory_config}" -a -f $prefisso/custom.cfg ]; Poi
fonte $prefisso/custom.cfg;
fi
imposta superutenti="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### FINE /etc/grub.d/41_custom ###
#

Se usi spesso il comando “grub-mkconfig -o /mnt/boot/grub/grub.cfg” e non vuoi apportare modifiche a grub.cfg ogni volta, inserisci le righe sopra (Password per il login) nello script utente di GRUB in fondo

nano /etc/grub.d/41_custom 

gatto <<EOF
imposta superutenti="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
EOF

Quando si genera la configurazione "grub-mkconfig -o /mnt/boot/grub/grub.cfg", le righe responsabili dell'autenticazione verranno aggiunte automaticamente a grub.cfg.
Questo passaggio completa la configurazione dell'autenticazione GRUB2.

C6.2. Protezione del bootloader con firma digitaleSi presuppone che tu abbia già la tua chiave di crittografia pgp personale (o creare una chiave del genere). Sul sistema deve essere installato un software di crittografia: gnuPG; cleopatra/GPA; Cavalluccio marino. Il software crittografico ti renderà la vita molto più semplice in tutte queste questioni. Seahorse - versione stabile del pacchetto 3.14.0 (le versioni superiori, ad esempio V3.20, sono difettose e presentano bug significativi).

La chiave PGP deve essere generata/lanciata/aggiunta solo nell'ambiente su!

Genera chiave di crittografia personale

gpg - -gen-key

Esporta la tua chiave

gpg --export -o ~/perskey

Montare il disco logico nel sistema operativo se non è già montato

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

pulire la partizione GRUB2

rm -rf /mnt/

Installa GRUB2 in sda6, inserendo la tua chiave privata nell'immagine principale di GRUB "core.img"

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

опции
* --force - installa il bootloader, ignorando tutti gli avvisi sempre presenti (bandiera obbligatoria).
* —modules="gcry_sha256 gcry_sha512 Signature_test gcry_dsa gcry_rsa" - indica a GRUB2 di precaricare i moduli necessari all'avvio del PC.
* -k ~/perskey -percorso della “chiave PGP” (dopo aver inserito la chiave nell'immagine, è possibile eliminarla).
* --root-directory -imposta la directory di avvio sulla root di sda6
/dev/sda6 - la tua partizione sdaX.

Generazione/aggiornamento di grub.cfg

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

Aggiungi la riga "trust /boot/grub/perskey" alla fine del file "grub.cfg" (forza l'uso della chiave pgp.) Poiché abbiamo installato GRUB2 con una serie di moduli, incluso il modulo di firma "signature_test.mod", ciò elimina la necessità di aggiungere comandi come "set check_signatures=enforce" alla configurazione.

Dovrebbe assomigliare a qualcosa di simile a questo (righe finali nel file grub.cfg)

### INIZIO /etc/grub.d/41_custom ###
if [ -f ${directory_config}/custom.cfg ]; Poi
fonte ${config_directory}/custom.cfg
elif [ -z "${directory_config}" -a -f $prefisso/custom.cfg ]; Poi
fonte $prefisso/custom.cfg;
fi
fidati /boot/grub/perskey
imposta superutenti="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8
### FINE /etc/grub.d/41_custom ###
#

Non è necessario che il percorso di "/boot/grub/perskey" punti a una partizione specifica del disco, ad esempio hd0,6; per il bootloader stesso, "root" è il percorso predefinito della partizione su cui è installato GRUB2 (vedi set rot=..).

Firma GRUB2 (tutti i file in tutte le directory /GRUB) con la tua chiave “perskey”.
Una soluzione semplice su come firmare (per nautilus/caja explorer): installare l'estensione "seahorse" per Explorer dal repository. La tua chiave deve essere aggiunta all'ambiente su.
Apri Explorer con sudo “/mnt/boot” – RMB – segno. Sullo schermo appare così

Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

La chiave stessa è “/mnt/boot/grub/perskey” (copia nella directory di grub) dovrà essere firmato anche con la propria firma. Verificare che le firme dei file [*.sig] siano presenti nella directory/sottodirectory.
Utilizzando il metodo sopra descritto, firmare “/boot” (il nostro kernel, initrd). Se il tuo tempo vale qualcosa, allora questo metodo elimina la necessità di scrivere uno script bash per firmare “molti file”.

Per rimuovere tutte le firme del bootloader (se qualcosa è andato storto)

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

Per non firmare il bootloader dopo l'aggiornamento del sistema, congeliamo tutti i pacchetti di aggiornamento relativi a GRUB2.

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

A questo punto <proteggere il bootloader con firma digitale> la configurazione avanzata di GRUB2 è completata.

C6.3. Proof-test del bootloader GRUB2, protetto da firma digitale e autenticazioneGRUB2. Quando si seleziona una distribuzione GNU/Linux o si accede alla CLI (riga di comando) Sarà richiesta l'autorizzazione da superutente. Dopo aver inserito il nome utente/password corretti, avrai bisogno della password initrd

Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato
Screenshot dell'autenticazione riuscita del superutente GRUB2.

Se manometti uno qualsiasi dei file GRUB2/apporta modifiche a grub.cfg, o elimini il file/firma, o carichi un module.mod dannoso, verrà visualizzato un avviso corrispondente. GRUB2 metterà in pausa il caricamento.

Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato
Screenshot, un tentativo di interferire con GRUB2 “dall'esterno”.

Durante l'avvio "normale" "senza intrusione", lo stato del codice di uscita del sistema è "0". Pertanto, non è noto se la protezione funzioni o meno (ovvero, "con o senza protezione della firma del bootloader" durante il caricamento normale lo stato è lo stesso "0" - questo non è corretto).

Come verificare la protezione della firma digitale?

Un modo scomodo per controllare: falsificare/rimuovere un modulo utilizzato da GRUB2, ad esempio, rimuovere la firma luks.mod.sig e ottenere un errore.

Il modo corretto: vai alla CLI del bootloader e digita il comando

trust_list

In risposta dovresti ricevere un'impronta digitale "perskey", se lo stato è "0" la protezione della firma non funziona, ricontrolla il paragrafo C6.2.
A questo punto la configurazione avanzata “Protezione di GRUB2 con firma digitale e autenticazione” è completata.

C7 Metodo alternativo per proteggere il bootloader GRUB2 utilizzando l'hashingIl metodo sopra descritto "Protezione/Autenticazione del boot loader della CPU" è un classico. A causa delle imperfezioni di GRUB2, in condizioni paranoiche è suscettibile ad un vero e proprio attacco, di cui darò seguito nel paragrafo [F]. Inoltre, dopo l'aggiornamento del sistema operativo/kernel, il bootloader deve essere firmato nuovamente.

Protezione del bootloader GRUB2 tramite hashing

Vantaggi rispetto ai classici:

  • Livello di affidabilità più elevato (l'hashing/la verifica avviene solo da una risorsa locale crittografata. L'intera partizione allocata sotto GRUB2 è controllata per eventuali modifiche e tutto il resto è crittografato; nello schema classico con protezione/autenticazione del caricatore della CPU, solo i file sono controllati, ma non liberi spazio, in cui si può aggiungere “qualcosa di sinistro”).
  • Registrazione crittografata (allo schema viene aggiunto un registro crittografato personale leggibile dall'uomo).
  • velocità (la protezione/verifica di un'intera partizione allocata per GRUB2 avviene quasi istantaneamente).
  • Automazione di tutti i processi crittografici.

Svantaggi rispetto ai classici.

  • Falsificazione della firma (in teoria, è possibile trovare una determinata collisione di funzioni hash).
  • Livello di difficoltà aumentato (rispetto al classico, sono richieste un po' più di competenze nel sistema operativo GNU/Linux).

Come funziona l'idea dell'hashing GRUB2/partizione

La partizione GRUB2 è "firmata"; all'avvio del sistema operativo, viene verificata l'immutabilità della partizione del caricatore di avvio, seguita dall'accesso in un ambiente sicuro (crittografato). Se il bootloader o la sua partizione vengono compromessi, oltre al registro delle intrusioni, viene avviato quanto segue:

Cosa.Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

Un controllo simile avviene quattro volte al giorno, senza caricare le risorse di sistema.
Utilizzando il comando "-$ check_GRUB", viene eseguito un controllo istantaneo in qualsiasi momento senza registrazione, ma con output delle informazioni sulla CLI.
Usando il comando "-$ sudo signature_GRUB", il boot loader/partizione GRUB2 viene immediatamente rifirmato e la sua registrazione aggiornata (necessario dopo l'aggiornamento del sistema operativo/avvio) e la vita continua.

Implementazione di un metodo di hashing per il bootloader e la sua sezione

0) Firmiamo il bootloader/partizione GRUB montandolo prima in /media/nomeutente

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

1) Creiamo uno script senza estensione nella radice del sistema operativo crittografato ~/podpis, applichiamo ad esso i necessari diritti di sicurezza 744 e una protezione infallibile.

Riempiendone il contenuto

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

Esegui lo script da su, verrà controllato l'hashing della partizione GRUB e del suo bootloader, salvare il registro.

Creiamo o copiamo, ad esempio, un "file dannoso" [virus.mod] nella partizione GRUB2 ed eseguiamo una scansione/test temporaneo:

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

La CLI deve vedere un'invasione della nostra -cittadella-#Log ridotto nella 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

#Come puoi vedere, appare "File spostati: 1 e Controllo fallito", il che significa che il controllo non è riuscito.
A causa della natura della partizione testata, invece di “Nuovi file trovati” > “File spostati”

2) Metti la gif qui > ~/warning.gif, imposta i permessi su 744.

3) Configurazione di fstab per montare automaticamente la partizione GRUB all'avvio

-$ sudo nano /etc/fstab

ETICHETTA=GRUB /media/nomeutente/GRUB ext4 il valore predefinito è 0 0

4) Rotazione del tronco

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

/var/log/podpis.txt {
alle lezioni
ruotare 50
dimensione 5M
dataext
comprimere
ritardocompresso
vecchiadir /var/log/vecchia
}

/var/log/vtorjenie.txt {
mensile
ruotare 5
dimensione 5M
dataext
vecchiadir /var/log/vecchia
}

5) Aggiungi un lavoro a cron

-$ sudo crontab -e

reboot '/sottoscrizione'
0 */6 * * * '/podpis

6) Creazione di alias permanenti

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

Dopo l'aggiornamento del sistema operativo -$ apt-get upgrade firmare nuovamente la nostra partizione GRUB
-$ подпись_GRUB
A questo punto la protezione tramite hashing della partizione GRUB è completa.

[D] Wiping: distruzione di dati non crittografati

Elimina i tuoi file personali in modo così completo che "nemmeno Dio può leggerli", secondo il portavoce della Carolina del Sud Trey Gowdy.

Come al solito, ci sono vari “miti e leggende", sul ripristino dei dati dopo che sono stati eliminati dal disco rigido. Se credi nella cyberstregoneria o sei membro della comunità Drweb e non hai mai provato a recuperare i dati dopo che sono stati cancellati/sovrascritti (ad esempio, ripristino utilizzando R-studio), quindi è improbabile che il metodo proposto sia adatto a te, usa ciò che ti è più vicino.

Dopo aver trasferito con successo GNU/Linux su una partizione crittografata, la vecchia copia deve essere eliminata senza possibilità di recupero dei dati. Metodo di pulizia universale: software per software GUI gratuito Windows/Linux BleachBit.
rapidamente formattare la sezione, i cui dati devono essere distrutti (tramite Gparted) avvia BleachBit, seleziona "Ripulisci spazio libero" - seleziona la partizione (il tuo sdaX con una copia precedente di GNU/Linux), verrà avviato il processo di rimozione. BleachBit - pulisce il disco in un solo passaggio - questo è ciò di cui "abbiamo bisogno", Ma! In teoria funziona solo se hai formattato il disco e lo hai pulito nel software BB v2.0.

Attenzione! BB cancella il disco, lasciando i metadati; i nomi dei file vengono conservati quando i dati vengono eliminati (Ccleaner: non lascia metadati).

E il mito sulla possibilità di recupero dei dati non è del tutto un mito.Bleachbit V2.0-2 precedente pacchetto Debian del sistema operativo instabile (e qualsiasi altro software simile: sfill; wipe-Nautilus - sono stati notati anche in questo sporco affare) in realtà aveva un bug critico: la funzione "liberazione dello spazio libero". funziona in modo errato su unità HDD/Flash (ntfs/ext4). Software di questo tipo, quando liberano spazio libero, non sovrascrivono l'intero disco, come pensano molti utenti. E alcuni (Molti) dati cancellati Il sistema operativo/software considera questi dati come dati utente/non cancellati e durante la pulizia di “OSP” salta questi file. Il problema è che dopo così tanto tempo, la pulizia del disco I "file cancellati" possono essere recuperati anche dopo 3+ passaggi di pulizia del disco.
Su GNU/Linux su Bleachbit 2.0-2 Le funzioni di eliminazione permanente di file e directory funzionano in modo affidabile, ma non liberano spazio libero. Per fare un confronto: su Windows in CCleaner la funzione "OSP per ntfs" funziona correttamente e Dio non sarà davvero in grado di leggere i dati cancellati.

E così, per rimuovere completamente "compromettente" vecchi dati non crittografati, Bleachbit necessita dell'accesso diretto a questi dati, quindi, utilizzare la funzione “Elimina definitivamente file/directory”.
Per rimuovere i "file eliminati utilizzando gli strumenti del sistema operativo standard" in Windows, utilizzare CCleaner/BB con la funzione "OSP". In GNU/Linux su questo problema (elimina file eliminati) devi fare pratica da solo (eliminazione dei dati + tentativo indipendente di ripristinarli e non fare affidamento sulla versione del software (se non un segnalibro, quindi un bug)), solo in questo caso sarai in grado di comprendere il meccanismo di questo problema ed eliminare completamente i dati cancellati.

Non ho testato Bleachbit v3.0, il problema potrebbe essere già stato risolto.
Bleachbit v2.0 funziona onestamente.

A questo punto, la pulizia del disco è completata.

[E] Backup universale del sistema operativo crittografato

Ogni utente ha il proprio metodo di backup dei dati, ma i dati crittografati del sistema operativo richiedono un approccio leggermente diverso all'attività. Il software unificato, come Clonezilla e software simile, non può funzionare direttamente con i dati crittografati.

Dichiarazione del problema del backup dei dispositivi a blocchi crittografati:

  1. universalità: lo stesso algoritmo/software di backup per Windows/Linux;
  2. la possibilità di lavorare nella console con qualsiasi live USB GNU/Linux senza la necessità di scaricare software aggiuntivi (ma consiglio comunque la GUI);
  3. sicurezza delle copie di backup: le “immagini” archiviate devono essere crittografate/protette da password;
  4. la dimensione dei dati crittografati deve corrispondere alla dimensione dei dati effettivi da copiare;
  5. comoda estrazione dei file necessari da una copia di backup (non è necessario decrittografare prima l'intera sezione).

Ad esempio, backup/ripristino tramite l'utilità "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

Corrisponde a quasi tutti i punti dell'attività, ma secondo il punto 4 non resiste alle critiche, poiché copia l'intera partizione del disco, compreso lo spazio libero - non interessante.

Ad esempio, un backup GNU/Linux tramite l'archiviatore [tar" | gpg] è conveniente, ma per il backup di Windows devi cercare un'altra soluzione: non è interessante.

E1. Backup universale di Windows/Linux. Collega il volume rsync (Grsync)+VeraCryptAlgoritmo per la creazione di una copia di backup:

  1. creando un contenitore crittografato (volume/file) VeraCrypt per sistema operativo;
  2. trasferire/sincronizzare il sistema operativo utilizzando il software Rsync nel contenitore crittografico VeraCrypt;
  3. se necessario, caricando il volume VeraCrypt su www.

La creazione di un contenitore VeraCrypt crittografato ha le sue caratteristiche:
creando un volume dinamico (la creazione di DT è disponibile solo in Windows, può essere utilizzata anche in GNU/Linux);
creando un volume regolare, ma è richiesto un “carattere paranoico” (secondo lo sviluppatore) – formattazione del contenitore.

Un volume dinamico viene creato quasi istantaneamente in Windows, ma quando si copiano dati da GNU/Linux > VeraCrypt DT, le prestazioni complessive dell'operazione di backup diminuiscono in modo significativo.

Viene creato un normale volume Twofish da 70 GB (diciamo solo, sulla potenza media del PC) su HDD ~ in mezz'ora (la sovrascrittura dei precedenti dati del contenitore in un unico passaggio è dovuta a requisiti di sicurezza). La funzione di formattazione rapida di un volume durante la sua creazione è stata rimossa da VeraCrypt Windows/Linux, quindi la creazione di un contenitore è possibile solo tramite la "riscrittura in un solo passaggio" o la creazione di un volume dinamico a basse prestazioni.

Crea un volume VeraCrypt regolare (non dinamico/ntfs), non dovrebbero esserci problemi.

Configura/crea/apri un contenitore nella GUI VeraCrypt> GNU/Linux live usb (il volume verrà montato automaticamente su /media/veracrypt2, il volume del sistema operativo Windows verrà montato su /media/veracrypt1). Creazione di un backup crittografato del sistema operativo Windows utilizzando GUI rsync (grsync)selezionando le caselle.

Crittografia completa del disco dei sistemi Windows Linux installati. Avvio multiplo crittografato

Attendi il completamento del processo. Una volta completato il backup, avremo un file crittografato.

Allo stesso modo, crea una copia di backup del sistema operativo GNU/Linux deselezionando la casella di controllo "Compatibilità con Windows" nella GUI di rsync.

Attenzione! creare un contenitore Veracrypt per il "backup GNU/Linux" nel file system ext4. Se esegui un backup su un contenitore NTFS, quando ripristini tale copia, perderai tutti i diritti/gruppi su tutti i tuoi dati.

Tutte le operazioni possono essere eseguite nel terminale. Opzioni di base per rsync:
* -g -salva gruppi;
* -P —progress — stato del tempo impiegato a lavorare sul file;
* -H - copia gli hardlink così come sono;
* -a -modalità archivio (più flag rlptgoD);
* -v -verbalizzazione.

Se desideri montare un "volume Windows VeraCrypt" tramite la console nel software cryptsetup, puoi creare un alias (su)

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

Ora il comando "vermount Pictures" ti chiederà di inserire una passphrase e il volume di sistema Windows crittografato verrà montato nel sistema operativo.

Mappa/monta il volume di sistema VeraCrypt nel comando cryptsetup

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

Mappare/montare la partizione/contenitore VeraCrypt nel comando cryptsetup

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

Invece dell'alias, aggiungeremo (uno script all'avvio) un volume di sistema con sistema operativo Windows e un disco ntfs crittografato logico all'avvio GNU/Linux

Crea uno script e salvalo in ~/VeraOpen.sh

printf 'Ym9i' | base64 -d | cryptsetup open --veracrypt --tcrypt-system --type tcrypt /dev/sda3 Windows_crypt && mount /dev/mapper/Windows_crypt /media/Winda7 #декодируем пароль из base64 (bob) и отправляем его на запрос ввода пароля при монтировании системного диска ОС Windows.
printf 'Ym9i' | base64 -d | cryptsetup open --veracrypt --type tcrypt /dev/sda1 ntfscrypt && mount /dev/mapper/ntfscrypt /media/КонтейнерНтфс #аналогично, но монтируем логический диск ntfs.

Distribuiamo i diritti “corretti”:

sudo chmod 100 /VeraOpen.sh

Crea due file identici (stesso nome!) in /etc/rc.local e ~/etc/init.d/rc.local
Compilazione dei file

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

Distribuiamo i diritti “corretti”:

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

Questo è tutto, ora quando carichiamo GNU/Linux non abbiamo bisogno di inserire password per montare dischi ntfs crittografati, i dischi vengono montati automaticamente.

Una breve nota su quanto descritto sopra nel paragrafo E1 passo passo (ma ora per OS GNU/Linux)
1) Creare un volume in fs ext4 > 4gb (per file) Linux in Veracrypt [Cryptbox].
2) Riavviare su USB live.
3) ~$ cryptsetup open /dev/sda7 Lunux #mappatura della partizione crittografata.
4) ~$ mount /dev/mapper/Linux /mnt #monta la partizione crittografata su /mnt.
5) ~$ mkdir mnt2 #creazione di una directory per un backup futuro.
6) ~$ cryptsetup open —veracrypt —type tcrypt ~/CryptoBox CryptoBox && mount /dev/mapper/CryptoBox /mnt2 #Mappa un volume Veracrypt denominato “CryptoBox” e monta CryptoBox su /mnt2.
7) ~$ rsync -avlxhHX —progress /mnt /mnt2/ #operazione di backup di una partizione crittografata su un volume Veracrypt crittografato.

(p/s/ Attenzione! Se stai trasferendo GNU/Linux crittografato da un'architettura/macchina a un'altra, ad esempio Intel > AMD (ovvero, distribuendo un backup da una partizione crittografata a un'altra partizione Intel > AMD crittografata), non dimenticare Dopo aver trasferito il sistema operativo crittografato, forse è possibile modificare la chiave sostitutiva segreta anziché la password. la chiave precedente ~/etc/skey - non si adatterà più a un'altra partizione crittografata e non è consigliabile creare una nuova chiave "cryptsetup luksAddKey" da chroot - è possibile un problema tecnico, basta specificare in ~/etc/crypttab invece di “/etc/skey” temporaneamente “none” ", dopo il rebot e l'accesso al sistema operativo, ricrea nuovamente la chiave segreta con carattere jolly).

Come veterani dell'IT, ricordatevi di eseguire separatamente i backup delle intestazioni delle partizioni crittografate del sistema operativo Windows/Linux, altrimenti la crittografia si rivolterà contro di voi.
A questo punto, il backup del sistema operativo crittografato è completato.

[F] Attacco al bootloader GRUB2

dettagliSe hai protetto il tuo bootloader con una firma digitale e/o un'autenticazione (vedi punto C6.), ciò non proteggerà dall'accesso fisico. I dati crittografati saranno comunque inaccessibili, ma la protezione verrà aggirata (reimposta protezione firma digitale) GRUB2 consente a un criminale informatico di inserire il proprio codice nel bootloader senza destare sospetti (a meno che l'utente non monitori manualmente lo stato del bootloader o non crei il proprio robusto codice di script arbitrario per grub.cfg).

Algoritmo di attacco. Intruso

* Avvia il PC da USB live. Qualsiasi cambiamento (violatore) avviseranno il vero proprietario del PC dell'intrusione nel bootloader. Ma una semplice reinstallazione di GRUB2 mantenendo grub.cfg (e la conseguente possibilità di modificarlo) consentirà a un utente malintenzionato di modificare qualsiasi file (in questa situazione, durante il caricamento di GRUB2, l'utente reale non verrà avvisato. Lo stato è lo stesso <0>)
* Monta una partizione non crittografata, memorizza "/mnt/boot/grub/grub.cfg".
* Reinstalla il bootloader (rimuovendo "perskey" dall'immagine core.img)

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

* Restituisce “grub.cfg” > “/mnt/boot/grub/grub.cfg”, modificalo se necessario, ad esempio aggiungendo il modulo “keylogger.mod” alla cartella con i moduli di caricamento, in “grub.cfg” > riga "insmod keylogger". Oppure, ad esempio, se il nemico è astuto, dopo aver reinstallato GRUB2 (tutte le firme restano al loro posto) crea l'immagine GRUB2 principale utilizzando "grub-mkimage con opzione (-c)." L'opzione "-c" ti consentirà di caricare la tua configurazione prima di caricare il "grub.cfg" principale. La configurazione può consistere di una sola riga: reindirizzamento a qualsiasi "modern.cfg", misto, ad esempio, con ~400 file (moduli+firme) nella cartella "/boot/grub/i386-pc". In questo caso, un utente malintenzionato può inserire codice arbitrario e caricare moduli senza influenzare “/boot/grub/grub.cfg”, anche se l’utente ha applicato “hashsum” al file e lo ha temporaneamente visualizzato sullo schermo.
Un utente malintenzionato non avrà bisogno di hackerare il login/password del superutente GRUB2; dovrà solo copiare le righe (responsabile dell'autenticazione) "/boot/grub/grub.cfg" nel tuo "modern.cfg"

imposta superutenti="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DE10E42B01BB6FEEE46250FC5F9C3756894A8476A7F7661A9FFE9D6CC4D0A168898B98C34EBA210F46FC10985CE28277D0563F74E108FCE3ACBD52B26F8BA04D.27625A4D30E4F1044962D3DD1C2E493EF511C01366909767C3AF9A005E81F4BFC33372B9C041BE9BA904D7C6BB141DE48722ED17D2DF9C560170821F033BCFD8

E il proprietario del PC verrà comunque autenticato come superutente GRUB2.

Caricamento a catena (il bootloader carica un altro bootloader), come ho scritto sopra, non ha senso (è destinato ad uno scopo diverso). Impossibile caricare il bootloader crittografato a causa del BIOS (l'avvio a catena riavvia GRUB2 > GRUB2 crittografato, errore!). Tuttavia, se usi ancora l'idea del caricamento a catena, puoi essere sicuro che viene caricato quello crittografato. (non modernizzato) "grub.cfg" dalla partizione crittografata. E questo è anche un falso senso di sicurezza, perché tutto ciò che è indicato nel file “grub.cfg” crittografato (caricamento del modulo) si aggiunge ai moduli caricati da GRUB2 non crittografato.

Se vuoi verificarlo, alloca/crittografa un'altra partizione sdaY, copia GRUB2 su di essa (l'operazione di installazione di grub su una partizione crittografata non è possibile) e in "grub.cfg" (configurazione non crittografata) cambiare righe come queste

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

строки
* insmod: caricamento dei moduli necessari per lavorare con un disco crittografato;
* GRUBx2 - nome della linea visualizzata nel menu di avvio di GRUB2;
* cryptomount -u 15c47d1c4bd34e5289df77bcf60ee838 -vedi. fdisk -l (sda9);
* imposta root - installa root;
* normale /boot/grub/grub.cfg - file di configurazione eseguibile su una partizione crittografata.

La certezza che sia il file "grub.cfg" crittografato a essere caricato è una risposta positiva all'inserimento della password/sblocco "sdaY" quando si seleziona la riga "GRUBx2" nel menu di GRUB.

Quando si lavora nella CLI, per non confondersi (e controlla se la variabile d'ambiente "set root" ha funzionato), creare file token vuoti, ad esempio, nella sezione crittografata “/shifr_grub”, nella sezione non crittografata “/noshifr_grub”. Controllo nella CLI

cat /Tab-Tab

Come notato sopra, questo non aiuterà a prevenire il download di moduli dannosi se tali moduli finiscono sul tuo PC. Ad esempio, un keylogger che sarà in grado di salvare le sequenze di tasti in un file e mescolarlo con altri file in "~/i386" finché non verrà scaricato da un utente malintenzionato con accesso fisico al PC.

Il modo più semplice per verificare che la protezione della firma digitale funzioni attivamente (non resettato)e nessuno ha invaso il bootloader, inserisci il comando nella CLI

list_trusted

in risposta riceviamo una copia del nostro “perskey”, oppure non riceviamo nulla se veniamo attaccati (devi anche selezionare "set check_signatures=enforce").
Uno svantaggio significativo di questo passaggio è l'immissione manuale dei comandi. Se aggiungi questo comando a "grub.cfg" e proteggi la configurazione con una firma digitale, l'output preliminare dell'istantanea della chiave sullo schermo avrà tempi troppo brevi e potresti non avere il tempo di vedere l'output dopo aver caricato GRUB2 .
Non c'è nessuno in particolare a cui avanzare pretese: lo sviluppatore nel suo documentazione la clausola 18.2 dichiara ufficialmente

“Si noti che anche con la protezione tramite password GRUB, GRUB stesso non può impedire a qualcuno con accesso fisico alla macchina di alterare la configurazione del firmware della macchina (ad esempio Coreboot o BIOS) per causare l'avvio della macchina da un dispositivo diverso (controllato dall'aggressore). GRUB è nella migliore delle ipotesi solo un anello in una catena di boot sicura."

GRUB2 è troppo sovraccarico di funzioni che possono dare un senso di falsa sicurezza, e il suo sviluppo ha già superato MS-DOS in termini di funzionalità, ma è solo un bootloader. È divertente che GRUB2 - "domani" possa diventare il sistema operativo e le relative macchine virtuali GNU/Linux avviabili.

Un breve video su come ho ripristinato la protezione della firma digitale GRUB2 e ho dichiarato la mia intrusione a un utente reale (Ti ho spaventato, ma invece di quanto mostrato nel video, puoi scrivere codice arbitrario/.mod non innocuo).

Conclusioni:

1) La crittografia del sistema a blocchi per Windows è più semplice da implementare, e la protezione con una password è più conveniente della protezione con più password con la crittografia del sistema a blocchi GNU/Linux, per essere onesti: quest'ultima è automatizzata.

2) Ho scritto l'articolo come pertinente e dettagliato semplice una guida alla crittografia dell'intero disco VeraCrypt/LUKS su una macchina domestica, che è di gran lunga la migliore in RuNet (IMHO). La guida è lunga > 50k caratteri, quindi non ha trattato alcuni capitoli interessanti: crittografi che scompaiono/restano nell'ombra; sul fatto che in vari libri su GNU/Linux si scrive poco/non si scrive di crittografia; sull'articolo 51 della Costituzione della Federazione Russa; O licenza/bandire crittografia nella Federazione Russa, sul motivo per cui è necessario crittografare "root/boot". La guida si è rivelata piuttosto estesa, ma dettagliata. (descrivendo anche i passaggi più semplici), a sua volta, questo ti farà risparmiare molto tempo quando arriverai alla “crittografia reale”.

3) La crittografia completa del disco è stata eseguita su Windows 7 64; GNU/Linux Parrot 4x; GNU/Debian 9.0/9.5.

4) Implementato un attacco riuscito il suo Bootloader GRUB2.

5) Il tutorial è stato creato per aiutare tutte le persone paranoiche nella CSI, dove lavorare con la crittografia è consentito a livello legislativo. E soprattutto per coloro che desiderano implementare la crittografia dell'intero disco senza demolire i sistemi configurati.

6) Ho rielaborato e aggiornato il mio manuale, che è rilevante nel 2020.

[G] Documentazione utile

  1. Guida per l'utente di TrueCrypt (febbraio 2012 RU)
  2. Documentazione VeraCrypt
  3. /usr/share/doc/cryptsetup(-run) [risorsa locale] (documentazione ufficiale dettagliata sulla configurazione della crittografia GNU/Linux utilizzando cryptsetup)
  4. Domande frequenti ufficiali su cryptsetup (breve documentazione sulla configurazione della crittografia GNU/Linux utilizzando cryptsetup)
  5. Crittografia del dispositivo LUKS (documentazione archlinux)
  6. Descrizione dettagliata della sintassi di cryptsetup (pagina man di Arch)
  7. Descrizione dettagliata di crypttab (pagina man di Arch)
  8. Documentazione ufficiale di GRUB2.

Tag: crittografia dell'intero disco, crittografia delle partizioni, crittografia dell'intero disco Linux, crittografia dell'intero sistema LUKS1.

Solo gli utenti registrati possono partecipare al sondaggio. AccediPer favore.

Stai crittografando?

  • 17,1%Crittografo tutto quello che posso. Sono paranoico.14

  • 34,2%Crittografo solo i dati importanti.28

  • 14,6%A volte crittografo, a volte dimentico.12

  • 34,2%No, non crittografo, è scomodo e costoso.28

82 utenti hanno votato. 22 utenti si sono astenuti.

Fonte: habr.com

Aggiungi un commento