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