20.7. 向软件包文件中添加 IMA 签名

您需要向 RPM 文件中添加 IMA 签名,以允许 kernel、Keylime、fapolicyddebuginfo 软件包进行完整性检查。安装 rpm-plugin-ima 插件后,新安装的 RPM 文件会自动将 IMA 签名放在 security.ima 扩展文件属性中。但是,您需要重新安装现有软件包,以获得 IMA 签名。

流程

  1. 要安装 rpm-plugin-ima 插件,请运行:

    # dnf install rpm-plugin-ima -y
  2. 要重新安装所有软件包,请运行:

    # dnf reinstall “*” -y

验证

  1. 确认重新安装的软件包文件具有有效的 IMA 签名。例如,要检查 /usr/bin/bash 文件的 IMA 签名,请运行:

    # getfattr -m security.ima -d /usr/bin/bash
    security.ima=0sAwIE0zIESQBnMGUCMFhf0iBeM7NjjhCCHVt4/ORx1eCegjrWSHzFbJMCsAhR9bYU2hNGjiWUYT2IIqWaaAIxALFGUkqGP5vDLuxQXibO9g7HFcfyZzRBY4rbKPsXcAIZRtDHVS5dQBZqM3hyS5v1MA==
  2. 使用指定证书验证文件的 IMA 签名。IMA 代码签名密钥可通过 /usr/share/doc/kernel-keys/$(uname -r)/ima.cer 访问。

    # evmctl ima_verify -k /usr/share/doc/kernel-keys/$(uname -r)/ima.cer /usr/bin/bash
    key 1: d3320449 /usr/share/doc/kernel-keys/5.14.0-359.el9.x86-64/ima.cer
    /usr/bin/bash: verification is OK