GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire il nucleare dell'installazione di Kali crittografata

C'è stata una discreta quantità di discussioni sulla patch nucleare LUKS introdotta di recente che abbiamo aggiunto al pacchetto cryptsetup in Kali Linux. Volevamo cogliere l'occasione per spiegare meglio questa funzione e per dimostrare alcuni approcci utili che vale la pena conoscere.

LUKS Nuke in breve

Come spiegato bene da Michael Lee nel suo articolo ZDNet, quando si crea un contenitore LUKS crittografato, viene generata una chiave master in modo casuale. Una passphrase viene quindi utilizzata per crittografare a sua volta la chiave master. Questo processo significa che la passphrase non è direttamente accoppiata ai dati. Cioè, se due set di dati identici vengono crittografati e viene utilizzata la stessa passphrase, le chiavi master rimangono univoche per ciascun set e non possono essere scambiate. Ciò significa anche che, indipendentemente dalla passphrase utilizzata, in caso di smarrimento della chiave master, il recupero dei dati è impossibile. Questo processo si presta convenientemente ad essere usato come una bomba atomica pulendo deliberatamente le chiavi.

Esempio di caso d'uso di LUKS Nuke

Il nostro scopo principale per l'introduzione di questa funzionalità in Kali Linux è semplificare il processo di viaggio sicuro con informazioni riservate sui clienti. Mentre "LUKS Nuking" l'unità risulterà in un disco inaccessibile, lo è possibile eseguire il backup dei keylot in anticipo e ripristinarli dopo il fatto. Ciò che ci consente di fare è "murare" i nostri laptop sensibili prima di qualsiasi viaggio, separarci dalle chiavi di ripristino (che crittografiamo) e quindi "ripristinarli" sulle macchine una volta tornati in un luogo sicuro. In questo modo, se il nostro hardware viene perso o altrimenti si accede a metà dei nostri viaggi, nessuno è in grado di ripristinare i dati su di esso, incluso noi stessi.

Esistono altri modi per eliminare i tuoi slot di chiavi, tuttavia il vantaggio dell'opzione Nuke è che è veloce, facile e non richiede l'accesso completo all'installazione di Kali. Se mantieni un backup dell'intestazione, puoi eseguire il Nuke degli slot delle chiavi ogni volta che ti senti a disagio. Quindi esegui un ripristino quando ti senti al sicuro.

Prova questo per te

Esaminiamo i movimenti di crittografia, backup, distruzione e ripristino dei dati utilizzando Kali Linux. Inizia scaricando e installando Kali Linux 1.0.6 con Full Disk Encryption. Una volta fatto, puoi verificare le tue informazioni come segue:

[email protected]:~# cryptsetup luksDump /dev/sda5
LUKS header information for /dev/sda5

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha1
Payload offset: 4096
MK bits:        512
MK digest:      04 cd d0 51 bf 57 10 f5 87 08 07 d5 c8 2a 34 24 7a 89 3b db
MK salt:        27 42 e5 a6 b2 53 7f de 00 26 d3 f8 66 fb 9e 48
                16 a2 b0 a9 2c bb cc f6 ea 66 e6 b1 79 08 69 17
MK iterations:  65750
UUID:           126d0121-05e4-4f1d-94d8-bed88e8c246d

Key Slot 0: ENABLED
    Iterations:             223775
    Salt:                   7b ee 18 9e 46 77 60 2a f6 e2 a6 13 9f 59 0a 88
                            7b b2 db 84 25 98 f3 ae 61 36 3a 7d 96 08 a4 49
    Key material offset:    8
    AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

Come puoi vedere, abbiamo lo slot 0 abilitato con gli slot da 1 a 7 inutilizzati. A questo punto aggiungeremo la nostra chiave nucleare.

[email protected]:~# apt install cryptsetup-nuke-password
[email protected]:~# dpkg-reconfigure cryptsetup-nuke-password

Questo non ha cambiato nulla al contenitore LUKS, invece ha installato la password nucleare e un piccolo hook in initrd. Questo hook rileverà quando inserisci la tua password nucleare all'avvio e chiamerà "cryptsetup luksErase ” sul tuo container LUKS in quel momento.

Meraviglioso. Ora dobbiamo eseguire il backup delle chiavi di crittografia. Questo può essere fatto facilmente con l'opzione "luksHeaderBackup".

[email protected]:~# cryptsetup luksHeaderBackup --header-backup-file luksheader.back /dev/sda5
[email protected]:~# file luksheader.back
luksheader.back: LUKS encrypted file, ver 1 [aes, xts-plain64, sha1] UUID: 126d0121-05e4-4f1d-94d8-bed88e8c246d
[email protected]:~#

Quindi, nel nostro caso vorremmo crittografare questi dati per l'archiviazione. Ci sono diversi modi per farlo, tuttavia useremo openssl per rendere il processo facile e veloce usando gli strumenti predefiniti in Kali.

[email protected]:~# openssl enc -aes-256-cbc -salt -in luksheader.back -out luksheader.back.enc
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
[email protected]:~# ls -lh luksheader.back*
-r-------- 1 root root 2.0M Jan  9 13:42 luksheader.back
-rw-r--r-- 1 root root 2.0M Jan  9 15:50 luksheader.back.enc
[email protected]:~# file luksheader.back*
luksheader.back:     LUKS encrypted file, ver 1 [aes, xts-plain64, sha1] UUID: 126d0121-05e4-4f1d-94d8-bed88e8c246d
luksheader.back.enc: data

Ottimo, ora abbiamo l'intestazione crittografata pronta per il backup. In questo caso, vorremmo posizionare l'intestazione in un punto facilmente accessibile. Questo potrebbe essere semplice come su una chiavetta USB conservata in un luogo sicuro. A questo punto, riavviamo e utilizziamo la chiave Nuke e vediamo come risponde Kali.

Quindi abbiamo usato la chiave Nuke e, come previsto, non possiamo più avviare Kali. Vediamo cosa è successo sul disco reale avviando un CD live di Kali e scaricando nuovamente l'intestazione LUKS.

[email protected]:~# cryptsetup luksDump /dev/sda5
LUKS header information for /dev/sda5

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha1
Payload offset: 4096
MK bits:        512
MK digest:      04 cd d0 51 bf 57 10 f5 87 08 07 d5 c8 2a 34 24 7a 89 3b db
MK salt:        27 42 e5 a6 b2 53 7f de 00 26 d3 f8 66 fb 9e 48
                16 a2 b0 a9 2c bb cc f6 ea 66 e6 b1 79 08 69 17
MK iterations:  65750
UUID:           126d0121-05e4-4f1d-94d8-bed88e8c246d

Key Slot 0: DISABLED
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

Come possiamo vedere, non sono in uso slot per chiavi. Il Nuke ha funzionato come previsto. Per ripristinare l'intestazione al suo posto, è sufficiente recuperare l'intestazione crittografata dall'unità USB. Una volta che lo abbiamo, possiamo decrittografarlo ed eseguire il nostro ripristino:

[email protected]:~# openssl enc -d -aes-256-cbc -in luksheader.back.enc -out luksheader.back
enter aes-256-cbc decryption password:
[email protected]:~# cryptsetup luksHeaderRestore --header-backup-file luksheader.back /dev/sda5

WARNING!
========
Device /dev/sda5 already contains LUKS header. Replacing header will destroy existing keyslots.

Are you sure? (Type uppercase yes): YES
[email protected]:~# cryptsetup luksDump /dev/sda5
LUKS header information for /dev/sda5

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha1
Payload offset: 4096
MK bits:        512
MK digest:      04 cd d0 51 bf 57 10 f5 87 08 07 d5 c8 2a 34 24 7a 89 3b db
MK salt:        27 42 e5 a6 b2 53 7f de 00 26 d3 f8 66 fb 9e 48
                16 a2 b0 a9 2c bb cc f6 ea 66 e6 b1 79 08 69 17
MK iterations:  65750
UUID:           126d0121-05e4-4f1d-94d8-bed88e8c246d

Key Slot 0: ENABLED
    Iterations:             223775
    Salt:                   7b ee 18 9e 46 77 60 2a f6 e2 a6 13 9f 59 0a 88
                            7b b2 db 84 25 98 f3 ae 61 36 3a 7d 96 08 a4 49
    Key material offset:    8
    AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

I nostri slot sono ora ripristinati. Tutto quello che dobbiamo fare è semplicemente riavviare e fornire la nostra normale password LUKS e il sistema tornerà al suo stato originale.


Linux
  1. Come controllare la data di installazione del tuo sistema operativo Linux?

  2. Come rimuovere la password dalla tua chiave SSL

  3. Metapacchetti Kali Linux

  4. Come copiare una chiave pubblica sul tuo server

  5. Utilizzo di una singola passphrase per sbloccare più dischi crittografati all'avvio

Come installare VeraCrypt su Kali Linux

Come installare Kali Linux su VirtualBox

Come usare traceroute su Kali Linux

Come trovare la data e l'ora esatte di installazione del tuo sistema operativo Linux

Come firmare le tue immagini Docker per aumentare la fiducia

Come recuperare la chiave di attivazione della licenza Plesk