第7章 Keylime でシステムの整合性を確保する
Keylime を使用すると、リモートシステムの整合性を継続的に監視し、起動時にシステムの状態を確認できます。また、暗号化されたファイルを監視対象システムに送信し、監視対象システムが整合性テストに失敗するたびにトリガーされる自動アクションを指定することもできます。
7.1. Keylime の仕組み
Keylime エージェントを設定すると、次の操作を 1 つ以上実行できます。
- ランタイム整合性監視
- Keylime のランタイム整合性監視では、エージェントがデプロイされているシステムを継続的に監視し、許可リストに含まれるファイルと除外リストに含まれないファイルの整合性を評価します。
- ブート測定
- Keylime のブート測定では、起動時にシステムの状態を検証します。
Keylime の信頼の概念は、Trusted Platform Module (TPM) テクノロジーに基づいています。TPM は、暗号化鍵が統合されたハードウェア、ファームウェア、または仮想コンポーネントです。TPM クォートをポーリングし、オブジェクトのハッシュを比較することで、Keylime はリモートシステムの初期監視とランタイム監視を提供します。
Keylime を仮想マシン内で実行するか、仮想 TPM を使用するかは、基盤となるホストの整合性によって異なります。仮想環境での Keylime 測定を利用する前に、必ずホスト環境を信頼してください。
Keylime は、次の 3 つの主要コンポーネントで構成されています。
- verifier
-
エージェントを実行するシステムの整合性を最初から継続的に検証します。verifier は、パッケージからデプロイすることも、コンテナーとしてデプロイすることも、
keylime_server
RHEL システムロールを使用してデプロイすることもできます。 - registrar
-
すべてのエージェントのデータベースを含んでおり、TPM ベンダーの公開鍵をホストします。registrar は、パッケージからデプロイすることも、コンテナーとしてデプロイすることも、
keylime_server
RHEL システムロールを使用してデプロイすることもできます。 - エージェント
- verifier によって測定されるリモートシステムにデプロイされます。
さらに、Keylime は、ターゲットシステムでのエージェントのプロビジョニングを含む多くの機能に keylime_tenant
ユーティリティーを使用します。
図7.1 設定による Keylime コンポーネント間の接続
Keylime は、コンポーネントとテナントの間で交換される鍵と証明書を使用して、信頼の連鎖で監視対象システムの整合性を保証します。このチェーンの安全な基盤として、信頼できる認証局 (CA) を使用してください。
エージェントが鍵と証明書を受け取らない場合は、CA の関与なしに鍵と自己署名証明書を生成します。
図7.2 Keylim コンポーネントの証明書と鍵の間の接続