
Supongamos que acabo de instalar un gestor de arranque EFI firmado (por ejemplo, grub2
desde Ubuntu 14.10 amd64 en un Lenovo IdeaPad U410 que solo puede arrancar en modo de arranque seguro EFI o heredado) en una máquina desde un sistema basado en Linux o (más especificado) en Debian. ¿Hay alguna manera de saber que la máquina arrancará desde el momento en que se está ejecutando sin reiniciar?
Respuesta1
Sí, pero debes tener tus claves de arranque seguro a mano. Primero, tenga en cuenta que existen al menos tres formas que pueden adoptar las claves públicas de arranque seguro:
.cer
/.der
files: estos archivos son utilizados por la mayoría de las implementaciones UEFI, así como por la herramienta MokManager que está emparejada con Shim..crt
-- Estos archivos se utilizan de forma nativa en la mayoría de las herramientas de seguridad de Linux, comosbsigntool
ysbverify
..esl
-- Estos archivos combinan varias claves en un solo archivo. (Los demás archivos contienen cada uno una única clave). Si utiliza una interfaz de usuario de firmware o KeyTool para guardar sus claves, los archivos resultantes estarán en este formato.
Si ha instalado su propia clave de propietario de máquina (MOK) usando MokManager, debería tener el archivo en formato .cer
/ .der
. Si desea probar si el binario funcionará cuando se inicie con otra clave (como las claves utilizadas para firmar la versión de GRUB de Ubuntu o Fedora), deberá obtenerlo. Para mayor comodidad, he recopilado varios con rEFInd; puedes descargarlos poco a pocoaquí.si tienestomado el control total del arranque seguro en su sistema,También deberías tener las claves que creaste.
Para verificar un binario, debe tener una clave en .crt
el formulario. Si tiene una clave en .der
un .cer
formulario, puede convertirla:
openssl x509 -in mykey.cer -inform der -out mykey.crt
Luego, puedes comprobar que el binario esté firmado correctamente:
sbverify --cert mykey.crt binary.efi
El resultado debería ser un mensaje que lea Signature verification OK
o Signature verification failed
.
Tenga en cuenta que algunos UEFI no pueden iniciar ni siquiera archivos binarios firmados correctamente. Esto parece ser aleatorio; El binario A se iniciará correctamente, mientras que el binario B, firmado con la misma clave, falla. Creo que esto es un error en los UEFI afectados, pero no lo he investigado en detalle. AFAIK, no afecta a los binarios verificados a través de Shim, pero puede afectar al propio Shim o a los binarios lanzados sin la ayuda de Shim.