commit: 1006b39f0071195bfee767d215501d124892b849
Author: Dave Sugar <dsugar100 <AT> gmail <DOT> com>
AuthorDate: Fri Nov 8 02:29:03 2024 +0000
Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sun Dec 15 00:19:19 2024 +0000
URL:
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=1006b39f
Setup sudo log file type
When using the sudoers option logfile=/var/log/sudo.log it needs to create (and
append) to the log file.
node=test123 type=AVC msg=audit(1731031593.322:16399): avc: denied { write }
for pid=5792 comm="sudo" name="/" dev="dm-5" ino=2
scontext=toor_u:staff_r:staff_sudo_t:s0 tcontext=system_u:object_r:var_log_t:s0
tclass=dir permissive=1
node=test123 type=AVC msg=audit(1731031593.322:16399): avc: denied { add_name
} for pid=5792 comm="sudo" name="sudo.log"
scontext=toor_u:staff_r:staff_sudo_t:s0 tcontext=system_u:object_r:var_log_t:s0
tclass=dir permissive=1
node=test123 type=AVC msg=audit(1731031593.322:16399): avc: denied { create }
for pid=5792 comm="sudo" name="sudo.log"
scontext=toor_u:staff_r:staff_sudo_t:s0 tcontext=toor_u:object_r:var_log_t:s0
tclass=file permissive=1
node=test123 type=AVC msg=audit(1731031593.322:16399): avc: denied { append
open } for pid=5792 comm="sudo" path="/var/log/sudo.log" dev="dm-5" ino=32
scontext=toor_u:staff_r:staff_sudo_t:s0 tcontext=toor_u:object_r:var_log_t:s0
tclass=file permissive=1
node=test123 type=AVC msg=audit(1731031593.322:16400): avc: denied { lock }
for pid=5792 comm="sudo" path="/var/log/sudo.log" dev="dm-5" ino=32
scontext=toor_u:staff_r:staff_sudo_t:s0 tcontext=toor_u:object_r:var_log_t:s0
tclass=file permissive=1
node=test123 type=AVC msg=audit(1731031593.322:16401): avc: denied { getattr
} for pid=5792 comm="sudo" path="/var/log/sudo.log" dev="dm-5" ino=32
scontext=toor_u:staff_r:staff_sudo_t:s0 tcontext=toor_u:object_r:var_log_t:s0
tclass=file permissive=1
Signed-off-by: Dave Sugar <dsugar100 <AT> gmail.com>
Signed-off-by: Jason Zaman <perfinion <AT> gentoo.org>
policy/modules/admin/sudo.if | 5 +++++
policy/modules/admin/sudo.te | 3 +++
2 files changed, 8 insertions(+)
diff --git a/policy/modules/admin/sudo.if b/policy/modules/admin/sudo.if
index 1e51044df..456ac215c 100644
--- a/policy/modules/admin/sudo.if
+++ b/policy/modules/admin/sudo.if
@@ -37,6 +37,7 @@ template(`sudo_role_template',`
gen_require(`
type sudo_exec_t;
+ type sudo_log_t;
attribute sudodomain;
')
@@ -74,6 +75,10 @@ template(`sudo_role_template',`
allow $1_sudo_t self:key manage_key_perms;
dontaudit $1_sudo_t self:capability { dac_read_search sys_ptrace };
+ allow $1_sudo_t sudo_log_t:dir add_entry_dir_perms;
+ allow $1_sudo_t sudo_log_t:file { append_file_perms create_file_perms };
+ logging_log_filetrans($1_sudo_t, sudo_log_t, file)
+
# allow getting the process group of the parent process
allow $1_sudo_t $2:process getpgid;
allow $1_sudo_t $2:unix_stream_socket rw_socket_perms;
diff --git a/policy/modules/admin/sudo.te b/policy/modules/admin/sudo.te
index 9364d3768..725b91760 100644
--- a/policy/modules/admin/sudo.te
+++ b/policy/modules/admin/sudo.te
@@ -29,6 +29,9 @@ attribute sudodomain;
type sudo_exec_t;
application_executable_file(sudo_exec_t)
+type sudo_log_t;
+logging_log_file(sudo_log_t)
+
tunable_policy(`sudo_all_tcp_connect_http_port',`
corenet_tcp_connect_http_port(sudodomain)
')