Menu Close

21.8. 使用完整性测量架构收集文件哈希

完整性测量架构 (IMA) 的第一级操作是测量阶段,它允许创建文件哈希并将其存储为这些文件的扩展属性 (xattrs)。下面的部分论述了如何创建和检查文件的哈希。

先决条件

  • 启用完整性测量架构(IMA)和扩展的验证模块(EVM),如 启用完整性测量架构和扩展的验证模块 中所述。
  • 验证是否已安装 ima-evm-utilsattrkeyutils 软件包:

    # dnf install ima-evm-utils attr keyutils
    Updating Subscription Management repositories.
    This system is registered to Red Hat Subscription Management, but is not receiving updates. You can use subscription-manager to assign subscriptions.
    Last metadata expiration check: 0:58:22 ago on Fri 14 Feb 2020 09:58:23 AM CET.
    Package ima-evm-utils-1.1-5.el8.x86_64 is already installed.
    Package attr-2.4.48-3.el8.x86_64 is already installed.
    Package keyutils-1.5.10-7.el8.x86_64 is already installed.
    Dependencies resolved.
    Nothing to do.
    Complete!

步骤

  1. 创建测试文件:

    # echo <Test_text> > test_file

    IMA 和 EVM 确保分配了示例文件 test_file,哈希值存储为其扩展属性。

  2. 检查文件的扩展属性:

    # getfattr -m . -d test_file
    # file: test_file
    security.evm=0sAnDIy4VPA0HArpPO/EqiutnNyBql
    security.ima=0sAQOEDeuUnWzwwKYk+n66h/vby3eD
    security.selinux="unconfined_u:object_r:admin_home_t:s0"

    前面的输出显示了与 SELinux 以及 IMA 和 EVM 哈希值相关的扩展属性。EVM 主动添加 security.evm 扩展属性,并检测对其他文件(如 security.ima )的 xattrs 的任何脱机篡改,它们与文件的内容完整性直接相关。security.evm 字段的值位于基于 Hash 的消息身份验证代码 (HMAC-SHA1) 中,该身份验证代码由 evm-key 用户密钥生成。