第 7 章 使用 Keylime 确保系统完整性
借助 Keylime,您可以持续监控远程系统的完整性,并在引导时验证系统状态。您还可以将加密文件发送到被监控的系统,并指定监控系统失败时触发的自动化操作。
7.1. Keylime 的工作原理
您可以配置 Keylime 代理执行以下操作之一或多个操作:
- 运行时完整性监控
- Keylime 运行时完整性监控会持续监控在其上部署了代理的系统,并测量包含在 allowlist 中但不包含在 excludelist 中的文件的完整性。
- 测量的引导
- Keylime 测量的引导会验证引导时的系统状态。
Keylime 的信任概念基于受信任的平台模块 (TPM) 技术。TPM 是一个带有集成加密密钥的硬件、固件或虚拟组件。通过轮询 TPM 参考并比较对象的哈希,Keylime 提供远程系统的初始和运行时监控。
重要
运行在虚拟机或使用虚拟 TPM 运行的 Keylime 取决于底层主机的完整性。在依赖虚拟环境中的 Keylime 测量前,请确保信任主机环境。
Keylime 由三个主要组件组成:
- 验证器
-
初始并持续验证运行代理的系统的完整性。您可以从软件包、容器或
keylime_server
RHEL 系统角色部署 verifier。 - 注册器
-
包含所有代理的数据库,它托管 TPM 供应商的公钥。您可以从软件包、容器或
keylime_server
RHEL 系统角色部署注册商。 - Agent
- 部署到由验证器测量的远程系统。
此外,Keylime 将 keylime_tenant
实用程序用于许多功能,包括在目标系统上调配代理。
图 7.1. 通过配置进行主精简组件之间的连接
Keylime 通过使用组件与租户之间交换的密钥和证书,确保监控系统的完整性。对于此链的安全基础,请使用您可以信任的证书颁发机构(CA)。
注意
如果代理没有接收密钥和证书,它会生成一个密钥以及一个自签名证书,而无需 CA。
图 7.2. 关键精简组件证书和密钥之间的连接