## Policy for iptables. ######################################## ## ## Execute iptables in the iptables domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`iptables_domtrans',` gen_require(` type iptables_t, iptables_exec_t; ') corecmd_search_bin($1) domtrans_pattern($1, iptables_exec_t, iptables_t) allow $1 iptables_exec_t:file map; ') ######################################## ## ## Execute iptables in the iptables domain, and ## allow the specified role the iptables domain. ## ## ## ## Domain allowed to transition. ## ## ## ## ## Role allowed access. ## ## ## # interface(`iptables_run',` gen_require(` attribute_role iptables_roles; ') iptables_domtrans($1) roleattribute $2 iptables_roles; ') ######################################## ## ## Execute iptables in the caller domain. ## ## ## ## Domain allowed access. ## ## # interface(`iptables_exec',` gen_require(` type iptables_exec_t; ') corecmd_search_bin($1) can_exec($1, iptables_exec_t) ') ##################################### ## ## Execute iptables in the iptables domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`iptables_initrc_domtrans',` gen_require(` type iptables_initrc_exec_t; ') init_labeled_script_domtrans($1, iptables_initrc_exec_t) ') ######################################## ## ## Execute iptables server in the iptables domain. ## ## ## ## Domain allowed to transition. ## ## # interface(`iptables_systemctl',` gen_require(` type iptables_unit_file_t; type iptables_t; ') systemd_exec_systemctl($1) init_reload_services($1) allow $1 iptables_unit_file_t:file read_file_perms; allow $1 iptables_unit_file_t:service manage_service_perms; ps_process_pattern($1, iptables_t) ') ##################################### ## ## Set the attributes of iptables config files. ## ## ## ## Domain allowed access. ## ## # interface(`iptables_setattr_config',` gen_require(` type iptables_conf_t; ') files_search_etc($1) allow $1 iptables_conf_t:file setattr; ') ##################################### ## ## Read iptables config files. ## ## ## ## Domain allowed access. ## ## # interface(`iptables_read_config',` gen_require(` type iptables_conf_t; ') files_search_etc($1) allow $1 iptables_conf_t:dir list_dir_perms; read_files_pattern($1, iptables_conf_t, iptables_conf_t) ') ##################################### ## ## Create files in /etc with the type used for ## the iptables config files. ## ## ## ## Domain allowed access. ## ## # interface(`iptables_etc_filetrans_config',` gen_require(` type iptables_conf_t; ') files_etc_filetrans($1, iptables_conf_t, file) ') ################################### ## ## Manage iptables config files. ## ## ## ## Domain allowed access. ## ## # interface(`iptables_manage_config',` gen_require(` type iptables_conf_t; type etc_t; ') files_search_etc($1) manage_files_pattern($1, iptables_conf_t, iptables_conf_t) ') ######################################## ## ## Transition to iptables named content ## ## ## ## Domain allowed access. ## ## # interface(`iptables_filetrans_named_content',` gen_require(` type iptables_var_run_t; ') files_pid_filetrans($1, iptables_var_run_t, file, "xtables.lock") ') ##################################### ## ## Read iptables run files. ## ## ## ## Domain allowed access. ## ## # interface(`iptables_read_var_run',` gen_require(` type iptables_var_run_t; ') allow $1 iptables_var_run_t:dir list_dir_perms; read_files_pattern($1, iptables_var_run_t, iptables_var_run_t) ')