8.6. 使用完整性测量架构收集文件哈希
在 测量 阶段,您可以创建文件哈希,并将其存储为这些文件的扩展属性(xattrs)。通过文件哈希,您可以生成基于 RSA 的数字签名或基于 Hash 的消息身份验证代码(HMAC-SHA1),从而防止对扩展属性的离线篡改攻击。
先决条件
- IMA 和 EVM 已启用。如需更多信息,请参阅 启用完整性测量架构和扩展验证模块。
- 有效的可信密钥或加密的密钥保存在内核密钥环中。
-
ima-evm-utils
、attr
和keyutils
软件包已安装。
流程
创建测试文件:
# echo <Test_text> > test_file
IMA 和 EVM 确保
test_file
示例文件已分配了哈希值,该值被存储为其扩展属性。检查文件的扩展属性:
# getfattr -m . -d test_file # file: test_file security.evm=0sAnDIy4VPA0HArpPO/EqiutnNyBql security.ima=0sAQOEDeuUnWzwwKYk+n66h/vby3eD
示例输出显示带有 IMA 和 EVM 哈希值和 SELinux 上下文的扩展属性。EVM 添加了一个与其他属性相关的
security.evm
扩展属性。此时,您可以在security.evm
上使用evmctl
工具来生成基于 RSA 的数字签名或基于哈希的消息身份验证代码(HMAC-SHA1)的数字签名。
其它资源