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 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
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
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 cluster administrative cluster domains memcheck-
68 amd64- to use executable memory, you must turn on the cluster_use_ex‐
69 ecmem boolean. Disabled by default.
70
71 setsebool -P cluster_use_execmem 1
72
73
74
75 If you want to allow all domains to execute in fips_mode, you must turn
76 on the fips_mode boolean. Enabled by default.
77
78 setsebool -P fips_mode 1
79
80
81
83 The SELinux process type haproxy_t can manage files labeled with the
84 following file types. The paths listed are the default paths for these
85 file types. Note the processes UID still need to have DAC permissions.
86
87 cluster_conf_t
88
89 /etc/cluster(/.*)?
90
91 cluster_log
92
93
94 cluster_var_lib_t
95
96 /var/lib/pcsd(/.*)?
97 /var/lib/cluster(/.*)?
98 /var/lib/openais(/.*)?
99 /var/lib/pengine(/.*)?
100 /var/lib/corosync(/.*)?
101 /usr/lib/heartbeat(/.*)?
102 /var/lib/heartbeat(/.*)?
103 /var/lib/pacemaker(/.*)?
104
105 cluster_var_run_t
106
107 /var/run/crm(/.*)?
108 /var/run/cman_.*
109 /var/run/rsctmp(/.*)?
110 /var/run/aisexec.*
111 /var/run/heartbeat(/.*)?
112 /var/run/pcsd-ruby.socket
113 /var/run/corosync-qnetd(/.*)?
114 /var/run/corosync-qdevice(/.*)?
115 /var/run/corosync.pid
116 /var/run/cpglockd.pid
117 /var/run/rgmanager.pid
118 /var/run/cluster/rgmanager.sk
119
120 haproxy_tmpfs_t
121
122
123 haproxy_var_lib_t
124
125 /var/lib/haproxy(/.*)?
126
127 haproxy_var_run_t
128
129 /var/run/haproxy.stat.*
130 /var/run/haproxy.sock.*
131 /var/run/haproxy.pid
132
133 krb5_host_rcache_t
134
135 /var/tmp/krb5_0.rcache2
136 /var/cache/krb5rcache(/.*)?
137 /var/tmp/nfs_0
138 /var/tmp/DNS_25
139 /var/tmp/host_0
140 /var/tmp/imap_0
141 /var/tmp/HTTP_23
142 /var/tmp/HTTP_48
143 /var/tmp/ldap_55
144 /var/tmp/ldap_487
145 /var/tmp/ldapmap1_0
146
147 root_t
148
149 /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
150 /
151 /initrd
152
153
155 SELinux requires files to have an extended attribute to define the file
156 type.
157
158 You can see the context of a file using the -Z option to ls
159
160 Policy governs the access confined processes have to these files.
161 SELinux haproxy policy is very flexible allowing users to setup their
162 haproxy processes in as secure a method as possible.
163
164 STANDARD FILE CONTEXT
165
166 SELinux defines the file context types for the haproxy, if you wanted
167 to store files with these types in a diffent paths, you need to execute
168 the semanage command to specify alternate labeling and then use re‐
169 storecon to put the labels on disk.
170
171 semanage fcontext -a -t haproxy_unit_file_t '/srv/myhaproxy_con‐
172 tent(/.*)?'
173 restorecon -R -v /srv/myhaproxy_content
174
175 Note: SELinux often uses regular expressions to specify labels that
176 match multiple files.
177
178 The following file types are defined for haproxy:
179
180
181
182 haproxy_exec_t
183
184 - Set files with the haproxy_exec_t type, if you want to transition an
185 executable to the haproxy_t domain.
186
187
188 Paths:
189 /usr/sbin/haproxy, /usr/sbin/haproxy-systemd-wrapper
190
191
192 haproxy_tmpfs_t
193
194 - Set files with the haproxy_tmpfs_t type, if you want to store haproxy
195 files on a tmpfs file system.
196
197
198
199 haproxy_unit_file_t
200
201 - Set files with the haproxy_unit_file_t type, if you want to treat the
202 files as haproxy unit content.
203
204
205
206 haproxy_var_lib_t
207
208 - Set files with the haproxy_var_lib_t type, if you want to store the
209 haproxy files under the /var/lib directory.
210
211
212
213 haproxy_var_log_t
214
215 - Set files with the haproxy_var_log_t type, if you want to treat the
216 data as haproxy var log data, usually stored under the /var/log direc‐
217 tory.
218
219
220
221 haproxy_var_run_t
222
223 - Set files with the haproxy_var_run_t type, if you want to store the
224 haproxy files under the /run or /var/run directory.
225
226
227 Paths:
228 /var/run/haproxy.stat.*, /var/run/haproxy.sock.*,
229 /var/run/haproxy.pid
230
231
232 Note: File context can be temporarily modified with the chcon command.
233 If you want to permanently change the file context you need to use the
234 semanage fcontext command. This will modify the SELinux labeling data‐
235 base. You will need to use restorecon to apply the labels.
236
237
239 semanage fcontext can also be used to manipulate default file context
240 mappings.
241
242 semanage permissive can also be used to manipulate whether or not a
243 process type is permissive.
244
245 semanage module can also be used to enable/disable/install/remove pol‐
246 icy modules.
247
248 semanage boolean can also be used to manipulate the booleans
249
250
251 system-config-selinux is a GUI tool available to customize SELinux pol‐
252 icy settings.
253
254
256 This manual page was auto-generated using sepolicy manpage .
257
258
260 selinux(8), haproxy(8), semanage(8), restorecon(8), chcon(1), sepol‐
261 icy(8), setsebool(8)
262
263
264
265haproxy 23-02-03 haproxy_selinux(8)