GNU/Linux >> Tutoriales Linux >  >> Linux

kvm:la verificación del módulo falló:falta la firma y/o la clave requerida - núcleo corrupto

En lugar de reconfigurar el kernel, este error (module verification failed ) podría resolverse simplemente agregando una línea CONFIG_MODULE_SIG=n hasta la parte superior del Makefile para el propio módulo:

CONFIG_MODULE_SIG=n

# If KERNELRELEASE is defined, we've been invoked from the
# kernel build system and can use its language.
ifneq ($(KERNELRELEASE),)
    obj-m := hello.o

# Otherwise we were called directly from the command
# line; invoke the kernel build system.
else
    KERNELDIR ?= /lib/modules/$(shell uname -r)/build
    PWD := $(shell pwd)

default:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif

Parece que el proveedor de su sistema ha habilitado la verificación de la firma del módulo del kernel en su kernel, lo que significa que no cargará ningún módulo que el proveedor no haya firmado. En otras palabras, su módulo parcheado no está firmado (correctamente) y el núcleo se negará a cargarlo.

Se supone que el objetivo de esto es evitar que el malware y los rootkits carguen módulos de kernel maliciosos.

Le sugiero que se ponga en contacto con su proveedor. Puede haber una opción en algún lugar de su plataforma para deshabilitar la verificación de firmas. De lo contrario, es posible que su proveedor pueda firmar el módulo por usted. Incluso podría tener la clave y los detalles del algoritmo de verificación de firma y puede firmarlo usted mismo.

Sin saber en qué plataforma se está ejecutando, es difícil dar sugerencias más específicas.


Vaya al directorio fuente del kernel y haga (por ejemplo):

./scripts/sign-file sha512 ./signing_key.priv ./signing_key.x509 /lib/modules/3.10.1/kernel/drivers/char/my_module.ko

para el kernel 4.4.*, la ubicación de las claves debe ser la siguiente:

./scripts/sign-file sha512 ./certs/signing_key.pem ./certs/signing_key.x509 path/to/your/kernel/module.ko 

Compruebe cuál es el algoritmo de resumen que utiliza su núcleo abriendo .config y leyéndolo en CONFIG_MODULE_SIG valores de configuración.

CONFIG_MODULE_SIG=y CONFIG_MODULE_SIG_ALL=y CONFIG_MODULE_SIG_SHA512=y CONFIG_MODULE_SIG_HASH="sha512"

Linux
  1. Linux:¿un núcleo corrupto en Linux?

  2. Pam – ¿Bandera de control requerida y suficiente?

  3. Linux:¿cómo recargar correctamente un módulo del kernel?

  4. ¿Pm-hibernate se congela y/o no se puede reanudar en Dell Xps 13, 14.04, 3.19 Kernel?

  5. Introducción a Linux KVM (virtualización basada en kernel) y sus beneficios

Cómo cargar o descargar un módulo del kernel de Linux

Cómo cargar y descargar módulos del kernel en Linux

Comando Modprobe en Linux

Kernel de Linux y sus funciones

pila de kernel y pila de espacio de usuario

Omitir el módulo del kernel en el arranque