]> git.ipfire.org Git - people/stevee/selinux-policy.git/blame - refpolicy/policy/modules/services/amavis.te
add portslave, bug 1538
[people/stevee/selinux-policy.git] / refpolicy / policy / modules / services / amavis.te
CommitLineData
8a0a9944 1
6ba4d964 2policy_module(amavis,1.0.2)
8a0a9944
CP
3
4########################################
5#
6# Declarations
7#
8
9type amavis_t;
10type amavis_exec_t;
11domain_type(amavis_t)
12init_daemon_domain(amavis_t, amavis_exec_t)
13
14# configuration files
15type amavis_etc_t;
16files_type(amavis_etc_t)
17
18# pid files
19type amavis_var_run_t;
20files_pid_file(amavis_var_run_t)
21
22# var/lib files
23type amavis_var_lib_t;
24files_type(amavis_var_lib_t)
25
26# log files
27type amavis_var_log_t;
28logging_log_file(amavis_var_log_t)
29
30# tmp files
31type amavis_tmp_t;
32files_tmp_file(amavis_tmp_t)
33
34# virus quarantine
35type amavis_quarantine_t;
36files_type(amavis_quarantine_t)
37
38########################################
39#
40# amavis local policy
41#
42
43allow amavis_t self:capability { chown dac_override setgid setuid };
44dontaudit amavis_t self:capability sys_tty_config;
45allow amavis_t self:process { signal sigchld signull };
46allow amavis_t self:fifo_file rw_file_perms;
47allow amavis_t self:unix_stream_socket create_stream_socket_perms;
48allow amavis_t self:unix_dgram_socket create_socket_perms;
49allow amavis_t self:tcp_socket { listen accept };
50
51# configuration files
52allow amavis_t amavis_etc_t:dir r_dir_perms;
53allow amavis_t amavis_etc_t:file r_file_perms;
54allow amavis_t amavis_etc_t:lnk_file { getattr read };
55
56# mail quarantine
57allow amavis_t amavis_quarantine_t:file create_file_perms;
58allow amavis_t amavis_quarantine_t:sock_file create_file_perms;
59allow amavis_t amavis_quarantine_t:dir create_dir_perms;
60
61# tmp files
62allow amavis_t amavis_tmp_t:file create_file_perms;
63allow amavis_t amavis_tmp_t:dir { rw_dir_perms setattr };
64files_tmp_filetrans(amavis_t,amavis_tmp_t,file)
65
66# var/lib files for amavis
67allow amavis_t amavis_var_lib_t:file create_file_perms;
68allow amavis_t amavis_var_lib_t:sock_file create_file_perms;
69allow amavis_t amavis_var_lib_t:dir create_dir_perms;
70files_var_filetrans(amavis_t,amavis_var_lib_t,{ file dir sock_file })
71files_var_lib_filetrans(amavis_t,amavis_var_lib_t,file)
72
73# log files
74allow amavis_t amavis_var_log_t:file create_file_perms;
75allow amavis_t amavis_var_log_t:sock_file create_file_perms;
76allow amavis_t amavis_var_log_t:dir { rw_dir_perms setattr };
77logging_log_filetrans(amavis_t,amavis_var_log_t,{ sock_file file dir })
78
79# pid file
80allow amavis_t amavis_var_run_t:file manage_file_perms;
81allow amavis_t amavis_var_run_t:sock_file manage_file_perms;
82allow amavis_t amavis_var_run_t:dir rw_dir_perms;
83files_pid_filetrans(amavis_t,amavis_var_run_t, { file sock_file })
84
85# amavis tries to access /proc/self/stat, /etc/shadow and /root - perl...
86kernel_dontaudit_list_proc(amavis_t)
87
88# find perl
89corecmd_exec_bin(amavis_t)
90corecmd_search_sbin(amavis_t)
91
92corenet_non_ipsec_sendrecv(amavis_t)
93corenet_tcp_sendrecv_all_if(amavis_t)
94corenet_tcp_sendrecv_all_nodes(amavis_t)
95# amavis uses well-defined ports
96corenet_tcp_sendrecv_amavisd_recv_port(amavis_t)
97corenet_tcp_sendrecv_amavisd_send_port(amavis_t)
98# just the other side not. ;-)
99corenet_tcp_sendrecv_all_ports(amavis_t)
100# connect to backchannel port
101corenet_tcp_connect_amavisd_send_port(amavis_t)
102# bind to incoming port
103corenet_tcp_bind_amavisd_recv_port(amavis_t)
104
105dev_read_rand(amavis_t)
106dev_read_urand(amavis_t)
107
108domain_use_interactive_fds(amavis_t)
109
110files_read_etc_files(amavis_t)
111files_read_etc_runtime_files(amavis_t)
112files_read_usr_files(amavis_t)
113
114auth_dontaudit_read_shadow(amavis_t)
115
116init_use_fds(amavis_t)
117init_use_script_ptys(amavis_t)
118
119libs_use_ld_so(amavis_t)
120libs_use_shared_libs(amavis_t)
121
122logging_send_syslog_msg(amavis_t)
123
124miscfiles_read_localization(amavis_t)
125
126sysnet_dns_name_resolve(amavis_t)
127
128userdom_dontaudit_search_sysadm_home_dirs(amavis_t)
129
130# Cron handling
131cron_use_fds(amavis_t)
132cron_use_system_job_fds(amavis_t)
133cron_rw_pipes(amavis_t)
134
135mta_read_config(amavis_t)
136
bb7170f6 137optional_policy(`
8a0a9944
CP
138 clamav_stream_connect(amavis_t)
139')
140
6ba4d964
CP
141optional_policy(`
142 dcc_domtrans_client(amavis_t)
143 dcc_stream_connect_dccifd(amavis_t)
144')
145
bb7170f6 146optional_policy(`
8a0a9944
CP
147 ldap_use(amavis_t)
148')
149
e9935943
CP
150optional_policy(`
151 pyzor_domtrans(amavis_t)
152')
153
bb7170f6 154optional_policy(`
8a0a9944
CP
155 spamassassin_exec(amavis_t)
156 spamassassin_exec_client(amavis_t)
157')