Red Hat Training
A Red Hat training course is available for RHEL 8
3.12.4. Assinatura de módulos de kernel com a chave privada
Os usuários podem obter maiores benefícios de segurança em seus sistemas carregando módulos de kernel assinados se o mecanismo UEFI Secure Boot estiver habilitado. As seções seguintes descrevem como assinar módulos de kernel com a chave privada.
Pré-requisitos
- Você gerou um par de chaves públicas e privadas e conhece as datas de validade de suas chaves públicas. Para maiores detalhes, veja Seção 3.12.1.3, “Geração de um par de chaves públicas e privadas”.
- Você cadastrou sua chave pública no sistema alvo. Para maiores detalhes, veja Seção 3.12.3, “Inscrição de chave pública no sistema alvo”.
- Você tem um módulo de kernel em formato de imagem ELF disponível para assinatura.
Procedimento
Executar o utilitário
sign-file
com parâmetros como mostrado no exemplo abaixo:# /usr/src/kernels/$(uname -r)/scripts/sign-file \ sha256 \ my_signing_key.priv \ my_signing_key_pub.der \ my_module.ko
sign-file
computa e anexa a assinatura diretamente à imagem ELF em seu arquivo de módulo do kernel. O utilitáriomodinfo
pode ser usado para exibir informações sobre a assinatura do módulo do kernel, caso ele esteja presente.NotaA assinatura anexa não está contida em uma seção de imagem ELF e não é uma parte formal da imagem ELF. Portanto, utilitários como
readelf
não serão capazes de exibir a assinatura em seu módulo do núcleo.Seu módulo de núcleo está agora pronto para ser carregado. Note que seu módulo de kernel assinado também é carregável em sistemas onde o UEFI Secure Boot está desabilitado ou em um sistema não UEFI. Isso significa que você não precisa fornecer tanto uma versão assinada como uma não assinada de seu módulo de kernel.
ImportanteNo RHEL 8, as datas de validade do par chave são importantes. A chave não expira, mas o módulo do kernel deve ser assinado dentro do período de validade de sua chave de assinatura. O utilitário
sign-file
não o advertirá sobre isso. Por exemplo, uma chave que só é válida em 2019 pode ser usada para autenticar um módulo do kernel assinado em 2019 com essa chave. Entretanto, os usuários não podem usar essa chave para assinar um módulo de kernel em 2020.
Recursos adicionais
-
Para obter detalhes sobre o uso do
modinfo
para obter informações sobre os módulos do kernel, veja Seção 3.7, “Exibição de informações sobre os módulos do kernel”.