selinux-refpolicy/policy/modules/services/vnstatd.te
Christian Göttsche 1816085864 vnstatd: update
type=PROCTITLE msg=audit(21/02/24 22:54:36.792:69) : proctitle=/usr/sbin/vnstatd -n
    type=PATH msg=audit(21/02/24 22:54:36.792:69) : item=0 name=/dev/urandom inode=18 dev=00:2b mode=character,666 ouid=root ogid=root rdev=01:09 obj=system_u:object_r:urandom_device_t:s0 nametype=NORMAL cap_fp=none cap_fi=none cap_fe=0 cap_fver=0 cap_frootid=0
    type=CWD msg=audit(21/02/24 22:54:36.792:69) : cwd=/
    type=SYSCALL msg=audit(21/02/24 22:54:36.792:69) : arch=x86_64 syscall=openat success=yes exit=5 a0=AT_FDCWD a1=0x7f197cc66865 a2=O_RDONLY|O_CLOEXEC a3=0x0 items=1 ppid=1 pid=900 auid=unset uid=vnstat gid=vnstat euid=vnstat suid=vnstat fsuid=vnstat egid=vnstat sgid=vnstat fsgid=vnstat tty=(none) ses=unset comm=vnstatd exe=/usr/sbin/vnstatd subj=system_u:system_r:vnstatd_t:s0 key=(null)
    type=AVC msg=audit(21/02/24 22:54:36.792:69) : avc:  denied  { open } for  pid=900 comm=vnstatd path=/dev/urandom dev=tmpfs ino=18 scontext=system_u:system_r:vnstatd_t:s0 tcontext=system_u:object_r:urandom_device_t:s0 tclass=chr_file permissive=1
    type=AVC msg=audit(21/02/24 22:54:36.792:69) : avc:  denied  { read } for  pid=900 comm=vnstatd name=urandom dev=tmpfs ino=18 scontext=system_u:system_r:vnstatd_t:s0 tcontext=system_u:object_r:urandom_device_t:s0 tclass=chr_file permissive=1

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
2024-02-23 17:55:29 +01:00

99 lines
2.2 KiB
Plaintext

policy_module(vnstatd)
########################################
#
# Declarations
#
attribute_role vnstat_roles;
type vnstat_t;
type vnstat_exec_t;
application_domain(vnstat_t, vnstat_exec_t)
role vnstat_roles types vnstat_t;
type vnstatd_t;
type vnstatd_exec_t;
init_daemon_domain(vnstatd_t, vnstatd_exec_t)
type vnstatd_initrc_exec_t;
init_script_file(vnstatd_initrc_exec_t)
type vnstatd_pid_t;
files_runtime_file(vnstatd_pid_t)
type vnstatd_unit_t;
init_unit_file(vnstatd_unit_t)
type vnstatd_var_lib_t;
files_type(vnstatd_var_lib_t)
########################################
#
# Daemon local policy
#
allow vnstatd_t self:process signal;
allow vnstatd_t self:fifo_file rw_fifo_file_perms;
allow vnstatd_t self:unix_stream_socket { accept listen };
manage_files_pattern(vnstatd_t, vnstatd_pid_t, vnstatd_pid_t)
files_runtime_filetrans(vnstatd_t, vnstatd_pid_t, file)
manage_dirs_pattern(vnstatd_t, vnstatd_var_lib_t, vnstatd_var_lib_t)
manage_files_pattern(vnstatd_t, vnstatd_var_lib_t, vnstatd_var_lib_t)
kernel_read_network_state(vnstatd_t)
kernel_read_system_state(vnstatd_t)
# read /sys/class/net/eth0
dev_read_sysfs(vnstatd_t)
dev_read_urand(vnstatd_t)
files_read_etc_files(vnstatd_t)
files_search_var_lib(vnstatd_t)
fs_getattr_xattr_fs(vnstatd_t)
logging_send_syslog_msg(vnstatd_t)
miscfiles_read_localization(vnstatd_t)
########################################
#
# Client local policy
#
# dac_override : write /var/lib/vnstat/*
allow vnstat_t self:capability dac_override;
allow vnstat_t self:process signal;
allow vnstat_t self:fifo_file rw_fifo_file_perms;
allow vnstat_t self:unix_stream_socket { accept listen };
manage_dirs_pattern(vnstat_t, vnstatd_var_lib_t, vnstatd_var_lib_t)
manage_files_pattern(vnstat_t, vnstatd_var_lib_t, vnstatd_var_lib_t)
kernel_read_network_state(vnstat_t)
kernel_read_system_state(vnstat_t)
# read /sys/class/net/eth0
dev_read_sysfs(vnstat_t)
domain_use_interactive_fds(vnstat_t)
files_dontaudit_search_home(vnstat_t)
files_read_etc_files(vnstat_t)
files_search_var_lib(vnstat_t)
fs_getattr_xattr_fs(vnstat_t)
miscfiles_read_localization(vnstat_t)
userdom_dontaudit_search_user_home_dirs(vnstat_t)
userdom_use_inherited_user_terminals(vnstat_t)
optional_policy(`
cron_system_entry(vnstat_t, vnstat_exec_t)
')