第 24 章 扩展、自定义并故障排除内核完整性子系统


扩展、自定义内核完整性子系统并对内核完整性子系统进行故障排除,以支持各种安全要求和操作环境。

24.1. 为 IMA appraisal 生成良好的参考值

在部署包含 IMA-appraisal 规则的 IMA 策略前,请确保所有由这些规则管理的文件都有存储在 security.ima 扩展属性中的有效引用值。如果缺少这些引用值,IMA 可能会阻止系统正确引导或拒绝访问文件。

# ima-appraise-file </path/to/file>

使用 IMA 签名作为不可变文件的可信引用值来支持完整性验证。这种方法有助于确保仅访问具有有效签名的文件,从而增强系统安全性和合规性。

先决条件

  • 您已创建了包含 IMA-appraisal 规则的 IMA 策略。

流程

  1. 安装 rpm-plugin-ima

    $ sudo dnf install rpm-plugin-ima -yq

    这样可确保软件包文件在软件包安装、重新安装或升级过程中自动存储在 security.xattr 中。

  2. 重新安装所有软件包:

    $ sudo dnf reinstall "*" -y

    这样可确保为所有软件包更新了 security.xattr 扩展属性。

  3. 启用 dracut 完整性模块,以便在引导时自动在 /etc/keys/ima 载入中的官方 IMA code-signing 密钥:

    $ sudo dracut -f

验证

  • 验证签名是否已正确存储在 security.ima 扩展属性中:

    $ # evmctl ima_verify -k /etc/keys/ima/redhatimarelease-10.der /usr/lib/systemd/systemd
    keyid d3320449 (from /etc/keys/ima/redhatimarelease-10.der)
    key 1: d3320449 /etc/keys/ima/redhatimarelease-10.der
    /usr/lib/systemd/systemd: verification is OK
    
    $ # evmctl ima_verify -k /etc/keys/ima/redhatimarelease-10.der /bin/bash
    keyid d3320449 (from /etc/keys/ima/redhatimarelease-10.der)
    key 1: d3320449 /etc/keys/ima/redhatimarelease-10.der
    /bin/bash: verification is OK
    ...

24.1.2. 为可变文件生成良好的参考值

要保持可能随时间变化的文件的完整性,请根据需要生成和更新参考值。这样可确保系统准确验证可变文件的真实性,并防止未经授权的修改。

先决条件

  • 您在系统上具有 root 权限。
  • 您已创建了包含 IMA-appraisal 规则的 IMA 策略。
  • 您已为 IMA appraisal 生成了很好的参考值。
  • 禁用安全引导。

流程

  1. 可选:启用您选择的 IMA-appraisal 策略,或者如果您只使用自定义策略,请跳过这一步。使用内置 ima_policy=appraise_tcb 作为示例:

    # grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="ima_policy=appraise_tcb"
    • 另外,s390x 系统:

      # zipl
  2. 通过添加 ima_appraise=fix 内核命令行参数来启用 IMA-appraisal 修复模式:

    # grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="ima_appraise=fix"
    • 另外,s390x 系统:

      # zipl
  3. 重启系统:

    # reboot
  4. 可选:加载您的自定义 IMA 策略:

    # echo <path_to_your_custom_ima_policy> > /sys/kernel/security/ima/policy
  5. 重新标记整个系统:

    # find / -fstype xfs -type f -uid 0 -exec head -c 0 '{}' \;
  6. 通过删除 ima_appraise=fix 内核命令行参数来关闭 IMA-appraisal 修复模式:

    # grubby --update-kernel=/boot/vmlinuz-$(uname -r) --remove-args="ima_appraise=fix"
    • 另外,s390x 系统:

      # zipl
  7. 如果禁用了安全引导,则启用安全引导。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部