24.4. 加载由自定义 IMA 密钥签名的 IMA 策略


要保持您的系统完整性并满足您的机构的安全要求,您可以加载使用您自己的自定义 IMA 密钥签名的 IMA 策略。这种方法可确保在系统启动或运行时仅应用可信的经过身份验证的策略。

注意

此流程只适用于启用了 UEFI 安全引导的 x86_64aarch64 系统,以及运行 PowerVM 安全引导的 ppc64le 系统。

先决条件

  • 在您的系统中必须具有 root 权限。
  • 为 Red Hat Enterprise Linux 启用 UEFI 安全引导,或者内核使用 ima_policy=secure_boot 参数引导,以确保只能加载签名的 IMA 策略。
  • 自定义 IMA CA 密钥已添加到 MOK 列表中。如需更多信息,请参阅在 MOK 列表中添加公钥在目标系统上注册公钥
  • 内核版本为 5.14 或更高版本。
  • 为 IMA 策略生成了很好的参考值。如需更多信息,请参阅 为 IMA appraisal 生成良好的参考值

流程

  1. 将自定义 IMA 代码签名密钥添加到 .ima 密钥环中:

    # keyctl padd asymmetric <KEY_SUBJECT> %:.ima < <PATH_TO_YOUR_CUSTOM_IMA_KEY>
    Copy to Clipboard Toggle word wrap
  2. 准备 IMA 策略,并使用您的自定义 IMA 代码签名密钥对其进行签名:

    # evmctl ima_sign <PATH_TO_YOUR_CUSTOM_IMA_POLICY> -k <PATH_TO_YOUR_CUSTOM_IMA_KEY>
    Copy to Clipboard Toggle word wrap
  3. 加载签名的 IMA 策略:

    # echo <PATH_TO_YOUR_CUSTOM_SIGNED_IMA_POLICY> > /sys/kernel/security/ima/policy
    # echo $?
    0
    Copy to Clipboard Toggle word wrap
    0

    表示 IMA 策略已被成功加载。如果命令返回非零值,则 IMA 策略没有成功加载。

    警告

    不要跳过这一步。如果这样做,您的系统可能无法引导,您需要恢复您的系统。

    如果 IMA 策略无法加载,请重复步骤 2 和 3 来修复问题。

  4. 将签名的 IMA 策略复制到 /etc/ima/ima-policy 中,以便在引导时自动启用它:

    # cp --preserve=xattr <PATH_TO_YOUR_CUSTOM_IMA_POLICY> /etc/ima/ima-policy
    Copy to Clipboard Toggle word wrap
  5. 使用 dracut 完整性模块,自动将自定义 IMA 代码签名密钥添加到引导时 .ima 密钥环中:

    # cp <PATH_TO_YOUR_CUSTOM_IMA_KEY> /etc/keys/ima/
    # cp --preserve=xattr /usr/share/ima/dracut-98-integrity.conf /etc/dracut.conf.d/98-integrity.conf
    # dracut -f
    Copy to Clipboard Toggle word wrap
    • 另外,s390x 系统:

      # zipl
      Copy to Clipboard Toggle word wrap

验证

  • 验证 IMA 策略是否已成功载入:

    # cat /sys/kernel/security/ima/policy
    Copy to Clipboard Toggle word wrap

    输出应包含自定义 IMA 策略中的规则。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat