23.8. 启用内核运行时完整性监控
您可以启用 IMA appraisal 提供的内核运行时完整性监控。
先决条件
-
系统上安装的
内核
具有5.14.0-359
或更高版本。 -
dracut
软件包的版本具有057-43.git20230816
或更高版本。 -
keyutils
软件包已安装。 -
ima-evm-utils
软件包已安装。 - 被策略覆盖的文件具有有效的签名。具体说明请参阅 向软件包文件中添加 IMA 签名。
流程
要将红帽 IMA 代码签名密钥复制到
/etc/ima/keys
文件中,请运行:$ mkdir -p /etc/keys/ima $ cp /usr/share/doc/kernel-keys/$(uname -r)/ima.cer /etc/ima/keys
要将 IMA 代码签名密钥添加到
.ima
keyring 中,请运行:# keyctl padd asymmetric RedHat-IMA %:.ima < /etc/ima/keys/ima.cer
根据您的威胁模型,在
/etc/sysconfig/ima-policy
文件中定义一个 IMA 策略。例如,以下 IMA 策略检查可执行文件和涉及内存映射库文件的完整性:# PROC_SUPER_MAGIC = 0x9fa0 dont_appraise fsmagic=0x9fa0 # SYSFS_MAGIC = 0x62656572 dont_appraise fsmagic=0x62656572 # DEBUGFS_MAGIC = 0x64626720 dont_appraise fsmagic=0x64626720 # TMPFS_MAGIC = 0x01021994 dont_appraise fsmagic=0x1021994 # RAMFS_MAGIC dont_appraise fsmagic=0x858458f6 # DEVPTS_SUPER_MAGIC=0x1cd1 dont_appraise fsmagic=0x1cd1 # BINFMTFS_MAGIC=0x42494e4d dont_appraise fsmagic=0x42494e4d # SECURITYFS_MAGIC=0x73636673 dont_appraise fsmagic=0x73636673 # SELINUX_MAGIC=0xf97cff8c dont_appraise fsmagic=0xf97cff8c # SMACK_MAGIC=0x43415d53 dont_appraise fsmagic=0x43415d53 # NSFS_MAGIC=0x6e736673 dont_appraise fsmagic=0x6e736673 # EFIVARFS_MAGIC dont_appraise fsmagic=0xde5e81e4 # CGROUP_SUPER_MAGIC=0x27e0eb dont_appraise fsmagic=0x27e0eb # CGROUP2_SUPER_MAGIC=0x63677270 dont_appraise fsmagic=0x63677270 appraise func=BPRM_CHECK appraise func=FILE_MMAP mask=MAY_EXEC
要载入 IMA 策略以确保内核接受这个 IMA 策略,请运行:
# echo /etc/sysconfig/ima-policy > /sys/kernel/security/ima/policy # echo $? 0
要启用
dracut
完整性模块来自动载入 IMA 代码签名密钥和 IMA 策略,请运行:# echo 'add_dracutmodules+=" integrity "' > /etc/dracut.conf.d/98-integrity.conf # dracut -f