## Network time protocol daemon ######################################## ## ## NTP stub interface. No access allowed. ## ## ## ## Domain allowed access. ## ## # interface(`ntp_stub',` gen_require(` type ntpd_t; ') ') ######################################## ## ## Execute ntp server in the ntpd domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`ntp_domtrans',` gen_require(` type ntpd_t, ntpd_exec_t; ') corecmd_search_bin($1) domtrans_pattern($1, ntpd_exec_t, ntpd_t) ') ######################################## ## ## Execute ntp server in the caller domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`ntp_exec',` gen_require(` type ntpd_exec_t; ') corecmd_search_bin($1) can_exec($1, ntpd_exec_t) ') ######################################## ## ## Execute ntp in the ntp domain, and ## allow the specified role the ntp domain. ## ## ## ## Domain allowed to transition. ## ## ## ## ## Role allowed access. ## ## ## # interface(`ntp_run',` gen_require(` type ntpd_t; ') ntp_domtrans($1) role $2 types ntpd_t; ') ######################################## ## ## Execute ntp server in the ntpd domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`ntp_domtrans_ntpdate',` gen_require(` type ntpd_t, ntpdate_exec_t; ') corecmd_search_bin($1) domtrans_pattern($1, ntpdate_exec_t, ntpd_t) ') ######################################## ## ## Execute ntp server in the ntpd domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`ntp_initrc_domtrans',` gen_require(` type ntpd_initrc_exec_t; ') init_labeled_script_domtrans($1, ntpd_initrc_exec_t) ') ##################################### ## ## Allow domain to read ntpd systemd unit files. ## ## ## ## Domain allowed access. ## ## # interface(`ntp_read_unit_file',` gen_require(` type ntpd_unit_file_t; ') files_search_var_lib($1) allow $1 ntpd_unit_file_t:file read_file_perms; ') ######################################## ## ## Execute ntpd server in the ntpd domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`ntp_systemctl',` gen_require(` type ntpd_unit_file_t; type ntpd_t; ') systemd_exec_systemctl($1) allow $1 ntpd_unit_file_t:file read_file_perms; allow $1 ntpd_unit_file_t:service manage_service_perms; ps_process_pattern($1, ntpd_t) ') ######################################## ## ## Read and write ntpd shared memory. ## ## ## ## Domain allowed access. ## ## # interface(`ntp_rw_shm',` gen_require(` type ntpd_t, ntpd_tmpfs_t; ') allow $1 ntpd_t:shm rw_shm_perms; list_dirs_pattern($1, ntpd_tmpfs_t, ntpd_tmpfs_t) rw_files_pattern($1, ntpd_tmpfs_t, ntpd_tmpfs_t) read_lnk_files_pattern($1, ntpd_tmpfs_t, ntpd_tmpfs_t) fs_search_tmpfs($1) ') ######################################## ## ## Allow the domain to read ntpd state files in /proc. ## ## ## ## Domain allowed access. ## ## # interface(`ntp_read_state',` gen_require(` type ntpd_t; ') kernel_search_proc($1) ps_process_pattern($1, ntpd_t) ') ######################################## ## ## All of the rules required to administrate ## an ntp environment ## ## ## ## Domain allowed access. ## ## ## ## ## The role to be allowed to manage the ntp domain. ## ## ## # interface(`ntp_admin',` gen_require(` type ntpd_t, ntpd_tmp_t, ntpd_log_t; type ntpd_key_t, ntpd_var_run_t, ntpd_initrc_exec_t; type ntpd_unit_file_t; ') allow $1 ntpd_t:process signal_perms; ps_process_pattern($1, ntpd_t) tunable_policy(`deny_ptrace',`',` allow $1 ntpd_t:process ptrace; ') init_labeled_script_domtrans($1, ntpd_initrc_exec_t) domain_system_change_exemption($1) role_transition $2 ntpd_initrc_exec_t system_r; allow $2 system_r; admin_pattern($1, ntpd_key_t) logging_list_logs($1) admin_pattern($1, ntpd_log_t) files_list_tmp($1) admin_pattern($1, ntpd_tmp_t) files_list_pids($1) admin_pattern($1, ntpd_var_run_t) ntp_systemctl($1) admin_pattern($1, ntpd_unit_file_t) allow $1 ntpd_unit_file_t:service all_service_perms; ')