Blob Blame History Raw

policy_module(nessus,1.3.0)

########################################
#
# Local policy
#

type nessusd_t;
type nessusd_exec_t;
init_daemon_domain(nessusd_t,nessusd_exec_t)

type nessusd_db_t;
files_type(nessusd_db_t)

type nessusd_etc_t;
files_config_file(nessusd_etc_t)

type nessusd_log_t;
logging_log_file(nessusd_log_t)

type nessusd_var_run_t;
files_pid_file(nessusd_var_run_t)

########################################
#
# Declarations
#

allow nessusd_t self:capability net_raw;
dontaudit nessusd_t self:capability sys_tty_config;
allow nessusd_t self:process { setsched signal_perms };
allow nessusd_t self:fifo_file { getattr read write };
allow nessusd_t self:tcp_socket create_stream_socket_perms;
allow nessusd_t self:udp_socket create_socket_perms;
allow nessusd_t self:rawip_socket create_socket_perms;
allow nessusd_t self:packet_socket create_socket_perms;

# Allow access to the nessusd authentication database
manage_dirs_pattern(nessusd_t,nessusd_db_t,nessusd_db_t)
manage_files_pattern(nessusd_t,nessusd_db_t,nessusd_db_t)
manage_lnk_files_pattern(nessusd_t,nessusd_db_t,nessusd_db_t)
files_list_var_lib(nessusd_t)

allow nessusd_t nessusd_etc_t:file { getattr read };
files_search_etc(nessusd_t)

manage_files_pattern(nessusd_t,nessusd_log_t,nessusd_log_t)
logging_log_filetrans(nessusd_t,nessusd_log_t,{ file dir })

manage_files_pattern(nessusd_t,nessusd_var_run_t,nessusd_var_run_t)
files_pid_filetrans(nessusd_t,nessusd_var_run_t,file)

kernel_read_system_state(nessusd_t)
kernel_read_kernel_sysctls(nessusd_t)

# for nmap etc
corecmd_exec_bin(nessusd_t)

corenet_all_recvfrom_unlabeled(nessusd_t)
corenet_all_recvfrom_netlabel(nessusd_t)
corenet_tcp_sendrecv_generic_if(nessusd_t)
corenet_udp_sendrecv_generic_if(nessusd_t)
corenet_raw_sendrecv_generic_if(nessusd_t)
corenet_tcp_sendrecv_all_nodes(nessusd_t)
corenet_udp_sendrecv_all_nodes(nessusd_t)
corenet_raw_sendrecv_all_nodes(nessusd_t)
corenet_tcp_sendrecv_all_ports(nessusd_t)
corenet_udp_sendrecv_all_ports(nessusd_t)
corenet_tcp_bind_all_nodes(nessusd_t)
corenet_tcp_bind_nessus_port(nessusd_t)
corenet_tcp_connect_all_ports(nessusd_t)
corenet_sendrecv_all_client_packets(nessusd_t)
corenet_sendrecv_nessus_server_packets(nessusd_t)

dev_read_sysfs(nessusd_t)
dev_read_urand(nessusd_t)

domain_use_interactive_fds(nessusd_t)

files_read_etc_files(nessusd_t)
files_read_etc_runtime_files(nessusd_t)

fs_getattr_all_fs(nessusd_t)
fs_search_auto_mountpoints(nessusd_t)

libs_use_ld_so(nessusd_t)
libs_use_shared_libs(nessusd_t)

logging_send_syslog_msg(nessusd_t)

miscfiles_read_localization(nessusd_t)

sysnet_read_config(nessusd_t)

userdom_dontaudit_use_unpriv_user_fds(nessusd_t)
userdom_dontaudit_search_sysadm_home_dirs(nessusd_t)

optional_policy(`
	nis_use_ypbind(nessusd_t)
')

optional_policy(`
	seutil_sigchld_newrole(nessusd_t)
')

optional_policy(`
	udev_read_db(nessusd_t)
')