搜索

3.4. 使用 X.509 密钥验证内核模块的要求

download PDF

在 RHEL 8 中,当加载内核模块时,内核会根据内核系统密钥环中的公共 X.509 密钥检查模块的签名(.builtin_trusted_keys)以及内核平台密钥环(.platform)。.platform 密钥环包含来自第三方平台提供商和自定义公钥的密钥。内核系统 .blacklist 密钥环中的密钥不包括在验证中。

您需要满足某些条件,才能在启用了 UEFI 安全引导功能的系统上载入内核模块:

  • 如果启用了 UEFI 安全引导,或者指定了 module.sig_enforce 内核参数:

    • 您只能加载那些签名是通过系统密钥环 (.builtin_trusted_keys) 和平台密钥环 (.platform) 验证的已签名内核模块。
    • 公钥不能在系统中被撤销的密钥环 (.blacklist)。
  • 如果禁用了 UEFI 安全引导且未指定 module.sig_enforce 内核参数:

    • 您可以加载未签名的内核模块和签名的内核模块,而无需公钥。
  • 如果系统不基于 UEFI,或者禁用 UEFI 安全引导:

    • 只有内核中嵌入的密钥才会加载到 .builtin_trusted_keys.platform
    • 您无法在不重新构建内核的情况下添加这组密钥。
表 3.2. 加载内核模块的验证要求
模块已签名找到公钥,且签名有效UEFI 安全引导状态sig_enforce模块载入内核污点

未签名

-

未启用

未启用

成功

未启用

Enabled

Fails

-

Enabled

-

Fails

-

已签名

未启用

未启用

成功

未启用

Enabled

Fails

-

Enabled

-

Fails

-

已签名

未启用

未启用

成功

未启用

Enabled

成功

Enabled

-

成功

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.