1haproxy_selinux(8) SELinux Policy haproxy haproxy_selinux(8)
2
3
4
6 haproxy_selinux - Security Enhanced Linux Policy for the haproxy pro‐
7 cesses
8
10 Security-Enhanced Linux secures the haproxy processes via flexible
11 mandatory access control.
12
13 The haproxy processes execute with the haproxy_t SELinux type. You can
14 check if you have these processes running by executing the ps command
15 with the -Z qualifier.
16
17 For example:
18
19 ps -eZ | grep haproxy_t
20
21
22
24 The haproxy_t SELinux type can be entered via the file_type, unla‐
25 beled_t, proc_type, haproxy_exec_t, filesystem_type, mtrr_device_t,
26 sysctl_type file types.
27
28 The default entrypoint paths for the haproxy_t domain are the follow‐
29 ing:
30
31 all files on the system, /usr/sbin/haproxy, /dev/cpu/mtrr
32
34 SELinux defines process types (domains) for each process running on the
35 system
36
37 You can see the context of a process using the -Z option to ps
38
39 Policy governs the access confined processes have to files. SELinux
40 haproxy policy is very flexible allowing users to setup their haproxy
41 processes in as secure a method as possible.
42
43 The following process types are defined for haproxy:
44
45 haproxy_t
46
47 Note: semanage permissive -a haproxy_t can be used to make the process
48 type haproxy_t permissive. SELinux does not deny access to permissive
49 process types, but the AVC (SELinux denials) messages are still gener‐
50 ated.
51
52
54 SELinux policy is customizable based on least access required. haproxy
55 policy is extremely flexible and has several booleans that allow you to
56 manipulate the policy and run haproxy with the tightest access possi‐
57 ble.
58
59
60
61 If you want to allow all daemons to write corefiles to /, you must turn
62 on the allow_daemons_dump_core boolean. Disabled by default.
63
64 setsebool -P allow_daemons_dump_core 1
65
66
67
68 If you want to allow all daemons to use tcp wrappers, you must turn on
69 the allow_daemons_use_tcp_wrapper boolean. Disabled by default.
70
71 setsebool -P allow_daemons_use_tcp_wrapper 1
72
73
74
75 If you want to allow all daemons the ability to read/write terminals,
76 you must turn on the allow_daemons_use_tty boolean. Disabled by
77 default.
78
79 setsebool -P allow_daemons_use_tty 1
80
81
82
83 If you want to allow all domains to use other domains file descriptors,
84 you must turn on the allow_domain_fd_use boolean. Enabled by default.
85
86 setsebool -P allow_domain_fd_use 1
87
88
89
90 If you want to allow unconfined executables to make their heap memory
91 executable. Doing this is a really bad idea. Probably indicates a
92 badly coded executable, but could indicate an attack. This executable
93 should be reported in bugzilla, you must turn on the allow_execheap
94 boolean. Disabled by default.
95
96 setsebool -P allow_execheap 1
97
98
99
100 If you want to allow unconfined executables to map a memory region as
101 both executable and writable, this is dangerous and the executable
102 should be reported in bugzilla), you must turn on the allow_execmem
103 boolean. Enabled by default.
104
105 setsebool -P allow_execmem 1
106
107
108
109 If you want to allow all unconfined executables to use libraries
110 requiring text relocation that are not labeled textrel_shlib_t), you
111 must turn on the allow_execmod boolean. Enabled by default.
112
113 setsebool -P allow_execmod 1
114
115
116
117 If you want to allow unconfined executables to make their stack exe‐
118 cutable. This should never, ever be necessary. Probably indicates a
119 badly coded executable, but could indicate an attack. This executable
120 should be reported in bugzilla), you must turn on the allow_execstack
121 boolean. Enabled by default.
122
123 setsebool -P allow_execstack 1
124
125
126
127 If you want to allow confined applications to run with kerberos, you
128 must turn on the allow_kerberos boolean. Enabled by default.
129
130 setsebool -P allow_kerberos 1
131
132
133
134 If you want to allow sysadm to debug or ptrace all processes, you must
135 turn on the allow_ptrace boolean. Disabled by default.
136
137 setsebool -P allow_ptrace 1
138
139
140
141 If you want to allow system to run with NIS, you must turn on the
142 allow_ypbind boolean. Disabled by default.
143
144 setsebool -P allow_ypbind 1
145
146
147
148 If you want to allow cluster administrative cluster domains memcheck-
149 amd64- to use executable memory, you must turn on the clus‐
150 ter_use_execmem boolean. Disabled by default.
151
152 setsebool -P cluster_use_execmem 1
153
154
155
156 If you want to enable cluster mode for daemons, you must turn on the
157 daemons_enable_cluster_mode boolean. Disabled by default.
158
159 setsebool -P daemons_enable_cluster_mode 1
160
161
162
163 If you want to allow all domains to have the kernel load modules, you
164 must turn on the domain_kernel_load_modules boolean. Disabled by
165 default.
166
167 setsebool -P domain_kernel_load_modules 1
168
169
170
171 If you want to allow all domains to execute in fips_mode, you must turn
172 on the fips_mode boolean. Enabled by default.
173
174 setsebool -P fips_mode 1
175
176
177
178 If you want to enable reading of urandom for all domains, you must turn
179 on the global_ssp boolean. Disabled by default.
180
181 setsebool -P global_ssp 1
182
183
184
185 If you want to enable support for upstart as the init program, you must
186 turn on the init_upstart boolean. Enabled by default.
187
188 setsebool -P init_upstart 1
189
190
191
192 If you want to allow certain domains to map low memory in the kernel,
193 you must turn on the mmap_low_allowed boolean. Disabled by default.
194
195 setsebool -P mmap_low_allowed 1
196
197
198
199 If you want to allow confined applications to use nscd shared memory,
200 you must turn on the nscd_use_shm boolean. Enabled by default.
201
202 setsebool -P nscd_use_shm 1
203
204
205
206 If you want to boolean to determine whether the system permits loading
207 policy, setting enforcing mode, and changing boolean values. Set this
208 to true and you have to reboot to set it back, you must turn on the
209 secure_mode_policyload boolean. Disabled by default.
210
211 setsebool -P secure_mode_policyload 1
212
213
214
215 If you want to support X userspace object manager, you must turn on the
216 xserver_object_manager boolean. Disabled by default.
217
218 setsebool -P xserver_object_manager 1
219
220
221
223 The SELinux process type haproxy_t can manage files labeled with the
224 following file types. The paths listed are the default paths for these
225 file types. Note the processes UID still need to have DAC permissions.
226
227 file_type
228
229 all files on the system
230
231
233 SELinux requires files to have an extended attribute to define the file
234 type.
235
236 You can see the context of a file using the -Z option to ls
237
238 Policy governs the access confined processes have to these files.
239 SELinux haproxy policy is very flexible allowing users to setup their
240 haproxy processes in as secure a method as possible.
241
242 STANDARD FILE CONTEXT
243
244 SELinux defines the file context types for the haproxy, if you wanted
245 to store files with these types in a diffent paths, you need to execute
246 the semanage command to sepecify alternate labeling and then use
247 restorecon to put the labels on disk.
248
249 semanage fcontext -a -t haproxy_var_run_t '/srv/myhaproxy_con‐
250 tent(/.*)?'
251 restorecon -R -v /srv/myhaproxy_content
252
253 Note: SELinux often uses regular expressions to specify labels that
254 match multiple files.
255
256 The following file types are defined for haproxy:
257
258
259
260 haproxy_exec_t
261
262 - Set files with the haproxy_exec_t type, if you want to transition an
263 executable to the haproxy_t domain.
264
265
266
267 haproxy_tmpfs_t
268
269 - Set files with the haproxy_tmpfs_t type, if you want to store haproxy
270 files on a tmpfs file system.
271
272
273
274 haproxy_var_lib_t
275
276 - Set files with the haproxy_var_lib_t type, if you want to store the
277 haproxy files under the /var/lib directory.
278
279
280
281 haproxy_var_log_t
282
283 - Set files with the haproxy_var_log_t type, if you want to treat the
284 data as haproxy var log data, usually stored under the /var/log direc‐
285 tory.
286
287
288
289 haproxy_var_run_t
290
291 - Set files with the haproxy_var_run_t type, if you want to store the
292 haproxy files under the /run or /var/run directory.
293
294
295
296 Note: File context can be temporarily modified with the chcon command.
297 If you want to permanently change the file context you need to use the
298 semanage fcontext command. This will modify the SELinux labeling data‐
299 base. You will need to use restorecon to apply the labels.
300
301
303 semanage fcontext can also be used to manipulate default file context
304 mappings.
305
306 semanage permissive can also be used to manipulate whether or not a
307 process type is permissive.
308
309 semanage module can also be used to enable/disable/install/remove pol‐
310 icy modules.
311
312 semanage boolean can also be used to manipulate the booleans
313
314
315 system-config-selinux is a GUI tool available to customize SELinux pol‐
316 icy settings.
317
318
320 This manual page was auto-generated using sepolicy manpage .
321
322
324 selinux(8), haproxy(8), semanage(8), restorecon(8), chcon(1) , setse‐
325 bool(8)
326
327
328
329haproxy 15-06-03 haproxy_selinux(8)