C'è un modo per abilitare l'avvio sicuro in Linux?


8

Proprio come Windows ha un avvio sicuro che impedisce l'esecuzione di qualsiasi codice Caricatore SO esterno all'avvio, Linux ha qualche opzione simile per sé? Mi sono guardato intorno, ma quando cerco, gli unici risultati che ottengo è come installare Linux su un computer Windows abilitato UEFI. Non riesco a trovare come posso portare questa opzione sulla mia macchina Linux.


parola chiave di ricerca: "trusted grub"
SO di Gilles

C'è la possibilità di installare un shimbootloader che è stato firmato da Microsoft, vedi ad esempio wiki.debian.org/SecureBoot
phk

@Gilles è affidabile il software trustedgrub? È intimidatorio scaricare qualcosa che cambierà il mio processo di avvio.
Rohan,

@Rohan Trusted Grub è affidabile come qualsiasi altro software Linux fondamentale. È gestito dalle stesse persone di TrouSers che è lo stack software TPM di Linux.
Gilles 'SO-smetti di essere malvagio' il

Risposte:


3

Affinché l'avvio sicuro funzioni, l'hardware dovrebbe supportare l'avvio sicuro e il sistema operativo dovrebbe supportare l'avvio sicuro.

Per HW, è possibile controllare nei menu di impostazione UEFI ed è necessario aggiungere i certificati / le chiavi forniti dal sistema operativo

Per il sistema operativo, è possibile verificare il supporto mediante i seguenti comandi:

[root@secureboot-guest ~]# cat /sys/kernel/security/securelevel 

Se l'output del comando precedente è "1", l'avvio protetto è supportato e abilitato dal sistema operativo.


Non esiste un file del genere ...
Rohan,

@Rohan, è possibile che il tuo kernel non sia compilato con il supporto di avvio sicuro. Controlla l'output di quanto segue: [root @ secureboot-guest ~] # cat / boot / config-uname -r | grep SECURE Se il supporto per l'avvio sicuro è presente nel kernel, otterrai un output come di seguito: CONFIG_EFI_SECURE_BOOT_SECURELEVEL = y CONFIG_SECURITY_SECURELEVEL = y
shubham

-rè un'opzione non valida per cat, secondo il mio terminale.
Rohan,

oh in realtà era un comando linux. Questo è il comando: cat / boot / config- uname -r put uname -r inside `ad entrambe le estremità
shubham,

2

Prima di tutto: genera la propria chiave

openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -x509 \
       -subj "/ CN = Chiave del kernel" -outform DER -out kernel.der \
       -keyout kernel.key

Prova a compilare il kernel Linux con CONFIG_EFI_STUB e incorpora initramfs come descritto qui: https://prosauce.org/blog/2015/10/31/booting-linux-securly , per firmare i moduli che puoi usare il prossimo script:

/ usr / src / linux-headers - $ (uname -r) / scripts / sign-file sha256 kernel.key kernel.der module.ko

Quindi crea il file con il cmdline del kernel per il tuo laptop \ workstation e crea un'immagine e copialo nella directory di avvio di efi in questo modo:

# objcopy \
  --add-section .osrel = / etc / os-release --change-section-vma .osrel = 0x20000 \
  --add-section .cmdline = / tmp / cmdline --change-section-vma .cmdline = 0x30000 \
  --add-section .linux = / boot / vmlinuz --change-section-vma .linux = 0x2000000 \
  --add-section .initrd = / boot / initrd.img --change-section-vma .initrd = 0x3000000 \
/usr/lib/systemd/boot/efi/linuxx64.efi.stub linux.efi

# mkdir -p / boot / efi / EFI / BOOT

# sbsign --key /root/keys/ISK.key --cert /root/keys/ISK.pem --output /boot/efi/EFI/BOOT/BOOTX64.EFI linux.efi / boot / efi / EFI / BOOT /BOOTX64.EFI

Per installare la propria chiave nel firmware MB è possibile eseguire cmds in questo modo:

openssl x509 -inform der -in kernel.der -outform pem -out kernel.pem
cert-to-efi-sig-list -g "$ (uuidgen)" kernel.pem kernel.esl
sign-efi-sig-list -k KEK.key -c KEK.pem kernel kernel.esl kernel.auth

-1

L'avvio sicuro di AFAIK è una funzionalità UEFI sviluppata da Microsoft e da altre società che formano il consorzio UEFI.

UEFI è parzialmente rinforzato dall'hardware, ad esempio la configurazione della scheda madre potrebbe / non potrebbe interferire. Se si utilizza UEFI completo, è probabile che sarà possibile abilitare l'avvio protetto dal menu UEFI stesso.

Tuttavia, se il tuo firmware è UEFI con CSM / BIOS, potresti riscontrare alcuni blocchi stradali come l'opzione per abilitare l'avvio protetto in grigio e tutto il resto.


2
Non è un prodotto Microsoft, è uno standard che Microsoft avrebbe potuto dire molto nella sua creazione: en.wikipedia.org/wiki/…
phk

@phk ha aggiornato la risposta di conseguenza
sohom154,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.