9408b0b
policy_module(frr, 1.0.0)
9408b0b
9408b0b
########################################
9408b0b
#
9408b0b
# Declarations
9408b0b
#
9408b0b
9408b0b
type frr_t;
9408b0b
type frr_exec_t;
9408b0b
init_daemon_domain(frr_t, frr_exec_t)
9408b0b
9408b0b
type frr_log_t;
9408b0b
logging_log_file(frr_log_t)
9408b0b
9408b0b
type frr_tmp_t;
9408b0b
files_tmp_file(frr_tmp_t)
9408b0b
9408b0b
type frr_lock_t;
9408b0b
files_lock_file(frr_lock_t)
9408b0b
9408b0b
type frr_conf_t;
9408b0b
files_config_file(frr_conf_t)
9408b0b
9408b0b
type frr_unit_file_t;
9408b0b
systemd_unit_file(frr_unit_file_t)
9408b0b
9408b0b
type frr_var_run_t;
9408b0b
files_pid_file(frr_var_run_t)
9408b0b
9408b0b
########################################
9408b0b
#
9408b0b
# frr local policy
9408b0b
#
de8d85f
allow frr_t self:capability { chown dac_override dac_read_search kill net_bind_service net_raw setgid setuid net_admin sys_admin };
9408b0b
allow frr_t self:netlink_route_socket rw_netlink_socket_perms;
a302f61
allow frr_t self:packet_socket create_socket_perms;
9408b0b
allow frr_t self:process { setcap setpgid };
9408b0b
allow frr_t self:rawip_socket create_socket_perms;
9408b0b
allow frr_t self:tcp_socket { connect connected_stream_socket_perms };
9408b0b
allow frr_t self:udp_socket create_socket_perms;
9408b0b
allow frr_t self:unix_stream_socket connectto;
9408b0b
9408b0b
allow frr_t frr_conf_t:dir list_dir_perms;
9408b0b
manage_files_pattern(frr_t, frr_conf_t, frr_conf_t)
9408b0b
read_lnk_files_pattern(frr_t, frr_conf_t, frr_conf_t)
9408b0b
9408b0b
manage_dirs_pattern(frr_t, frr_log_t, frr_log_t)
9408b0b
manage_files_pattern(frr_t, frr_log_t, frr_log_t)
9408b0b
manage_lnk_files_pattern(frr_t, frr_log_t, frr_log_t)
9408b0b
logging_log_filetrans(frr_t, frr_log_t, { dir file lnk_file })
9408b0b
9408b0b
allow frr_t frr_tmp_t:file map;
9408b0b
manage_dirs_pattern(frr_t, frr_tmp_t, frr_tmp_t)
9408b0b
manage_files_pattern(frr_t, frr_tmp_t, frr_tmp_t)
9408b0b
files_tmp_filetrans(frr_t, frr_tmp_t, { file dir })
9408b0b
9408b0b
manage_files_pattern(frr_t, frr_lock_t, frr_lock_t)
9408b0b
manage_lnk_files_pattern(frr_t, frr_lock_t, frr_lock_t)
9408b0b
files_lock_filetrans(frr_t, frr_lock_t, { file lnk_file })
9408b0b
9408b0b
manage_dirs_pattern(frr_t, frr_var_run_t, frr_var_run_t)
9408b0b
manage_files_pattern(frr_t, frr_var_run_t, frr_var_run_t)
9408b0b
manage_lnk_files_pattern(frr_t, frr_var_run_t, frr_var_run_t)
9408b0b
manage_sock_files_pattern(frr_t, frr_var_run_t, frr_var_run_t)
9408b0b
files_pid_filetrans(frr_t, frr_var_run_t, { dir file lnk_file })
9408b0b
9408b0b
allow frr_t frr_exec_t:dir search_dir_perms;
9408b0b
can_exec(frr_t, frr_exec_t)
9408b0b
9408b0b
kernel_read_network_state(frr_t)
3905b52
kernel_rw_net_sysctls(frr_t)
9408b0b
kernel_read_system_state(frr_t)
ca06a43
kernel_request_load_module(frr_t)
9408b0b
9408b0b
auth_use_nsswitch(frr_t)
9408b0b
9408b0b
corecmd_exec_bin(frr_t)
9408b0b
9408b0b
corenet_tcp_bind_appswitch_emp_port(frr_t)
9408b0b
corenet_udp_bind_bfd_control_port(frr_t)
9408b0b
corenet_udp_bind_bfd_echo_port(frr_t)
9408b0b
corenet_udp_bind_bfd_multi_port(frr_t)
9408b0b
corenet_tcp_bind_bgp_port(frr_t)
3905b52
corenet_tcp_connect_bgp_port(frr_t)
9408b0b
corenet_tcp_bind_cmadmin_port(frr_t)
9408b0b
corenet_udp_bind_cmadmin_port(frr_t)
9408b0b
corenet_tcp_bind_firepower_port(frr_t)
16d43cc
corenet_tcp_bind_generic_port(frr_t)
9408b0b
corenet_tcp_bind_priority_e_com_port(frr_t)
9408b0b
corenet_udp_bind_router_port(frr_t)
9408b0b
corenet_tcp_bind_qpasa_agent_port(frr_t)
9408b0b
corenet_tcp_bind_smntubootstrap_port(frr_t)
9408b0b
corenet_tcp_bind_versa_tek_port(frr_t)
9408b0b
corenet_tcp_bind_zebra_port(frr_t)
9408b0b
9408b0b
domain_use_interactive_fds(frr_t)
9408b0b
9408b0b
fs_read_nsfs_files(frr_t)
9408b0b
9408b0b
sysnet_exec_ifconfig(frr_t)
9c91b90
sysnet_read_ifconfig_run_files(frr_t)
9c91b90
sysnet_watch_ifconfig_run_dirs(frr_t)
9408b0b
ca06a43
ipsec_domtrans_mgmt(frr_t)
ca06a43
9408b0b
userdom_read_admin_home_files(frr_t)
9408b0b
9408b0b
optional_policy(`
9408b0b
	logging_send_syslog_msg(frr_t)
9408b0b
')
9408b0b
9408b0b
optional_policy(`
9408b0b
	modutils_exec_kmod(frr_t)
9408b0b
	modutils_getattr_module_deps(frr_t)
9408b0b
	modutils_read_module_config(frr_t)
9408b0b
	modutils_read_module_deps_files(frr_t)
9408b0b
')
9408b0b
9408b0b
optional_policy(`
9408b0b
	networkmanager_read_state(frr_t)
9408b0b
')
1e7608b
1e7608b
optional_policy(`
1e7608b
	userdom_admin_home_dir_filetrans(frr_t, frr_conf_t, file, ".history_frr")
1e7608b
')