Blob Blame History Raw
#DESC Nessus network scanning daemon
#
# Author:  Russell Coker <russell@coker.com.au>
# X-Debian-Packages: nessus
#

#################################
#
# Rules for the nessusd_t domain.
#
# nessusd_exec_t is the type of the nessusd executable.
#
daemon_domain(nessusd)

etc_domain(nessusd)
typealias nessusd_etc_t alias etc_nessusd_t;
type nessusd_db_t, file_type, sysadmfile;

type nessus_port_t, port_type;
allow nessusd_t nessus_port_t:tcp_socket name_bind;

#tmp_domain(nessusd)

# Use the network.
can_network(nessusd_t)
can_ypbind(nessusd_t)
allow nessusd_t self:unix_stream_socket create_socket_perms;
#allow nessusd_t self:unix_dgram_socket create_socket_perms;

# why ioctl on /dev/urandom?
allow nessusd_t random_device_t:chr_file { getattr read ioctl };
allow nessusd_t self:{ rawip_socket packet_socket } create_socket_perms;
allow nessusd_t self:capability net_raw;

# for nmap etc
allow nessusd_t { bin_t sbin_t }:dir search;
allow nessusd_t bin_t:lnk_file read;
can_exec(nessusd_t, bin_t)
allow nessusd_t self:fifo_file { getattr read write };

# allow user domains to connect to nessusd
can_tcp_connect(userdomain, nessusd_t)

allow nessusd_t self:process setsched;

allow nessusd_t proc_t:file { getattr read };

# Allow access to the nessusd authentication database
create_dir_file(nessusd_t, nessusd_db_t)
allow nessusd_t var_lib_t:dir r_dir_perms;

# read config files
allow nessusd_t { etc_t etc_runtime_t }:file r_file_perms;

logdir_domain(nessusd)