Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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

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

先决条件

流程

  1. 创建测试文件:

    # echo <Test_text> > test_file
  2. 使用私钥签署文件:

    # evmctl sign --imahash --key /etc/keys/privkey.pem test_file

    通过创建 test_file 文件的哈希,IMA 验证文件是否仍然未损坏。EVM 通过签名存储在 test_file 扩展属性中的哈希内容来确保 IMA 哈希是真实的。

  3. (可选)检查签名文件的扩展属性:

    # getfattr -m . -d test_file
    file: test_file
    security.evm=0sAwICztVdCQCAZLtD7qAezGl8nGLgqFZzMzQp7Fm1svUet2Hy7TyI2vtT9/9ZfBTKMK6Mjoyk0VX+DciS85XOCYX6WnV1LF2P/pmPRfputSEq9fVD4SWfKKj2rI7qwpndC1UqRX1BbN3aRUYeoKQdPdl6Cz+cX4d7vS56FJkFhPGlhq/UQbBnd80=
    security.ima=0sAfgqQ5/05X4w/ltZEfbogdI9+KM5
    security.selinux="unconfined_u:object_r:admin_home_t:s0"

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

其它资源