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 haproxy_exec_t file
25       type.
26
27       The default entrypoint paths for the haproxy_t domain are  the  follow‐
28       ing:
29
30       /usr/sbin/haproxy, /usr/sbin/haproxy-systemd-wrapper
31

PROCESS TYPES

33       SELinux defines process types (domains) for each process running on the
34       system
35
36       You can see the context of a process using the -Z option to ps
37
38       Policy governs the access confined processes have  to  files.   SELinux
39       haproxy  policy  is very flexible allowing users to setup their haproxy
40       processes in as secure a method as possible.
41
42       The following process types are defined for haproxy:
43
44       haproxy_t
45
46       Note: semanage permissive -a haproxy_t can be used to make the  process
47       type  haproxy_t  permissive. SELinux does not deny access to permissive
48       process types, but the AVC (SELinux denials) messages are still  gener‐
49       ated.
50
51

BOOLEANS

53       SELinux policy is customizable based on least access required.  haproxy
54       policy is extremely flexible and has several booleans that allow you to
55       manipulate  the  policy and run haproxy with the tightest access possi‐
56       ble.
57
58
59
60       If you want to determine whether haproxy can connect to all TCP  ports,
61       you must turn on the haproxy_connect_any boolean. Disabled by default.
62
63       setsebool -P haproxy_connect_any 1
64
65
66
67       If you want to allow users to resolve user passwd entries directly from
68       ldap rather then using a sssd server, you  must  turn  on  the  authlo‐
69       gin_nsswitch_use_ldap boolean. Disabled by default.
70
71       setsebool -P authlogin_nsswitch_use_ldap 1
72
73
74
75       If  you  want to allow cluster administrative cluster domains memcheck-
76       amd64-  to  use  executable  memory,  you  must  turn  on   the   clus‐
77       ter_use_execmem boolean. Disabled by default.
78
79       setsebool -P cluster_use_execmem 1
80
81
82
83       If you want to allow all daemons to write corefiles to /, you must turn
84       on the daemons_dump_core boolean. Disabled by default.
85
86       setsebool -P daemons_dump_core 1
87
88
89
90       If you want to enable cluster mode for daemons, you must  turn  on  the
91       daemons_enable_cluster_mode boolean. Enabled by default.
92
93       setsebool -P daemons_enable_cluster_mode 1
94
95
96
97       If  you want to allow all daemons to use tcp wrappers, you must turn on
98       the daemons_use_tcp_wrapper boolean. Disabled by default.
99
100       setsebool -P daemons_use_tcp_wrapper 1
101
102
103
104       If you want to allow all daemons the ability to  read/write  terminals,
105       you must turn on the daemons_use_tty boolean. Disabled by default.
106
107       setsebool -P daemons_use_tty 1
108
109
110
111       If  you  want  to deny any process from ptracing or debugging any other
112       processes, you  must  turn  on  the  deny_ptrace  boolean.  Enabled  by
113       default.
114
115       setsebool -P deny_ptrace 1
116
117
118
119       If  you  want  to  allow  any  process  to mmap any file on system with
120       attribute file_type, you must turn on the  domain_can_mmap_files  bool‐
121       ean. Enabled by default.
122
123       setsebool -P domain_can_mmap_files 1
124
125
126
127       If  you want to allow all domains write to kmsg_device, while kernel is
128       executed with systemd.log_target=kmsg parameter, you must turn  on  the
129       domain_can_write_kmsg boolean. Disabled by default.
130
131       setsebool -P domain_can_write_kmsg 1
132
133
134
135       If you want to allow all domains to use other domains file descriptors,
136       you must turn on the domain_fd_use boolean. Enabled by default.
137
138       setsebool -P domain_fd_use 1
139
140
141
142       If you want to allow all domains to have the kernel load  modules,  you
143       must  turn  on  the  domain_kernel_load_modules  boolean.  Disabled  by
144       default.
145
146       setsebool -P domain_kernel_load_modules 1
147
148
149
150       If you want to allow all domains to execute in fips_mode, you must turn
151       on the fips_mode boolean. Enabled by default.
152
153       setsebool -P fips_mode 1
154
155
156
157       If you want to enable reading of urandom for all domains, you must turn
158       on the global_ssp boolean. Disabled by default.
159
160       setsebool -P global_ssp 1
161
162
163
164       If you want to allow confined applications to run  with  kerberos,  you
165       must turn on the kerberos_enabled boolean. Enabled by default.
166
167       setsebool -P kerberos_enabled 1
168
169
170
171       If  you  want  to  allow  system  to run with NIS, you must turn on the
172       nis_enabled boolean. Disabled by default.
173
174       setsebool -P nis_enabled 1
175
176
177
178       If you want to allow confined applications to use nscd  shared  memory,
179       you must turn on the nscd_use_shm boolean. Disabled by default.
180
181       setsebool -P nscd_use_shm 1
182
183
184

MANAGED FILES

186       The  SELinux  process  type haproxy_t can manage files labeled with the
187       following file types.  The paths listed are the default paths for these
188       file types.  Note the processes UID still need to have DAC permissions.
189
190       cluster_conf_t
191
192            /etc/cluster(/.*)?
193
194       cluster_log
195
196
197       cluster_var_lib_t
198
199            /var/lib/pcsd(/.*)?
200            /var/lib/cluster(/.*)?
201            /var/lib/openais(/.*)?
202            /var/lib/pengine(/.*)?
203            /var/lib/corosync(/.*)?
204            /usr/lib/heartbeat(/.*)?
205            /var/lib/heartbeat(/.*)?
206            /var/lib/pacemaker(/.*)?
207
208       cluster_var_run_t
209
210            /var/run/crm(/.*)?
211            /var/run/cman_.*
212            /var/run/rsctmp(/.*)?
213            /var/run/aisexec.*
214            /var/run/heartbeat(/.*)?
215            /var/run/corosync-qnetd(/.*)?
216            /var/run/corosync-qdevice(/.*)?
217            /var/run/cpglockd.pid
218            /var/run/corosync.pid
219            /var/run/rgmanager.pid
220            /var/run/cluster/rgmanager.sk
221
222       haproxy_tmpfs_t
223
224
225       haproxy_var_lib_t
226
227            /var/lib/haproxy(/.*)?
228
229       haproxy_var_run_t
230
231            /var/run/haproxy.stat.*
232            /var/run/haproxy.sock.*
233            /var/run/haproxy.pid
234
235       root_t
236
237            /sysroot/ostree/deploy/.*-atomic.*/deploy(/.*)?
238            /
239            /initrd
240
241

FILE CONTEXTS

243       SELinux requires files to have an extended attribute to define the file
244       type.
245
246       You can see the context of a file using the -Z option to ls
247
248       Policy governs the access  confined  processes  have  to  these  files.
249       SELinux  haproxy  policy is very flexible allowing users to setup their
250       haproxy processes in as secure a method as possible.
251
252       STANDARD FILE CONTEXT
253
254       SELinux defines the file context types for the haproxy, if  you  wanted
255       to store files with these types in a diffent paths, you need to execute
256       the semanage command  to  sepecify  alternate  labeling  and  then  use
257       restorecon to put the labels on disk.
258
259       semanage   fcontext   -a   -t   haproxy_var_run_t  '/srv/myhaproxy_con‐
260       tent(/.*)?'
261       restorecon -R -v /srv/myhaproxy_content
262
263       Note: SELinux often uses regular expressions  to  specify  labels  that
264       match multiple files.
265
266       The following file types are defined for haproxy:
267
268
269
270       haproxy_exec_t
271
272       -  Set files with the haproxy_exec_t type, if you want to transition an
273       executable to the haproxy_t domain.
274
275
276       Paths:
277            /usr/sbin/haproxy, /usr/sbin/haproxy-systemd-wrapper
278
279
280       haproxy_tmpfs_t
281
282       - Set files with the haproxy_tmpfs_t type, if you want to store haproxy
283       files on a tmpfs file system.
284
285
286
287       haproxy_unit_file_t
288
289       - Set files with the haproxy_unit_file_t type, if you want to treat the
290       files as haproxy unit content.
291
292
293
294       haproxy_var_lib_t
295
296       - Set files with the haproxy_var_lib_t type, if you want to  store  the
297       haproxy files under the /var/lib directory.
298
299
300
301       haproxy_var_log_t
302
303       -  Set  files with the haproxy_var_log_t type, if you want to treat the
304       data as haproxy var log data, usually stored under the /var/log  direc‐
305       tory.
306
307
308
309       haproxy_var_run_t
310
311       -  Set  files with the haproxy_var_run_t type, if you want to store the
312       haproxy files under the /run or /var/run directory.
313
314
315       Paths:
316            /var/run/haproxy.stat.*,                  /var/run/haproxy.sock.*,
317            /var/run/haproxy.pid
318
319
320       Note:  File context can be temporarily modified with the chcon command.
321       If you want to permanently change the file context you need to use  the
322       semanage fcontext command.  This will modify the SELinux labeling data‐
323       base.  You will need to use restorecon to apply the labels.
324
325

COMMANDS

327       semanage fcontext can also be used to manipulate default  file  context
328       mappings.
329
330       semanage  permissive  can  also  be used to manipulate whether or not a
331       process type is permissive.
332
333       semanage module can also be used to enable/disable/install/remove  pol‐
334       icy modules.
335
336       semanage boolean can also be used to manipulate the booleans
337
338
339       system-config-selinux is a GUI tool available to customize SELinux pol‐
340       icy settings.
341
342

AUTHOR

344       This manual page was auto-generated using sepolicy manpage .
345
346

SEE ALSO

348       selinux(8), haproxy(8), semanage(8),  restorecon(8),  chcon(1),  sepol‐
349       icy(8) , setsebool(8)
350
351
352
353haproxy                            19-04-25                 haproxy_selinux(8)
Impressum