Chris PeBenito 3e6c81
Chris PeBenito 5ea24b
policy_module(procmail,1.1.0)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
########################################
Chris PeBenito 3e6c81
#
Chris PeBenito 3e6c81
# Declarations
Chris PeBenito 3e6c81
#
Chris PeBenito 3e6c81
Chris PeBenito 9fd4b8
type procmail_t;
Chris PeBenito 3e6c81
type procmail_exec_t;
Chris PeBenito 3e6c81
domain_type(procmail_t)
Chris PeBenito 3e6c81
domain_entry_file(procmail_t,procmail_exec_t)
Chris PeBenito 3e6c81
role system_r types procmail_t;
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
########################################
Chris PeBenito 3e6c81
#
Chris PeBenito 3e6c81
# Local policy
Chris PeBenito 3e6c81
#
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
allow procmail_t self:capability { sys_nice chown setuid setgid dac_override };
Chris PeBenito 3e6c81
allow procmail_t self:process { setsched fork sigchld signal };
Chris PeBenito 3e6c81
allow procmail_t self:fifo_file rw_file_perms;
Chris PeBenito 3e6c81
allow procmail_t self:unix_stream_socket create_socket_perms;
Chris PeBenito 3e6c81
allow procmail_t self:unix_dgram_socket create_socket_perms;
Chris PeBenito 3e6c81
allow procmail_t self:tcp_socket create_stream_socket_perms;
Chris PeBenito 3e6c81
allow procmail_t self:udp_socket create_socket_perms;
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
kernel_read_system_state(procmail_t)
Chris PeBenito 3e6c81
kernel_read_kernel_sysctl(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
corenet_tcp_sendrecv_all_if(procmail_t)
Chris PeBenito 3e6c81
corenet_raw_sendrecv_all_if(procmail_t)
Chris PeBenito 3e6c81
corenet_udp_sendrecv_all_if(procmail_t)
Chris PeBenito 3e6c81
corenet_tcp_sendrecv_all_nodes(procmail_t)
Chris PeBenito 3e6c81
corenet_udp_sendrecv_all_nodes(procmail_t)
Chris PeBenito 3e6c81
corenet_raw_sendrecv_all_nodes(procmail_t)
Chris PeBenito 3e6c81
corenet_tcp_sendrecv_all_ports(procmail_t)
Chris PeBenito 3e6c81
corenet_udp_sendrecv_all_ports(procmail_t)
Chris PeBenito bd7037
corenet_non_ipsec_sendrecv(procmail_t)
Chris PeBenito 3e6c81
corenet_tcp_bind_all_nodes(procmail_t)
Chris PeBenito 3e6c81
corenet_udp_bind_all_nodes(procmail_t)
Chris PeBenito 78510c
corenet_tcp_connect_spamd_port(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
dev_read_urand(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
fs_getattr_xattr_fs(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
auth_use_nsswitch(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
corecmd_exec_bin(procmail_t)
Chris PeBenito 3e6c81
corecmd_exec_shell(procmail_t)
Chris PeBenito 3e6c81
corecmd_dontaudit_search_sbin(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
files_read_etc_files(procmail_t)
Chris PeBenito 3e6c81
files_read_etc_runtime_files(procmail_t)
Chris PeBenito 3e6c81
files_search_pids(procmail_t)
Chris PeBenito 3e6c81
# for spamassasin
Chris PeBenito 3e6c81
files_read_usr_files(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
libs_use_ld_so(procmail_t)
Chris PeBenito 3e6c81
libs_use_shared_libs(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
miscfiles_read_localization(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 9fd4b8
# only works until we define a different type for maildir
Chris PeBenito 3e6c81
userdom_priveleged_home_dir_manager(procmail_t)
Chris PeBenito 3e6c81
# Do not audit attempts to access /root.
Chris PeBenito 3e6c81
userdom_dontaudit_search_sysadm_home_dir(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
mta_manage_spool(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
ifdef(`hide_broken_symptoms',`
Chris PeBenito 3e6c81
	mta_dontaudit_rw_queue(procmail_t)
Chris PeBenito 3e6c81
')
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
ifdef(`targeted_policy', `
Chris PeBenito 3e6c81
	corenet_udp_bind_generic_port(procmail_t)
Chris PeBenito 3e6c81
	files_getattr_tmp_dir(procmail_t)
Chris PeBenito 3e6c81
')
Chris PeBenito 3e6c81
Chris PeBenito 132880
optional_policy(`logging',`
Chris PeBenito 3e6c81
	logging_send_syslog_msg(procmail_t)
Chris PeBenito 3e6c81
')
Chris PeBenito 3e6c81
Chris PeBenito 132880
optional_policy(`nscd',`
Chris PeBenito 3e6c81
	nscd_use_socket(procmail_t)
Chris PeBenito 3e6c81
')
Chris PeBenito 3e6c81
Chris PeBenito 132880
optional_policy(`postfix',`
Chris PeBenito 3e6c81
	# for a bug in the postfix local program
Chris PeBenito 3e6c81
	postfix_dontaudit_rw_local_tcp_socket(procmail_t)
Chris PeBenito 3e6c81
	postfix_dontaudit_use_fd(procmail_t)
Chris PeBenito 3e6c81
')
Chris PeBenito 3e6c81
Chris PeBenito 132880
optional_policy(`sendmail',`
Chris PeBenito 3e6c81
	mta_read_config(procmail_t)
Chris PeBenito 3e6c81
	sendmail_rw_tcp_socket(procmail_t)
Chris PeBenito 3e6c81
')
Chris PeBenito 3e6c81
Chris PeBenito 132880
optional_policy(`spamassassin',`
Chris PeBenito 3e6c81
	corenet_udp_bind_generic_port(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
	files_getattr_tmp_dir(procmail_t)
Chris PeBenito 3e6c81
Chris PeBenito 3e6c81
	spamassassin_exec(procmail_t)
Chris PeBenito 3e6c81
	spamassassin_exec_client(procmail_t)
Chris PeBenito 3e6c81
')