1cluster_selinux(8) SELinux Policy cluster cluster_selinux(8)
2
3
4
6 cluster_selinux - Security Enhanced Linux Policy for the cluster pro‐
7 cesses
8
10 Security-Enhanced Linux secures the cluster processes via flexible
11 mandatory access control.
12
13 The cluster processes execute with the cluster_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 cluster_t
20
21
22
24 The cluster_t SELinux type can be entered via the cluster_exec_t file
25 type.
26
27 The default entrypoint paths for the cluster_t domain are the follow‐
28 ing:
29
30 /usr/sbin/pcsd, /usr/sbin/aisexec, /usr/lib/pcsd/pcsd,
31 /usr/sbin/ccs_tool, /usr/sbin/corosync, /usr/sbin/cpglockd,
32 /usr/sbin/cman_tool, /usr/sbin/rgmanager, /usr/sbin/ldirectord,
33 /usr/sbin/pacemakerd, /usr/bin/corosync-qnetd, /usr/sbin/corosync-noti‐
34 fyd, /usr/sbin/pacemaker-remoted, /usr/sbin/pacemaker_remoted,
35 /usr/lib/heartbeat/heartbeat, /usr/share/corosync/corosync,
36 /usr/share/corosync/corosync-qdevice
37
39 SELinux defines process types (domains) for each process running on the
40 system
41
42 You can see the context of a process using the -Z option to ps
43
44 Policy governs the access confined processes have to files. SELinux
45 cluster policy is very flexible allowing users to setup their cluster
46 processes in as secure a method as possible.
47
48 The following process types are defined for cluster:
49
50 cluster_t
51
52 Note: semanage permissive -a cluster_t can be used to make the process
53 type cluster_t permissive. SELinux does not deny access to permissive
54 process types, but the AVC (SELinux denials) messages are still gener‐
55 ated.
56
57
59 SELinux policy is customizable based on least access required. cluster
60 policy is extremely flexible and has several booleans that allow you to
61 manipulate the policy and run cluster with the tightest access possi‐
62 ble.
63
64
65
66 If you want to allow cluster administrative domains to connect to the
67 network using TCP, you must turn on the cluster_can_network_connect
68 boolean. Disabled by default.
69
70 setsebool -P cluster_can_network_connect 1
71
72
73
74 If you want to allow cluster administrative domains to manage all files
75 on a system, you must turn on the cluster_manage_all_files boolean.
76 Disabled by default.
77
78 setsebool -P cluster_manage_all_files 1
79
80
81
82 If you want to allow cluster administrative cluster domains memcheck-
83 amd64- to use executable memory, you must turn on the clus‐
84 ter_use_execmem boolean. Disabled by default.
85
86 setsebool -P cluster_use_execmem 1
87
88
89
90 If you want to allow users to resolve user passwd entries directly from
91 ldap rather then using a sssd server, you must turn on the authlo‐
92 gin_nsswitch_use_ldap boolean. Disabled by default.
93
94 setsebool -P authlogin_nsswitch_use_ldap 1
95
96
97
98 If you want to deny user domains applications to map a memory region as
99 both executable and writable, this is dangerous and the executable
100 should be reported in bugzilla, you must turn on the deny_execmem bool‐
101 ean. Enabled by default.
102
103 setsebool -P deny_execmem 1
104
105
106
107 If you want to allow all domains to execute in fips_mode, you must turn
108 on the fips_mode boolean. Enabled by default.
109
110 setsebool -P fips_mode 1
111
112
113
114 If you want to allow confined applications to run with kerberos, you
115 must turn on the kerberos_enabled boolean. Enabled by default.
116
117 setsebool -P kerberos_enabled 1
118
119
120
121 If you want to control the ability to mmap a low area of the address
122 space, as configured by /proc/sys/vm/mmap_min_addr, you must turn on
123 the mmap_low_allowed boolean. Disabled by default.
124
125 setsebool -P mmap_low_allowed 1
126
127
128
129 If you want to allow system to run with NIS, you must turn on the
130 nis_enabled boolean. Disabled by default.
131
132 setsebool -P nis_enabled 1
133
134
135
136 If you want to allow confined applications to use nscd shared memory,
137 you must turn on the nscd_use_shm boolean. Enabled by default.
138
139 setsebool -P nscd_use_shm 1
140
141
142
143 If you want to disable kernel module loading, you must turn on the
144 secure_mode_insmod boolean. Enabled by default.
145
146 setsebool -P secure_mode_insmod 1
147
148
149
150 If you want to allow unconfined executables to make their heap memory
151 executable. Doing this is a really bad idea. Probably indicates a
152 badly coded executable, but could indicate an attack. This executable
153 should be reported in bugzilla, you must turn on the selin‐
154 uxuser_execheap boolean. Disabled by default.
155
156 setsebool -P selinuxuser_execheap 1
157
158
159
160 If you want to allow unconfined executables to make their stack exe‐
161 cutable. This should never, ever be necessary. Probably indicates a
162 badly coded executable, but could indicate an attack. This executable
163 should be reported in bugzilla, you must turn on the selinuxuser_exec‐
164 stack boolean. Enabled by default.
165
166 setsebool -P selinuxuser_execstack 1
167
168
169
171 If you want to allow users to resolve user passwd entries directly from
172 ldap rather then using a sssd server for the cluster_t, you must turn
173 on the authlogin_nsswitch_use_ldap boolean.
174
175 setsebool -P authlogin_nsswitch_use_ldap 1
176
177
178 If you want to allow confined applications to run with kerberos for the
179 cluster_t, you must turn on the kerberos_enabled boolean.
180
181 setsebool -P kerberos_enabled 1
182
183
185 SELinux defines port types to represent TCP and UDP ports.
186
187 You can see the types associated with a port by using the following
188 command:
189
190 semanage port -l
191
192
193 Policy governs the access confined processes have to these ports.
194 SELinux cluster policy is very flexible allowing users to setup their
195 cluster processes in as secure a method as possible.
196
197 The following port types are defined for cluster:
198
199
200 cluster_port_t
201
202
203
204 Default Defined Ports:
205 tcp 5149,40040,50006-50008
206 udp 5149,50006-50008
207
209 The SELinux process type cluster_t can manage files labeled with the
210 following file types. The paths listed are the default paths for these
211 file types. Note the processes UID still need to have DAC permissions.
212
213 file_type
214
215 all files on the system
216
217
219 SELinux requires files to have an extended attribute to define the file
220 type.
221
222 You can see the context of a file using the -Z option to ls
223
224 Policy governs the access confined processes have to these files.
225 SELinux cluster policy is very flexible allowing users to setup their
226 cluster processes in as secure a method as possible.
227
228 STANDARD FILE CONTEXT
229
230 SELinux defines the file context types for the cluster, if you wanted
231 to store files with these types in a diffent paths, you need to execute
232 the semanage command to sepecify alternate labeling and then use
233 restorecon to put the labels on disk.
234
235 semanage fcontext -a -t cluster_unit_file_t '/srv/mycluster_con‐
236 tent(/.*)?'
237 restorecon -R -v /srv/mycluster_content
238
239 Note: SELinux often uses regular expressions to specify labels that
240 match multiple files.
241
242 The following file types are defined for cluster:
243
244
245
246 cluster_conf_t
247
248 - Set files with the cluster_conf_t type, if you want to treat the
249 files as cluster configuration data, usually stored under the /etc
250 directory.
251
252
253
254 cluster_exec_t
255
256 - Set files with the cluster_exec_t type, if you want to transition an
257 executable to the cluster_t domain.
258
259
260 Paths:
261 /usr/sbin/pcsd, /usr/sbin/aisexec, /usr/lib/pcsd/pcsd,
262 /usr/sbin/ccs_tool, /usr/sbin/corosync, /usr/sbin/cpglockd,
263 /usr/sbin/cman_tool, /usr/sbin/rgmanager, /usr/sbin/ldirectord,
264 /usr/sbin/pacemakerd, /usr/bin/corosync-qnetd, /usr/sbin/corosync-
265 notifyd, /usr/sbin/pacemaker-remoted, /usr/sbin/pacemaker_remoted,
266 /usr/lib/heartbeat/heartbeat, /usr/share/corosync/corosync,
267 /usr/share/corosync/corosync-qdevice
268
269
270 cluster_initrc_exec_t
271
272 - Set files with the cluster_initrc_exec_t type, if you want to transi‐
273 tion an executable to the cluster_initrc_t domain.
274
275
276 Paths:
277 /etc/rc.d/init.d/openais, /etc/rc.d/init.d/corosync,
278 /etc/rc.d/init.d/cpglockd, /etc/rc.d/init.d/heartbeat,
279 /etc/rc.d/init.d/pacemaker, /etc/rc.d/init.d/rgmanager
280
281
282 cluster_tmp_t
283
284 - Set files with the cluster_tmp_t type, if you want to store cluster
285 temporary files in the /tmp directories.
286
287
288
289 cluster_tmpfs_t
290
291 - Set files with the cluster_tmpfs_t type, if you want to store cluster
292 files on a tmpfs file system.
293
294
295
296 cluster_unit_file_t
297
298 - Set files with the cluster_unit_file_t type, if you want to treat the
299 files as cluster unit content.
300
301
302 Paths:
303 /usr/lib/systemd/system/pcsd.*, /usr/lib/systemd/sys‐
304 tem/corosync.*, /usr/lib/systemd/system/pacemaker.*, /usr/lib/sys‐
305 temd/system/corosync-qnetd.*, /usr/lib/systemd/system/corosync-
306 qdevice.*
307
308
309 cluster_var_lib_t
310
311 - Set files with the cluster_var_lib_t type, if you want to store the
312 cluster files under the /var/lib directory.
313
314
315 Paths:
316 /var/lib/pcsd(/.*)?, /var/lib/cluster(/.*)?, /var/lib/ope‐
317 nais(/.*)?, /var/lib/pengine(/.*)?, /var/lib/corosync(/.*)?,
318 /usr/lib/heartbeat(/.*)?, /var/lib/heartbeat(/.*)?, /var/lib/pace‐
319 maker(/.*)?
320
321
322 cluster_var_log_t
323
324 - Set files with the cluster_var_log_t type, if you want to treat the
325 data as cluster var log data, usually stored under the /var/log direc‐
326 tory.
327
328
329 Paths:
330 /var/log/pcsd(/.*)?, /var/log/pacemaker.log.*, /var/log/clus‐
331 ter/aisexec.log.*, /var/log/cluster/corosync.log.*, /var/log/clus‐
332 ter/cpglockd.log.*, /var/log/cluster/rgmanager.log.*
333
334
335 cluster_var_run_t
336
337 - Set files with the cluster_var_run_t type, if you want to store the
338 cluster files under the /run or /var/run directory.
339
340
341 Paths:
342 /var/run/crm(/.*)?, /var/run/cman_.*, /var/run/rsctmp(/.*)?,
343 /var/run/aisexec.*, /var/run/heartbeat(/.*)?, /var/run/corosync-
344 qnetd(/.*)?, /var/run/corosync-qdevice(/.*)?,
345 /var/run/corosync.pid, /var/run/cpglockd.pid, /var/run/rgman‐
346 ager.pid, /var/run/cluster/rgmanager.sk
347
348
349 Note: File context can be temporarily modified with the chcon command.
350 If you want to permanently change the file context you need to use the
351 semanage fcontext command. This will modify the SELinux labeling data‐
352 base. You will need to use restorecon to apply the labels.
353
354
356 semanage fcontext can also be used to manipulate default file context
357 mappings.
358
359 semanage permissive can also be used to manipulate whether or not a
360 process type is permissive.
361
362 semanage module can also be used to enable/disable/install/remove pol‐
363 icy modules.
364
365 semanage port can also be used to manipulate the port definitions
366
367 semanage boolean can also be used to manipulate the booleans
368
369
370 system-config-selinux is a GUI tool available to customize SELinux pol‐
371 icy settings.
372
373
375 This manual page was auto-generated using sepolicy manpage .
376
377
379 selinux(8), cluster(8), semanage(8), restorecon(8), chcon(1), sepol‐
380 icy(8), setsebool(8)
381
382
383
384cluster 19-10-08 cluster_selinux(8)