M$ y la caducidad de la firma de Secure Boot
Por si no lo sabeis, los certificados de arranque seguro (Secure Boot) firmados por Microsoft caducan.
- Para los ordenadores con Windows estan programados para expirar en junio de 2026.
- Para los ordenadores con Linux están programados para expirar en septiembre de 2025.
¿Porqué es esto? Pues como siempre "dependencia" de M$ ya que es el único autorizado por los fabricantes de ordenadores para firmar firmware con "Secure Boot"...
Si eso no es monopolio decidme cual es la palabra correcta.
Nuevos problemas para los usuarios de Windows.
Los que usen Windows dependeran de que el fabricante junto con Microsoft le proporcionen a su sistema operativo el nuevo "chain-loader" firmado para su equipo.
Leed entre líneas y seguro curiosamente los que no tengais Windows 11 no lo vais a tener o sorpresa otro cambio o compra de ordenador.
Que problema tendrán los equipos Linux
Los ordenadores o servidores que utilicen "Secure Boot" (UEFI) y no tengan el nuevo certificado Windows UEFI CA 2023
no va a poder arrancar con configuración UEFI ya que utilizan el cargador shim
(firmado por Microsoft) que es el que se utiliza para iniciar los equipos
Tendrás problemas para actualizar el firmware de tu equipo, por ejemplo a usar fwupd
Obtendrás "hermosos" mensajes de advertencia continuos en los gestores de software de tu distribución.
Ademas, tienes que saber que por defecto el nuevo certificado no se instala automaticamente en todas las distribuciones Linux.
Soluciones genéricas para los equipos:
- Actualizar el firmware (BIOS/UEFI) para incluir el nuevo certificado de Microsoft.
- Actualizar la base de claves KEK si tu firmware lo permite.
- Desactivar Secure Boot como último recurso (no recomendado si la seguridad es crítica).
- Verificar si tu sistema ya incluye la nueva clave (si tu distribución está preparada para firmar con ella)
La opción de actualizar el firmware de la BIOS/UEFI depende del fabricante de vuestro equipo...
Solución para Debian GNU/Linux
Lo primero que debemos comprobar es si nuestro equipo tiene Secure Boot activado y averiguar que certificados tenemos instalados. Así que vamos a revisarlo todo con calma
1. Verificar si Secure Boot está activado
Abre una terminal en tu equipo y ejecuta:
sudo mokutil --sb-state
Esto te dirá si Secure Boot está:
- Activado: enabled
- Desactivado: disabled
- El equipo no soporta Secure Boot: This system doesn't support Secure Boot
Si tienes cualquiera de las 2 ultimas opciones se acabaron tus preocupaciones (salvo que quieras activar Secure Boot por algun motivo).
2. Ver las claves instaladas (PK, KEK, db)
Para ver las claves de la base de datos de arranque (db
), ejecuta en una terminal:
sudo mokutil --list-enrolled
Esto mostrará las claves públicas instaladas en tu equipo, incluyendo la de Microsoft.
Localiza alguna línea similar a esta:
CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, ST=Washington, C=US
Si ves alguna clave con "2023" en el nombre o en la fecha de emisión, es casi seguro que tengas ya instaslada la nueva clave y puedes despreocuparte.
3. Verificar la versión del shim
El cargador shim
es el componente firmado por Microsoft que permite a los Linux arrancar en equipos que tengan activado Secure Boot.
Lo primero será averiguar la versión de este bootloader:
shim --version
Las versiones más recientes de shim, están firmadas ya con el nuevo certificado.
En Debian, shim
está contenido en el paquete shim-signed
Para saber si tu version de Debian (12 ó 13) tiene disponible la versión correcta ejecuta el siguiente comando:
sudo apt update
apt-cache show shim-signed|grep Built
Debereis obtener el siguiente resultado:
Built-Using: shim (= 15.8-1)
NOTA: Si tu versión es anterior a 15.7, malas noticias es posible que esté firmada con el certificado que caduca en septiembre de 2025.
Si usas UEFI (Secure Boot) deberás actualizar el bootloader shim
, para ello simplemente ejecuta:
sudo apt update
sudo apt -y upgrade
En caso de que por algun motivo no se actualizase puedes reinstalarlo, ten en cuenta que depende además de otros paquetes como son: grub-efi-amd64-bin
y de shim-helpers-amd64-signed
:
# Forzar reinstalacion de shim (solo si no se actualizó por algún motivo)
sudo apt update
sudo apt -y install --reinstall shim-signed
4. Verificar con fwupd
si hay actualizaciones de firmware
Otra comprobación a realizar es si podemos realizar alguna actualización al firmware disponible.
Para ello, desde una terminal ejecutaremos lo siguiente:
# Localizar dispositivos firmware (incluida la capsula UEFI)
fwupdmgr get-devices
# Recargar la lista de firmware actualizable
fwupdmgr refresh --force
# Mostrar de tus dispositivos cuales son o no actualizables
fwupdmgr get-updates
Esto mostrará si el fabricante nos ofrece una actualización de firmware que incluya las nuevas claves de nuestra UEFI
5. Verificar el firmware UEFI de nuestro equipo
Para verificar si el firmware UEFI de nuestro equipo tiene instalada la nueva clave de Microsoft (la UEFI CA 2023), podemos usar herramientas como sbkeysync
, efitools
, o incluso verlo tambien con la herramienta mokutil
.
Método 1: Usar sbkeysync
(recomendado)
Esta aplicación es un script que compara las claves en tu firmware con las que están disponibles en el sistema, tan solo tienes que instalarlo mediante:
sudo apt install sbkeysync
Verificar la versión:
sudo sbkeysync --no-merge --dry-run
Deberás ver una línea que diga algo similar a:
Found Microsoft Corporation UEFI CA 2023
Si aparece, genial, tienes el firmware con la nueva clave.
Método 2: Usar efitools
para chequearlo directamente
Necesitarás instalar las efitools:
sudo apt install efitools
Para ver las claves:
sudo keytool -k
Esto te mostrará las claves de la base de datos db
, KEK
, y PK
. Localiza una línea con:
CN=Microsoft Corporation UEFI CA 2023
Método 3: Usar mokutil
Nota: Este método es más limitado y puede devolver valores no totalmente correctos.
sudo mokutil --list-enrolled
Atención: Este comando muestra las claves MOK (Machine Owner Key), pero no siempre refleja las claves del firmware, solo las que se han añadido por el usuario o el sistema.
Resumen para nuestro equipo con Debian
Si nos aparece la línea Built-Using: shim (= 15.8-1)
en el paquete shim-signed
indica que está construido usando la versión 15.8 del binario shim
, que es la versión correcta y segura para nuevo Secure Boot.
¿Por qué es importante shim 15.8
?
- Está firmado con el nuevo certificado UEFI CA 2023 de Microsoft.
- Evita los problemas de arranque que surgirán cuando el certificado anterior expire en septiembre de 2025.
- Es compatible con las nuevas políticas de seguridad de Microsoft para Secure Boot.
¿Qué significa esto?
- Si tienes
shim-signed
construido conshim 15.8
, estás cubierto frente a la expiración del certificado. - Solo necesitas asegurarte de que tu firmware UEFI tenga instalada la nueva clave de Microsoft (algo que puede venir en actualizaciones de BIOS/UEFI).
⚠️ Y Si no aparece la clave 2023 ⚠️
- Es probable que tu firmware sea antiguo y tenga la clave del 2011.
- Necesitarás una actualización de BIOS/UEFI tendrá que ir a la página del fabricante de tu equipo.
- Puedes consultar desde consola con
fwupdmgr
para saber si hay actualizaciones disponibles del firmware
Si no dispones de una actualización, deberás desactivar el modo de arranque seguro de tu equipo.