diff options
Diffstat (limited to 'policy/modules/services/certmonger.te')
-rw-r--r-- | policy/modules/services/certmonger.te | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/policy/modules/services/certmonger.te b/policy/modules/services/certmonger.te new file mode 100644 index 000000000..6e569dff8 --- /dev/null +++ b/policy/modules/services/certmonger.te @@ -0,0 +1,102 @@ +policy_module(certmonger, 1.6.0) + +######################################## +# +# Declarations +# + +type certmonger_t; +type certmonger_exec_t; +init_daemon_domain(certmonger_t, certmonger_exec_t) + +type certmonger_initrc_exec_t; +init_script_file(certmonger_initrc_exec_t) + +type certmonger_var_lib_t; +files_type(certmonger_var_lib_t) + +type certmonger_var_run_t; +files_pid_file(certmonger_var_run_t) + +######################################## +# +# Local policy +# + +allow certmonger_t self:capability { chown dac_override dac_read_search kill setgid setuid sys_nice }; +dontaudit certmonger_t self:capability sys_tty_config; +allow certmonger_t self:capability2 block_suspend; +allow certmonger_t self:process { getsched setsched sigkill signal }; +allow certmonger_t self:fifo_file rw_fifo_file_perms; +allow certmonger_t self:unix_stream_socket { accept listen }; +allow certmonger_t self:tcp_socket { accept listen }; + +manage_dirs_pattern(certmonger_t, certmonger_var_lib_t, certmonger_var_lib_t) +manage_files_pattern(certmonger_t, certmonger_var_lib_t, certmonger_var_lib_t) +files_var_lib_filetrans(certmonger_t, certmonger_var_lib_t, dir) + +manage_dirs_pattern(certmonger_t, certmonger_var_run_t, certmonger_var_run_t) +manage_files_pattern(certmonger_t, certmonger_var_run_t, certmonger_var_run_t) +files_pid_filetrans(certmonger_t, certmonger_var_run_t, { dir file }) + +kernel_read_kernel_sysctls(certmonger_t) +kernel_read_system_state(certmonger_t) + +corenet_all_recvfrom_unlabeled(certmonger_t) +corenet_all_recvfrom_netlabel(certmonger_t) +corenet_tcp_sendrecv_generic_if(certmonger_t) +corenet_tcp_sendrecv_generic_node(certmonger_t) + +corenet_sendrecv_certmaster_client_packets(certmonger_t) +corenet_tcp_connect_certmaster_port(certmonger_t) +corenet_tcp_sendrecv_certmaster_port(certmonger_t) + +corecmd_exec_bin(certmonger_t) +corecmd_exec_shell(certmonger_t) + +dev_read_urand(certmonger_t) + +domain_use_interactive_fds(certmonger_t) + +files_read_usr_files(certmonger_t) +files_list_tmp(certmonger_t) + +fs_search_cgroup_dirs(certmonger_t) + +auth_use_nsswitch(certmonger_t) +auth_rw_cache(certmonger_t) + +init_getattr_all_script_files(certmonger_t) + +logging_send_syslog_msg(certmonger_t) + +miscfiles_read_localization(certmonger_t) +miscfiles_manage_generic_cert_files(certmonger_t) + +userdom_search_user_home_content(certmonger_t) + +optional_policy(` + apache_initrc_domtrans(certmonger_t) + apache_search_config(certmonger_t) + apache_signal(certmonger_t) + apache_signull(certmonger_t) +') + +optional_policy(` + bind_search_cache(certmonger_t) +') + +optional_policy(` + dbus_connect_system_bus(certmonger_t) + dbus_system_bus_client(certmonger_t) +') + +optional_policy(` + kerberos_read_keytab(certmonger_t) + kerberos_use(certmonger_t) +') + +optional_policy(` + pcscd_read_pid_files(certmonger_t) + pcscd_stream_connect(certmonger_t) +') |