第 8 章 使用 Keylime 确保系统完整性

借助 Keylime,您可以持续监控远程系统的完整性,并在引导时验证系统状态。您还可以将加密文件发送到被监控的系统,并指定监控系统失败时触发的自动化操作。

8.1. Keylime 的工作原理

您可以部署 Keylime 代理来执行以下操作中的一个或多个:

运行时完整性监控
Keylime 运行时完整性监控会持续监控在其上部署了代理的系统,并测量包含在 allowlist 中但不包含在 excludelist 中的文件的完整性。
测量的引导
Keylime 测量的引导会验证引导时的系统状态。

Keylime 的信任概念基于受信任的平台模块 (TPM) 技术。TPM 是一个带有集成加密密钥的硬件、固件或虚拟组件。通过轮询 TPM 参考并比较对象的哈希,Keylime 提供远程系统的初始和运行时监控。

重要

运行在虚拟机或使用虚拟 TPM 运行的 Keylime 取决于底层主机的完整性。在依赖虚拟环境中的 Keylime 测量前,请确保信任主机环境。

Keylime 由三个主要组件组成:

验证器
初始并持续验证运行代理的系统的完整性。
注册器
包含所有代理的数据库,它托管 TPM 供应商的公钥。
Agent
部署到由验证器测量的远程系统。

此外,Keylime 将 keylime_tenant 实用程序用于许多功能,包括在目标系统上调配代理。

图 8.1. 通过配置进行主精简组件之间的连接

Keylime 组件通过其配置选项进行连接。

Keylime 通过使用组件与租户之间交换的密钥和证书,确保监控系统的完整性。对于此链的安全基础,请使用您可以信任的证书颁发机构(CA)。

注意

如果代理没有接收密钥和证书,它会生成一个密钥以及一个自签名证书,而无需 CA。

图 8.2. 关键精简组件证书和密钥之间的连接

Keylime 组件通过密钥和证书进行连接。