commit: d2997e65537e373d02d379ab2d5036788b7a5155
Author: Dave Sugar <dsugar <AT> tresys <DOT> com>
AuthorDate: Mon Apr 16 20:08:55 2018 +0000
Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sun Apr 22 11:46:18 2018 +0000
URL:
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=d2997e65
Fix problems booting with fips=1
Seeing the following problem when booting in enforcing with FIPS mode enabled.
Request for unknown module key 'CentOS Linux kernel signing key:
c757a9fbbd0d82c9e54052029a0908d17cf1adc7' err -13
Then seeing the system halt
Fixing the following denials:
[ 4.492635] type=1400 audit(1523666552.903:4): avc: denied { search } for
pid=894 comm="systemd-journal" name="crypto" dev="proc" ino=6124
scontext=system_u:system_r:syslogd_t:s0
tcontext=system_u:object_r:sysctl_crypto_t:s0 tclass=dir
[ 4.496621] type=1400 audit(1523666552.907:5): avc: denied { read } for
pid=894 comm="systemd-journal" name="fips_enabled" dev="proc" ino=6125
scontext=system_u:system_r:syslogd_t:s0
tcontext=system_u:object_r:sysctl_crypto_t:s0 tclass=file
[ 4.499741] type=1400 audit(1523666552.910:6): avc: denied { open } for
pid=894 comm="systemd-journal" path="/proc/sys/crypto/fips_enabled" dev="proc"
ino=6125 scontext=system_u:system_r:syslogd_t:s0
tcontext=system_u:object_r:sysctl_crypto_t:s0 tclass=file
[ 4.502969] type=1400 audit(1523666552.914:7): avc: denied { getattr } for
pid=894 comm="systemd-journal" path="/proc/sys/crypto/fips_enabled" dev="proc"
ino=6125 scontext=system_u:system_r:syslogd_t:s0
tcontext=system_u:object_r:sysctl_crypto_t:s0 tclass=file
[ 4.950021] type=1400 audit(1523666553.360:8): avc: denied { search } for
pid=952 comm="systemctl" name="crypto" dev="proc" ino=6124
scontext=system_u:system_r:udev_t:s0-s0:c0.c1023
tcontext=system_u:object_r:sysctl_crypto_t:s0 tclass=dir
[ 4.986551] type=1400 audit(1523666553.397:9): avc: denied { read } for
pid=952 comm="systemctl" name="fips_enabled" dev="proc" ino=6125
scontext=system_u:system_r:udev_t:s0-s0:c0.c1023
tcontext=system_u:object_r:sysctl_crypto_t:s0 tclass=file
[ 5.028737] type=1400 audit(1523666553.439:10): avc: denied { open } for
pid=952 comm="systemctl" path="/proc/sys/crypto/fips_enabled" dev="proc"
ino=6125 scontext=system_u:system_r:udev_t:s0-s0:c0.c1023
tcontext=system_u:object_r:sysctl_crypto_t:s0 tclass=file
type=1400 audit(1512501270.176:3): avc: denied { search } for pid=1
comm="systemd" scontext=system_u:system_r:init_t:s0
tcontext=system_u:system_r:kernel_t:s0 tclass=key
Signed-off-by: Dave Sugar <dsugar <AT> tresys.com>
policy/modules/system/init.te | 1 +
policy/modules/system/logging.te | 1 +
policy/modules/system/udev.te | 2 ++
3 files changed, 4 insertions(+)
diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te
index 82722156..8fd6c23f 100644
--- a/policy/modules/system/init.te
+++ b/policy/modules/system/init.te
@@ -281,6 +281,7 @@ ifdef(`init_systemd',`
kernel_read_all_sysctls(init_t)
kernel_read_software_raid_state(init_t)
kernel_unmount_debugfs(init_t)
+ kernel_search_key(init_t)
kernel_setsched(init_t)
kernel_rw_unix_sysctls(init_t)
diff --git a/policy/modules/system/logging.te b/policy/modules/system/logging.te
index d18dc74b..38b75ce4 100644
--- a/policy/modules/system/logging.te
+++ b/policy/modules/system/logging.te
@@ -434,6 +434,7 @@ allow syslogd_t syslogd_var_run_t:file map;
files_pid_filetrans(syslogd_t, syslogd_var_run_t, file)
allow syslogd_t syslogd_var_run_t:dir create_dir_perms;
+kernel_read_crypto_sysctls(syslogd_t)
kernel_read_system_state(syslogd_t)
kernel_read_network_state(syslogd_t)
kernel_read_kernel_sysctls(syslogd_t)
diff --git a/policy/modules/system/udev.te b/policy/modules/system/udev.te
index 7620e44c..53daf204 100644
--- a/policy/modules/system/udev.te
+++ b/policy/modules/system/udev.te
@@ -96,9 +96,11 @@ kernel_rw_unix_dgram_sockets(udev_t)
kernel_dgram_send(udev_t)
kernel_signal(udev_t)
kernel_search_debugfs(udev_t)
+kernel_search_key(udev_t)
#https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=235182
kernel_rw_net_sysctls(udev_t)
+kernel_read_crypto_sysctls(udev_t)
kernel_read_network_state(udev_t)
kernel_read_software_raid_state(udev_t)
kernel_dontaudit_search_unlabeled(udev_t)