Debian 11 Secure Boo EFI
By: Date: octubre 27, 2022 Categories: Consultoria y Manuales

¿ 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

Deja un comentario

Tu dirección de correo electrónico no será publicada.