27.2. カスタム IMA ポリシーの作成
カーネルパラメーター (ima_policy=tcb や ima_policy=critical_data など) で指定する組み込みの IMA ポリシーや、/usr/share/ima/policies/ にあるサンプルポリシーで要件を満たせない場合は、カスタムの IMA ポリシールールを作成します。systemd が /etc/ima/ima-policy をロードすると、組み込みの IMA ポリシーは置き換えられます。
IMA ポリシーを定義した後、ポリシーに IMA 評価ルールが含まれている場合は、適切な参照値を生成してからポリシーをデプロイしてください。ポリシーに IMA 評価ルールが含まれていない場合は、echo /PATH-TO-YOUR-DRAFT-IMA-POLICY > /sys/kernel/security/integrity/ima/policy を実行してポリシーを検証できます。この方法はシステムの起動失敗を防ぐのに役立ちます。
IMA 評価用の適切な参照値の生成 を参照してください。
手順
ルールの形式とポリシーの例を確認します。
IMA ポリシールールでは、
action [condition …]という形式を使用して、特定の条件下でトリガーされるアクションを指定します。たとえば、/usr/share/ima/policies/01-appraise-executable-and-lib-signaturesのサンプルポリシーには、次のルールが含まれています。# Skip some unsupported filesystems # For a list of these filesystems, see # https://www.kernel.org/doc/Documentation/ABI/testing/ima_policy # PROC_SUPER_MAGIC dont_appraise fsmagic=0x9fa0 … appraise func=BPRM_CHECK appraise_type=imasig最初のルール
dont_appraise fsmagic=0x9fa0は、PROC_SUPER_MAGICファイルシステム内のファイルの評価をスキップするように IMA に指示します。最後のルールappraise func=BPRM_CHECK appraise_type=imasigは、ファイルの実行時に署名の検証を強制します。