¿ Que es el boot seguro ?
Es un arranque firmado por certificados X509, justo como los certificados que hacen el HTTPS, estos certificados se usan para firmar los binarios de arranque como el GRUB y el Kernel Linux. Esto garantiza que no ha sido modificado o se ha instalado un kernel para suplantar nuestro kernel actual con posibles backdoor así como virus de boot que cargan antes de que cargue el código del kernel
Verificando si estamos en modo boot seguro o sin seguridad
mokutil –sb-state
Crear los certificados
el certificado de plataforma y el certificado base de datos de kernel o binarios que arrancan
Certificado de plataforma, para activar el modo Secure BOOT
openssl req -new -x509 -newkey rsa:2048 -subj “/CN=Last Dragon Plataforma/” -keyout PK.key -out PK.crt -days 3650 -nodes -sha256
Certificado de base de datos ( DB ) para firmar los binarios de arranque
openssl req -new -x509 -newkey rsa:2048 -subj “/CN=Last Dragon Cert boot en la base de datos/” -keyout db.key -out db.crt -days 3650 -nodes -sha256
Convertir los archivos CRT a formato DER para instalarlo en el EFI BIOS del PC
openssl x509 -outform DER -in PK.crt -out PK.der
openssl x509 -outform DER -in db.crt -out db.der
Los archivos DER pueden ser almacenados temporalmente en la partición EFI del disco duro para que el BIOS EFI tenga acceso a estos archivos, también podría ser guardados en una memoria USB para el mismo propósito
Firmando e GRUB
sbsign –key db.key –cert db.crt –output /boot/efi/EFI/debian/grubx64.efi /boot/efi/EFI/debian/grubx64.efi
sbsign –key db.key –cert db.crt –output /boot/efi/EFI/debian/shimx64.efi /boot/efi/EFI/debian/shimx64.efi
Firma de Kernel
Debian 11 viene con kernel firmados para funcionar con su GRUB por lo que muy probablemente no sea necesario firmar el kernel que incluye Debian, sin embargo cualquier kernel extranjero o compilado desde su fuentes de www.kernel.org deberá ser firmado o no podrá cargar
sbsign –key db.key –cert db.crt –output /boot/vmlinuz-6.0.5 /boot/vmlinuz-6.0.5