24.5. systemd が IMA ポリシーの読み込みに失敗する場合のトラブルシューティング
systemd が /etc/ima/ima-policy を読み込まない場合、システムがハングし、systemd[1]: Freezing execution というエラーが表示されます。
[ 5.829882] ima: policy update failed
[ 5.830094] ima: signed policy file (specified as an absolute pathname) required
[!!!!!!] Failed to load IMA policy.
…
[ 5.859994] systemd[1]: Freezing execution.
システムを回復するには 3 つの方法があります。
24.5.1. セキュアブートをオフにする リンクのコピーリンクがクリップボードにコピーされました!
ポリシーが署名されていないために読み込めない場合は、次の例のようなエラーが表示されることがあります。
[ 5.661906] ima: policy update failed
[ 5.662290] ima: signed policy file (specified as an absolute pathname) required
[ 5.662496] systemd[1]: Failed to load the IMA custom policy file /etc/ima/ima-policy1: Permission denied
[ 5.662663] ima: policy update failed
[ 5.662856] audit: type=1800 audit(1744968172.925:7): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 op=appraise_data cause=IMA-signature-required comm="systemd" name="/etc/ima/ima-policy" dev="vda3" ino=25679834 res=0 errno=0
[ 5.663205] audit: type=1802 audit(1744968172.925:8): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 op=policy_update cause=failed comm="systemd" res=0 errno=0
[!!!!!!] Failed to load IMA policy.
回避策として、セキュアブートを一時的にオフにして、UEFI システム用のカスタム署名付き IMA ポリシーのデプロイ の手順を実行すると、問題を解決できます。
24.5.2. init=/bin/bash カーネルパラメーターを使用してシステムを起動する リンクのコピーリンクがクリップボードにコピーされました!
init=/bin/bash カーネルパラメーターを使用してシステムを起動するには、次の手順に従います。
-
ブートローダーのエントリーを変更し、
init=/bin/bashカーネルパラメーターを追加します。 シェルにアクセスしたら、書き込み権限付きでシステムを再マウントします。
# mount -o remount,rw //etc/ima/ima-policyの名前を/etc/ima/ima-policy.bakに変更します。# mv /etc/ima/ima-policy /etc/ima/ima-policy.bakシステムを再起動します。
# echo 1 > /proc/sys/kernel/sysrq # printf "s\nb" > /proc/sysrq-trigger/etc/ima/ima-policy.bak内の問題を解決し、ポリシーを読み込めることを確認します。# echo /etc/ima/ima-policy.bak >> /sys/kernel/security/integrity/ima/policy/etc/ima/ima-policy.bakの名前を/etc/ima/ima-policyに変更します。# mv /etc/ima/ima-policy.bak /etc/ima/ima-policy
24.5.3. initcall_blacklist=init_ima カーネルパラメーターを使用してシステムを起動する リンクのコピーリンクがクリップボードにコピーされました!
システムが systemd[1]: Freezing execution というエラーでハングした場合は、initcall_blacklist=init_ima カーネルパラメーターを使用してシステムを起動し、IMA ポリシーを無効にできます。
-
ブートローダーエントリーを変更し、
initcall_blacklist=init_imaカーネルパラメーターを追加します。 /etc/ima/ima-policyの名前を/etc/ima/ima-policy.bakに変更します。# mv /etc/ima/ima-policy /etc/ima/ima-policy.bakシステムを再起動します。
# systemctl reboot/etc/ima/ima-policy.bak内の問題を解決し、ポリシーを読み込めることを確認します。# echo /etc/ima/ima-policy.bak >> /sys/kernel/security/integrity/ima/policy/etc/ima/ima-policy.bakの名前を/etc/ima/ima-policyに変更します。# mv /etc/ima/ima-policy.bak /etc/ima/ima-policy