1haproxy_selinux(8)          SELinux Policy haproxy          haproxy_selinux(8)
2
3
4

NAME

6       haproxy_selinux  -  Security Enhanced Linux Policy for the haproxy pro‐
7       cesses
8

DESCRIPTION

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

ENTRYPOINTS

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

PROCESS TYPES

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

BOOLEANS

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

MANAGED FILES

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

FILE CONTEXTS

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

COMMANDS

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

AUTHOR

320       This manual page was auto-generated using sepolicy manpage .
321
322

SEE ALSO

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)
Impressum