[Linuxtrent] Re: problema con wireless ubuntu 20.04

  • From: Antonio Galea <antonio.galea@xxxxxxxxx>
  • To: linuxtrent <linuxtrent@xxxxxxxxxxxxx>
  • Date: Tue, 12 Jan 2021 11:10:21 +0100

On Tue, Jan 12, 2021 at 9:39 AM Mirko Perillo <mirko.perillo@xxxxxxxxx> wrote:


quando eseguo comando sudo apt-get install r8168-dkms
mi presenta una finestra dicendo:
Hai UEFI Secure Boot abilitato, per riconoscere che questa modifica al kernel 
viene fatta da un utente autorizzato mi chiede di fornire una password che 
poi mi verrà richiesta nuovamente al reboot.
Alcune domande:

1. Questa password serve solo per questo processo di installazione o dovrò 
conservarla per sempre ?
2. Se imposto una password si rompe qualcosa lato Windows ?

La password ti serve per creare una tua chiave personale, ed
aggiungerla a quelle salvate nel TPM - il chip di crittografia a cui
si appoggia secureboot. Dovrai tenerla in un posto sicuro, per poterla
usare ancora - ma se la perdessi alla peggio puoi sempre generare una
chiave nuova, installarla nel TPM e firmare i driver con quella.
Volendo, puoi anche generare un certificato senza chiave - tanto se
qualcuno lo legge è già root - quindi all'atto pratico sei già bello
che fritto.

Con secure boot UEFI accetta solo kernel e moduli firmati con le
chiavi che sono nel TPM - ogni volta che ricompilerai il driver (visto
che usi DKMS, ad ogni aggiornamento del kernel) dovrai firmarlo
nuovamente. Una qualsiasi delle chiavi salvate nel TPM verrà accettata
da UEFI: quindi a Windows non succederà nulla, basta che non rimuovi
le chiavi di Microsoft.

Io uso questa ricetta (come root):

apt install mokutil
mkdir mok
cd mok
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER
-out MOK.der -days 36500 -subj "/CN=Mirko Perillo/" -nodes
mokutil --import MOK.der
mokutil --list-new

A questo punto, devi riavviare il PC, e UEFI ti chiederà se vuoi
fidarti della chiave appena generata (in inglese, si chiama "MOK
enrollment").

Una volta che la chiave è salvata nel TPM, la puoi usare per firmare i
moduli kernel che compili tu. Ad esempio, da un'amica uso DKMS per
tenere aggiornato una 8821ce; la procedura di firma è questa:

find /lib/modules/ -type f -name 8821ce.ko \
  -exec $(ls -td /usr/lib/linux-kbuild-*|head -1)/scripts/sign-file
sha256 /root/mok/MOK.priv /root/mok/MOK.der {} \;

Su Debian la faccio a mano, tanto il suo PC lo aggiorno comunque io;
ma immagino che ci sia già qualcuno che ha aggiunto degli hook di
postcompilazione per DKMS, in modo da essere sicuri che non dimentichi
di fare questo passaggio.

Se il PC è il tuo, un modulo non firmato non verrà caricato e dmesg ti
segnalerà un errore: resterai senza wifi finché non firmi. Se il PC lo
raggiungi da remoto ed al riavvio il wifi non va, invece, è tempo di
saltare in macchina. Ma la seconda volta non te lo dimentichi ;-)

Antonio
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: