aboutsummaryrefslogtreecommitdiff
blob: 2ced0233c32f9ec9e02c32043ab348de766072fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
policy_module(cyrus, 1.11.0)

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

type cyrus_t;
type cyrus_exec_t;
init_daemon_domain(cyrus_t, cyrus_exec_t)

type cyrus_initrc_exec_t;
init_script_file(cyrus_initrc_exec_t)

type cyrus_tmp_t;
files_tmp_file(cyrus_tmp_t)

type cyrus_var_lib_t;
files_type(cyrus_var_lib_t)

type cyrus_var_run_t;
files_pid_file(cyrus_var_run_t)

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

allow cyrus_t self:capability { dac_override net_bind_service setgid setuid sys_resource };
dontaudit cyrus_t self:capability sys_tty_config;
allow cyrus_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
allow cyrus_t self:process setrlimit;
allow cyrus_t self:fd use;
allow cyrus_t self:fifo_file rw_fifo_file_perms;
allow cyrus_t self:sock_file read_sock_file_perms;
allow cyrus_t self:shm create_shm_perms;
allow cyrus_t self:sem create_sem_perms;
allow cyrus_t self:msgq create_msgq_perms;
allow cyrus_t self:msg { send receive };
allow cyrus_t self:unix_dgram_socket create_socket_perms;
allow cyrus_t self:unix_stream_socket create_stream_socket_perms;
allow cyrus_t self:unix_dgram_socket sendto;
allow cyrus_t self:unix_stream_socket connectto;
allow cyrus_t self:tcp_socket create_stream_socket_perms;
allow cyrus_t self:udp_socket create_socket_perms;

manage_dirs_pattern(cyrus_t, cyrus_tmp_t, cyrus_tmp_t)
manage_files_pattern(cyrus_t, cyrus_tmp_t, cyrus_tmp_t)
files_tmp_filetrans(cyrus_t, cyrus_tmp_t, { file dir })

manage_dirs_pattern(cyrus_t, cyrus_var_lib_t, cyrus_var_lib_t)
manage_files_pattern(cyrus_t, cyrus_var_lib_t, cyrus_var_lib_t)
manage_lnk_files_pattern(cyrus_t, cyrus_var_lib_t, cyrus_var_lib_t)
manage_sock_files_pattern(cyrus_t, cyrus_var_lib_t, cyrus_var_lib_t)
files_pid_filetrans(cyrus_t, cyrus_var_run_t, file)

manage_files_pattern(cyrus_t, cyrus_var_run_t, cyrus_var_run_t)
manage_sock_files_pattern(cyrus_t, cyrus_var_run_t, cyrus_var_run_t)
files_pid_filetrans(cyrus_t, cyrus_var_run_t, { file sock_file })

kernel_read_kernel_sysctls(cyrus_t)
kernel_read_system_state(cyrus_t)
kernel_read_all_sysctls(cyrus_t)

corenet_all_recvfrom_unlabeled(cyrus_t)
corenet_all_recvfrom_netlabel(cyrus_t)
corenet_tcp_sendrecv_generic_if(cyrus_t)
corenet_udp_sendrecv_generic_if(cyrus_t)
corenet_tcp_sendrecv_generic_node(cyrus_t)
corenet_udp_sendrecv_generic_node(cyrus_t)
corenet_tcp_sendrecv_all_ports(cyrus_t)
corenet_udp_sendrecv_all_ports(cyrus_t)
corenet_tcp_bind_generic_node(cyrus_t)
corenet_tcp_bind_mail_port(cyrus_t)
corenet_tcp_bind_lmtp_port(cyrus_t)
corenet_tcp_bind_pop_port(cyrus_t)
corenet_tcp_bind_sieve_port(cyrus_t)
corenet_tcp_connect_all_ports(cyrus_t)
corenet_sendrecv_mail_server_packets(cyrus_t)
corenet_sendrecv_pop_server_packets(cyrus_t)
corenet_sendrecv_lmtp_server_packets(cyrus_t)
corenet_sendrecv_all_client_packets(cyrus_t)

dev_read_rand(cyrus_t)
dev_read_urand(cyrus_t)
dev_read_sysfs(cyrus_t)

fs_getattr_all_fs(cyrus_t)
fs_search_auto_mountpoints(cyrus_t)

corecmd_exec_bin(cyrus_t)

domain_use_interactive_fds(cyrus_t)

files_list_var_lib(cyrus_t)
files_read_etc_files(cyrus_t)
files_read_etc_runtime_files(cyrus_t)
files_read_usr_files(cyrus_t)

auth_use_nsswitch(cyrus_t)

libs_exec_lib_files(cyrus_t)

logging_send_syslog_msg(cyrus_t)

miscfiles_read_localization(cyrus_t)
miscfiles_read_generic_certs(cyrus_t)

sysnet_read_config(cyrus_t)

userdom_use_unpriv_users_fds(cyrus_t)
userdom_dontaudit_search_user_home_dirs(cyrus_t)

mta_manage_spool(cyrus_t)
mta_send_mail(cyrus_t)

optional_policy(`
	cron_system_entry(cyrus_t, cyrus_exec_t)
')

optional_policy(`
	kerberos_keytab_template(cyrus, cyrus_t)
')

optional_policy(`
	ldap_stream_connect(cyrus_t)
')

optional_policy(`
	sasl_connect(cyrus_t)
')

optional_policy(`
	seutil_sigchld_newrole(cyrus_t)
')

optional_policy(`
	snmp_read_snmp_var_lib_files(cyrus_t)
	snmp_dontaudit_write_snmp_var_lib_files(cyrus_t)
	snmp_stream_connect(cyrus_t)
')

optional_policy(`
	udev_read_db(cyrus_t)
')