26.3. IMA 測定によるリモートアテステーションの有効化
Keylime などのリモートアテステーションツールを使用してシステムの整合性を検証するには、Integrity Measurement Architecture (IMA) 測定を有効化します。署名済みのサンプル測定ポリシーは /usr/share/ima/policies/02-keylime-remote-attestation にあります。要件を満たすポリシーをデプロイして実行します。
前提条件
-
署名済みの測定ポリシーが
/usr/share/ima/policies/02-keylime-remote-attestationにあります。
手順
rpm-plugin-imaパッケージをインストールします。# dnf install rpm-plugin-imaサンプルポリシーの IMA 署名が拡張属性に格納されるように、
ima-evm-utilsパッケージを再インストールします。# dnf reinstall ima-evm-utilsIMA 署名が格納されていることを確認します。
# evmctl ima_verify -k /etc/keys/ima/redhatimarelease-10.der /usr/share/ima/policies/02-keylime-remote-attestationkeyid d3320449 (from /etc/keys/ima/redhatimarelease-10.der) key 1: d3320449 /etc/keys/ima/redhatimarelease-10.der /usr/share/ima/policies/02-keylime-remote-attestation: verification is OK拡張属性を保持したまま署名済みの測定ポリシーを
/etc/ima/ima-policyにコピーして、systemd が起動時にそのポリシーを自動的に読み込むようにします。# cp --preserve=xattr /usr/share/ima/policies/02-keylime-remote-attestation /etc/ima/ima-policyIMA 鍵が起動時に読み込まれるように、dracut の integrity モジュールを有効にします。
# cp --preserve=xattr /usr/share/ima/dracut-98-integrity.conf /etc/dracut.conf.d/ima.confinitramfs を再生成して
integrityモジュールを含めます。# dracut -fs390xシステムでは、次回の IPL (初期プログラムロード) で変更を適用するために、ziplコマンドも実行します。# zipl
再起動して IMA 鍵を読み込ませます。
# systemctl reboot警告セキュアブートが有効なシステムでは、カーネルは署名されていない IMA ポリシーを受け入れません。IMA コード署名鍵がカーネルで利用可能になる前にポリシーを読み込ませると、読み込みが失敗し、次回の再起動時にハングする可能性があります。したがって、鍵が利用可能になった後にポリシーを読み込ませる必要があります。
サンプルポリシーが要件に合わない場合は、カスタム IMA 鍵で署名された IMA ポリシーの読み込み を参照してください。
検証
ポリシーが読み込まれていることを確認します。
# cat /sys/kernel/security/integrity/ima/policy