1zebra_selinux(8) SELinux Policy zebra zebra_selinux(8)
2
3
4
6 zebra_selinux - Security Enhanced Linux Policy for the zebra processes
7
9 Security-Enhanced Linux secures the zebra processes via flexible manda‐
10 tory access control.
11
12 The zebra processes execute with the zebra_t SELinux type. You can
13 check if you have these processes running by executing the ps command
14 with the -Z qualifier.
15
16 For example:
17
18 ps -eZ | grep zebra_t
19
20
21
23 The zebra_t SELinux type can be entered via the zebra_exec_t file type.
24
25 The default entrypoint paths for the zebra_t domain are the following:
26
27 /usr/sbin/rip.*, /usr/sbin/ospf.*, /usr/sbin/bgpd, /usr/sbin/isisd,
28 /usr/sbin/zebra, /usr/sbin/babeld
29
31 SELinux defines process types (domains) for each process running on the
32 system
33
34 You can see the context of a process using the -Z option to ps
35
36 Policy governs the access confined processes have to files. SELinux
37 zebra policy is very flexible allowing users to setup their zebra pro‐
38 cesses in as secure a method as possible.
39
40 The following process types are defined for zebra:
41
42 zebra_t
43
44 Note: semanage permissive -a zebra_t can be used to make the process
45 type zebra_t permissive. SELinux does not deny access to permissive
46 process types, but the AVC (SELinux denials) messages are still gener‐
47 ated.
48
49
51 SELinux policy is customizable based on least access required. zebra
52 policy is extremely flexible and has several booleans that allow you to
53 manipulate the policy and run zebra with the tightest access possible.
54
55
56
57 If you want to allow zebra daemon to write it configuration files, you
58 must turn on the zebra_write_config boolean. Disabled by default.
59
60 setsebool -P zebra_write_config 1
61
62
63
64 If you want to allow users to resolve user passwd entries directly from
65 ldap rather then using a sssd server, you must turn on the authlo‐
66 gin_nsswitch_use_ldap boolean. Disabled by default.
67
68 setsebool -P authlogin_nsswitch_use_ldap 1
69
70
71
72 If you want to allow all daemons to write corefiles to /, you must turn
73 on the daemons_dump_core boolean. Disabled by default.
74
75 setsebool -P daemons_dump_core 1
76
77
78
79 If you want to enable cluster mode for daemons, you must turn on the
80 daemons_enable_cluster_mode boolean. Enabled by default.
81
82 setsebool -P daemons_enable_cluster_mode 1
83
84
85
86 If you want to allow all daemons to use tcp wrappers, you must turn on
87 the daemons_use_tcp_wrapper boolean. Disabled by default.
88
89 setsebool -P daemons_use_tcp_wrapper 1
90
91
92
93 If you want to allow all daemons the ability to read/write terminals,
94 you must turn on the daemons_use_tty boolean. Disabled by default.
95
96 setsebool -P daemons_use_tty 1
97
98
99
100 If you want to deny any process from ptracing or debugging any other
101 processes, you must turn on the deny_ptrace boolean. Enabled by
102 default.
103
104 setsebool -P deny_ptrace 1
105
106
107
108 If you want to allow any process to mmap any file on system with
109 attribute file_type, you must turn on the domain_can_mmap_files bool‐
110 ean. Enabled by default.
111
112 setsebool -P domain_can_mmap_files 1
113
114
115
116 If you want to allow all domains write to kmsg_device, while kernel is
117 executed with systemd.log_target=kmsg parameter, you must turn on the
118 domain_can_write_kmsg boolean. Disabled by default.
119
120 setsebool -P domain_can_write_kmsg 1
121
122
123
124 If you want to allow all domains to use other domains file descriptors,
125 you must turn on the domain_fd_use boolean. Enabled by default.
126
127 setsebool -P domain_fd_use 1
128
129
130
131 If you want to allow all domains to have the kernel load modules, you
132 must turn on the domain_kernel_load_modules boolean. Disabled by
133 default.
134
135 setsebool -P domain_kernel_load_modules 1
136
137
138
139 If you want to allow all domains to execute in fips_mode, you must turn
140 on the fips_mode boolean. Enabled by default.
141
142 setsebool -P fips_mode 1
143
144
145
146 If you want to enable reading of urandom for all domains, you must turn
147 on the global_ssp boolean. Disabled by default.
148
149 setsebool -P global_ssp 1
150
151
152
153 If you want to allow confined applications to run with kerberos, you
154 must turn on the kerberos_enabled boolean. Enabled by default.
155
156 setsebool -P kerberos_enabled 1
157
158
159
160 If you want to allow system to run with NIS, you must turn on the
161 nis_enabled boolean. Disabled by default.
162
163 setsebool -P nis_enabled 1
164
165
166
167 If you want to allow confined applications to use nscd shared memory,
168 you must turn on the nscd_use_shm boolean. Disabled by default.
169
170 setsebool -P nscd_use_shm 1
171
172
173
175 SELinux defines port types to represent TCP and UDP ports.
176
177 You can see the types associated with a port by using the following
178 command:
179
180 semanage port -l
181
182
183 Policy governs the access confined processes have to these ports.
184 SELinux zebra policy is very flexible allowing users to setup their
185 zebra processes in as secure a method as possible.
186
187 The following port types are defined for zebra:
188
189
190 zebra_port_t
191
192
193
194 Default Defined Ports:
195 tcp 2606,2608-2609,2600-2604
196 udp 2606,2608-2609,2600-2604
197
199 The SELinux process type zebra_t can manage files labeled with the fol‐
200 lowing file types. The paths listed are the default paths for these
201 file types. Note the processes UID still need to have DAC permissions.
202
203 cluster_conf_t
204
205 /etc/cluster(/.*)?
206
207 cluster_var_lib_t
208
209 /var/lib/pcsd(/.*)?
210 /var/lib/cluster(/.*)?
211 /var/lib/openais(/.*)?
212 /var/lib/pengine(/.*)?
213 /var/lib/corosync(/.*)?
214 /usr/lib/heartbeat(/.*)?
215 /var/lib/heartbeat(/.*)?
216 /var/lib/pacemaker(/.*)?
217
218 cluster_var_run_t
219
220 /var/run/crm(/.*)?
221 /var/run/cman_.*
222 /var/run/rsctmp(/.*)?
223 /var/run/aisexec.*
224 /var/run/heartbeat(/.*)?
225 /var/run/corosync-qnetd(/.*)?
226 /var/run/corosync-qdevice(/.*)?
227 /var/run/cpglockd.pid
228 /var/run/corosync.pid
229 /var/run/rgmanager.pid
230 /var/run/cluster/rgmanager.sk
231
232 root_t
233
234 /sysroot/ostree/deploy/.*-atomic.*/deploy(/.*)?
235 /
236 /initrd
237
238 zebra_conf_t
239
240 /etc/zebra(/.*)?
241 /etc/quagga(/.*)?
242
243 zebra_log_t
244
245 /var/log/zebra(/.*)?
246 /var/log/quagga(/.*)?
247
248 zebra_tmp_t
249
250
251 zebra_var_run_t
252
253 /var/run/quagga(/.*)?
254 /var/run/.zebra
255 /var/run/.zserv
256
257
259 SELinux requires files to have an extended attribute to define the file
260 type.
261
262 You can see the context of a file using the -Z option to ls
263
264 Policy governs the access confined processes have to these files.
265 SELinux zebra policy is very flexible allowing users to setup their
266 zebra processes in as secure a method as possible.
267
268 STANDARD FILE CONTEXT
269
270 SELinux defines the file context types for the zebra, if you wanted to
271 store files with these types in a diffent paths, you need to execute
272 the semanage command to sepecify alternate labeling and then use
273 restorecon to put the labels on disk.
274
275 semanage fcontext -a -t zebra_var_run_t '/srv/myzebra_content(/.*)?'
276 restorecon -R -v /srv/myzebra_content
277
278 Note: SELinux often uses regular expressions to specify labels that
279 match multiple files.
280
281 The following file types are defined for zebra:
282
283
284
285 zebra_conf_t
286
287 - Set files with the zebra_conf_t type, if you want to treat the files
288 as zebra configuration data, usually stored under the /etc directory.
289
290
291 Paths:
292 /etc/zebra(/.*)?, /etc/quagga(/.*)?
293
294
295 zebra_exec_t
296
297 - Set files with the zebra_exec_t type, if you want to transition an
298 executable to the zebra_t domain.
299
300
301 Paths:
302 /usr/sbin/rip.*, /usr/sbin/ospf.*, /usr/sbin/bgpd,
303 /usr/sbin/isisd, /usr/sbin/zebra, /usr/sbin/babeld
304
305
306 zebra_initrc_exec_t
307
308 - Set files with the zebra_initrc_exec_t type, if you want to transi‐
309 tion an executable to the zebra_initrc_t domain.
310
311
312 Paths:
313 /etc/rc.d/init.d/bgpd, /etc/rc.d/init.d/ripd,
314 /etc/rc.d/init.d/ospfd, /etc/rc.d/init.d/zebra,
315 /etc/rc.d/init.d/isisd, /etc/rc.d/init.d/ospf6d,
316 /etc/rc.d/init.d/ripngd, /etc/rc.d/init.d/babeld
317
318
319 zebra_log_t
320
321 - Set files with the zebra_log_t type, if you want to treat the data as
322 zebra log data, usually stored under the /var/log directory.
323
324
325 Paths:
326 /var/log/zebra(/.*)?, /var/log/quagga(/.*)?
327
328
329 zebra_tmp_t
330
331 - Set files with the zebra_tmp_t type, if you want to store zebra tem‐
332 porary files in the /tmp directories.
333
334
335
336 zebra_unit_file_t
337
338 - Set files with the zebra_unit_file_t type, if you want to treat the
339 files as zebra unit content.
340
341
342 Paths:
343 /usr/lib/systemd/system/bgpd.*, /usr/lib/systemd/system/ripd.*,
344 /usr/lib/systemd/system/isisd.*, /usr/lib/systemd/system/ospfd.*,
345 /usr/lib/systemd/system/zebra.*, /usr/lib/systemd/system/babeld.*,
346 /usr/lib/systemd/system/ospf6d.*, /usr/lib/systemd/system/ripngd.*
347
348
349 zebra_var_run_t
350
351 - Set files with the zebra_var_run_t type, if you want to store the
352 zebra files under the /run or /var/run directory.
353
354
355 Paths:
356 /var/run/quagga(/.*)?, /var/run/.zebra, /var/run/.zserv
357
358
359 Note: File context can be temporarily modified with the chcon command.
360 If you want to permanently change the file context you need to use the
361 semanage fcontext command. This will modify the SELinux labeling data‐
362 base. You will need to use restorecon to apply the labels.
363
364
366 semanage fcontext can also be used to manipulate default file context
367 mappings.
368
369 semanage permissive can also be used to manipulate whether or not a
370 process type is permissive.
371
372 semanage module can also be used to enable/disable/install/remove pol‐
373 icy modules.
374
375 semanage port can also be used to manipulate the port definitions
376
377 semanage boolean can also be used to manipulate the booleans
378
379
380 system-config-selinux is a GUI tool available to customize SELinux pol‐
381 icy settings.
382
383
385 This manual page was auto-generated using sepolicy manpage .
386
387
389 selinux(8), zebra(8), semanage(8), restorecon(8), chcon(1), sepolicy(8)
390 , setsebool(8)
391
392
393
394zebra 19-04-25 zebra_selinux(8)