summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Berger <stefanb@linux.ibm.com>2023-11-01 13:13:17 -0400
committerArmin Kuster <akuster808@gmail.com>2023-11-08 07:09:28 -0500
commit070a1e82cc59424d230a23c0b2a104b01fbaa2ad (patch)
treef43c72719aba5e78759a903bb78d0892a8e51730
parent9769990db3ca6dae405049b632966cd6e08a8ada (diff)
downloadmeta-security-070a1e82cc59424d230a23c0b2a104b01fbaa2ad.tar.gz
ima,evm: Add two variables to write filenames and signatures into
Add two variables IMA_FILE_SIGNATURES_FILE and EVM_FILE_SIGNATURES_FILE for filenames where the ima_evm_sign_rootfs script can write the names of files and their IMA or EVM signatures into. Both variables are optional. The content of the file with IMA signatures may look like this: /usr/bin/gpiodetect ima:0x0302046730eefd... /usr/bin/pwscore ima:0x0302046730eefd004... Having the filenames along with their signatures is useful for signing files in the initrd when the initrd is running out of a tmpfs filesystem that has support for xattrs. This allows to enable an IMA appraisal policy already in the initrd where files must be signed as soon as the policy becomes active. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-integrity/classes/ima-evm-rootfs.bbclass12
1 files changed, 12 insertions, 0 deletions
diff --git a/meta-integrity/classes/ima-evm-rootfs.bbclass b/meta-integrity/classes/ima-evm-rootfs.bbclass
index 98c4bc1..7b73373 100644
--- a/meta-integrity/classes/ima-evm-rootfs.bbclass
+++ b/meta-integrity/classes/ima-evm-rootfs.bbclass
@@ -89,6 +89,18 @@ ima_evm_sign_rootfs () {
89 bbnote "IMA/EVM: Signing IMA policy with key ${IMA_EVM_PRIVKEY}" 89 bbnote "IMA/EVM: Signing IMA policy with key ${IMA_EVM_PRIVKEY}"
90 evmctl sign --imasig ${evmctl_param} --portable -a sha256 --key "${IMA_EVM_PRIVKEY}" "${IMAGE_ROOTFS}/etc/ima/ima-policy" 90 evmctl sign --imasig ${evmctl_param} --portable -a sha256 --key "${IMA_EVM_PRIVKEY}" "${IMAGE_ROOTFS}/etc/ima/ima-policy"
91 fi 91 fi
92
93 # Optionally write the file names and ima and evm signatures into files
94 if [ "${IMA_FILE_SIGNATURES_FILE}" ]; then
95 getfattr -R -m security.ima --e hex --dump ./ 2>/dev/null | \
96 sed -n -e 's|# file: |/|p' -e 's|security.ima=|ima:|p' | \
97 sed '$!N;s/\n/ /' > ./${IMA_FILE_SIGNATURES_FILE}
98 fi
99 if [ "${EVM_FILE_SIGNATURES_FILE}" ]; then
100 getfattr -R -m security.evm --e hex --dump ./ 2>/dev/null | \
101 sed -n -e 's|# file: |/|p' -e 's|security.evm=|evm:|p' | \
102 sed '$!N;s/\n/ /' > ./${EVM_FILE_SIGNATURES_FILE}
103 fi
92} 104}
93 105
94# Signing must run as late as possible in the do_rootfs task. 106# Signing must run as late as possible in the do_rootfs task.