24.4. カスタム IMA 鍵で署名された IMA ポリシーの読み込み
システムの整合性を維持し、組織のセキュリティー要件を満たすために、独自のカスタム IMA 鍵で署名された IMA ポリシーを読み込むことができます。この方法を採用すると、システムの起動時または実行時に、信頼できる認証済みのポリシーだけが確実に適用されます。
この手順は、UEFI セキュアブートが有効な x86_64 および aarch64 システム、および PowerVM セキュアブートを実行している ppc64le システムにのみ適用されます。
前提条件
- システムの root 特権がある。
-
Red Hat Enterprise Linux で UEFI セキュアブートが有効になっている。またはカーネルが
ima_policy=secure_bootパラメーター付きで起動されており、署名された IMA ポリシーだけが読み込まれるようになっている。 - カスタムの IMA CA 鍵が MOK リストに追加されている。詳細は、公開鍵を MOK リストに追加してターゲットシステムに公開鍵を登録する を参照してください。
- カーネルバージョンが 5.14 以降である。
- IMA ポリシー用に適切な参照値が生成されている。詳細は、IMA 評価用の適切な参照値の生成 を参照してください。
手順
カスタム IMA コード署名鍵を
.imaキーリングに追加します。keyctl padd asymmetric <KEY_SUBJECT> %:.ima < <PATH_TO_YOUR_CUSTOM_IMA_KEY>
# keyctl padd asymmetric <KEY_SUBJECT> %:.ima < <PATH_TO_YOUR_CUSTOM_IMA_KEY>Copy to Clipboard Copied! Toggle word wrap Toggle overflow IMA ポリシーを準備し、カスタム IMA コード署名鍵で署名します。
evmctl ima_sign <PATH_TO_YOUR_CUSTOM_IMA_POLICY> -k <PATH_TO_YOUR_CUSTOM_IMA_KEY>
# evmctl ima_sign <PATH_TO_YOUR_CUSTOM_IMA_POLICY> -k <PATH_TO_YOUR_CUSTOM_IMA_KEY>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 署名した IMA ポリシーを読み込みます。
echo <PATH_TO_YOUR_CUSTOM_SIGNED_IMA_POLICY> > /sys/kernel/security/ima/policy echo $? 0
# echo <PATH_TO_YOUR_CUSTOM_SIGNED_IMA_POLICY> > /sys/kernel/security/ima/policy # echo $? 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 0IMA ポリシーが正常に読み込まれたことを示します。コマンドがゼロ以外の値を返した場合、IMA ポリシーは正常に読み込まれていません。
警告この手順をスキップしないでください。スキップすると、システムが起動しなくなり、システムの回復が必要になる場合があります。
IMA ポリシーの読み込みに失敗した場合は、ステップ 2 と 3 を繰り返して問題を修正します。
署名した IMA ポリシーを
/etc/ima/ima-policyにコピーして、起動時に systemd が自動的にそのポリシーを読み込めるようにします。cp --preserve=xattr <PATH_TO_YOUR_CUSTOM_IMA_POLICY> /etc/ima/ima-policy
# cp --preserve=xattr <PATH_TO_YOUR_CUSTOM_IMA_POLICY> /etc/ima/ima-policyCopy to Clipboard Copied! Toggle word wrap Toggle overflow dracutの整合性モジュールを使用して、起動時にカスタム IMA コード署名鍵を.imaキーリングに自動的に追加します。cp <PATH_TO_YOUR_CUSTOM_IMA_KEY> /etc/keys/ima/ cp --preserve=xattr /usr/share/ima/dracut-98-integrity.conf /etc/dracut.conf.d/98-integrity.conf dracut -f
# cp <PATH_TO_YOUR_CUSTOM_IMA_KEY> /etc/keys/ima/ # cp --preserve=xattr /usr/share/ima/dracut-98-integrity.conf /etc/dracut.conf.d/98-integrity.conf # dracut -fCopy to Clipboard Copied! Toggle word wrap Toggle overflow s390xシステムの場合は、さらに以下を実行します。zipl
# ziplCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
IMA ポリシーが正常に読み込まれたことを確認します。
cat /sys/kernel/security/ima/policy
# cat /sys/kernel/security/ima/policyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力にカスタム IMA ポリシーのルールが含まれているはずです。