Blob Blame History Raw

policy_module(cyphesis, 1.1.1)

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

type cyphesis_t;
type cyphesis_exec_t;
init_daemon_domain(cyphesis_t, cyphesis_exec_t)

type cyphesis_log_t;
logging_log_file(cyphesis_log_t)

type cyphesis_tmp_t;
files_tmp_file(cyphesis_tmp_t)

type cyphesis_var_run_t;
files_pid_file(cyphesis_var_run_t)

########################################
#
# cyphesis local policy
#

allow cyphesis_t self:process { setfscreate setsched signal };
allow cyphesis_t self:fifo_file rw_fifo_file_perms;
allow cyphesis_t self:tcp_socket create_stream_socket_perms;
allow cyphesis_t self:unix_stream_socket create_stream_socket_perms;
allow cyphesis_t self:unix_dgram_socket create_socket_perms;

manage_files_pattern(cyphesis_t, cyphesis_log_t, cyphesis_log_t)
logging_log_filetrans(cyphesis_t, cyphesis_log_t, file)

# DAN > Does cyphesis really create a sock_file in /tmp?  Why?
allow cyphesis_t cyphesis_tmp_t:sock_file manage_sock_file_perms;
files_tmp_filetrans(cyphesis_t, cyphesis_tmp_t, file)

manage_files_pattern(cyphesis_t, cyphesis_var_run_t, cyphesis_var_run_t)
manage_sock_files_pattern(cyphesis_t, cyphesis_var_run_t, cyphesis_var_run_t)
files_pid_filetrans(cyphesis_t, cyphesis_var_run_t, { file sock_file })

kernel_read_system_state(cyphesis_t)
kernel_read_kernel_sysctls(cyphesis_t)

# DAN> What is cyphesis looking for in /bin?
corecmd_search_bin(cyphesis_t)
corecmd_getattr_bin_files(cyphesis_t)

corenet_all_recvfrom_unlabeled(cyphesis_t)
corenet_tcp_sendrecv_generic_if(cyphesis_t)
corenet_tcp_sendrecv_generic_node(cyphesis_t)
corenet_tcp_sendrecv_all_ports(cyphesis_t)
corenet_tcp_bind_generic_node(cyphesis_t)
corenet_tcp_bind_cyphesis_port(cyphesis_t)
corenet_sendrecv_cyphesis_server_packets(cyphesis_t)

dev_read_urand(cyphesis_t)

# Init script handling
domain_use_interactive_fds(cyphesis_t)

files_read_etc_files(cyphesis_t)
files_read_usr_files(cyphesis_t)

logging_send_syslog_msg(cyphesis_t)

miscfiles_read_localization(cyphesis_t)

sysnet_dns_name_resolve(cyphesis_t)

# cyphesis wants to talk to avahi via dbus
optional_policy(`
	avahi_dbus_chat(cyphesis_t)
	dbus_system_bus_client(cyphesis_t)
')

optional_policy(`
	kerberos_use(cyphesis_t)
')

optional_policy(`
	postgresql_stream_connect(cyphesis_t)
')