7.2. パッケージから Keylime verifier をデプロイする
verifier は、Keylime で最も重要なコンポーネントです。システム整合性の初期および定期的なチェックを行い、エージェントを使用して暗号化鍵を安全にブートストラップすることをサポートします。verifier は、制御インターフェイスに相互 TLS 暗号化を使用します。
信頼の連鎖を維持するには、verifier を実行するシステムをセキュアに管理してください。
要件に応じて、verifier を別のシステムにインストールすることも、Keylime registrar と同じシステムにインストールすることもできます。verifier と registrar を別々のシステムで実行すると、パフォーマンスが向上します。
設定ファイルをドロップインディレクトリー内に整理するには、/etc/keylime/verifier.conf.d/00-verifier-ip.conf
のように、2 桁の数字の接頭辞を付けたファイル名を使用します。設定処理は、ドロップインディレクトリー内のファイルを辞書順で読み取り、各オプションを最後に読み取った値に設定します。
前提条件
-
root
権限と、Keylime コンポーネントをインストールするシステムへのネットワーク接続がある。 - 認証局からの有効な鍵と証明書がある。
オプション:Keylime が verifier からのデータを保存するデータベースにアクセスできます。次のデータベース管理システムのいずれかを使用できます。
- SQLite (デフォルト)
- PostgreSQL
- MySQL
- MariaDB
手順
Keylime verifier をインストールします。
# dnf install keylime-verifier
/etc/keylime/verifier.conf.d/
ディレクトリーに、次の内容の新しい.conf
ファイル (/etc/keylime/verifier.conf.d/00-verifier-ip.conf
など) を作成して、verifier の IP アドレスとポートを定義します。[verifier] ip = <verifier_IP_address>
-
<verifier_IP_address>
は、verifier の IP アドレスに置き換えます。あるいは、ip = *
またはip = 0.0.0.0
を使用して、使用可能なすべての IP アドレスに verifier をバインドします。 -
必要に応じて、
port
オプションを使用して、verifier のポートをデフォルト値8881
から変更することもできます。
-
オプション:エージェントのリスト用に verifier のデータベースを設定します。デフォルトの設定では、verifier の
/var/lib/keylime/cv_data.sqlite
ディレクトリーにある SQLite データベースを使用します。/etc/keylime/verifier.conf.d/
ディレクトリーに次の内容の新しい.conf
ファイル (/etc/keylime/verifier.conf.d/00-db-url.conf
など) を作成することで、別のデータベースを定義できます。[verifier] database_url = <protocol>://<name>:<password>@<ip_address_or_hostname>/<properties>
<protocol>://<name>:<password>@<ip_address_or_hostname>/<properties>
は、データベースの URL (例:postgresql://verifier:UQ?nRNY9g7GZzN7@198.51.100.1/verifierdb
) に置き換えます。使用する認証情報が、Keylime にデータベース構造を作成するための権限を提供していることを確認してください。
verifier に証明書と鍵を追加します。Keylime にそれらを生成させることも、既存の鍵と証明書を使用することもできます。
-
デフォルトの
tls_dir =generate
オプションを使用すると、Keylime は verifier、registrar、およびテナントの新しい証明書を/var/lib/keylime/cv_ca/
ディレクトリーに生成します。 既存の鍵と証明書を設定にロードするには、verifier 設定でそれらの場所を定義します。Keylime サービスの実行者である
keylime
ユーザーが証明書にアクセスできる必要があります。/etc/keylime/verifier.conf.d/
ディレクトリーに、次の内容の新しい.conf
ファイル (/etc/keylime/verifier.conf.d/00-keys-and-certs.conf
など) を作成します。[verifier] tls_dir = /var/lib/keylime/cv_ca server_key = </path/to/server_key> server_key_password = <passphrase1> server_cert = </path/to/server_cert> trusted_client_ca = ['</path/to/ca/cert1>', '</path/to/ca/cert2>'] client_key = </path/to/client_key> client_key_password = <passphrase2> client_cert = </path/to/client_cert> trusted_server_ca = ['</path/to/ca/cert3>', '</path/to/ca/cert4>']
注記絶対パスを使用して、鍵と証明書の場所を定義します。また、相対パスは
tls_dir
オプションで定義されたディレクトリーから解決されます。
-
デフォルトの
ファイアウォールでポートを開きます。
# firewall-cmd --add-port 8881/tcp # firewall-cmd --runtime-to-permanent
別のポートを使用する場合は、
8881
を.conf
ファイルで定義されているポート番号に置き換えます。verifier サービスを開始します。
# systemctl enable --now keylime_verifier
注記デフォルト設定では、verifier が他の Keylime コンポーネントの CA と証明書を作成するため、
keylime_registrar
サービスを起動する前にkeylime_verifier
を起動します。カスタム証明書を使用する場合、この順序で起動する必要はありません。
検証
keylime_verifier
サービスがアクティブで実行中であることを確認します。# systemctl status keylime_verifier ● keylime_verifier.service - The Keylime verifier Loaded: loaded (/usr/lib/systemd/system/keylime_verifier.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2022-11-09 10:10:08 EST; 1min 45s ago
次のステップ
- 「パッケージから Keylime registrar をデプロイする」をクリックします。