1bootloader_selinux(8) SELinux Policy bootloader bootloader_selinux(8)
2
3
4
6 bootloader_selinux - Security Enhanced Linux Policy for the bootloader
7 processes
8
10 Security-Enhanced Linux secures the bootloader processes via flexible
11 mandatory access control.
12
13 The bootloader processes execute with the bootloader_t SELinux type.
14 You can check if you have these processes running by executing the ps
15 command with the -Z qualifier.
16
17 For example:
18
19 ps -eZ | grep bootloader_t
20
21
22
24 The bootloader_t SELinux type can be entered via the bootloader_exec_t
25 file type.
26
27 The default entrypoint paths for the bootloader_t domain are the fol‐
28 lowing:
29
30 /sbin/grub.*, /sbin/lilo.*, /sbin/ybin.*, /usr/sbin/grub.*,
31 /usr/sbin/lilo.*, /usr/sbin/ybin.*, /sbin/zipl, /usr/sbin/zipl
32
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 bootloader policy is very flexible allowing users to setup their boot‐
41 loader processes in as secure a method as possible.
42
43 The following process types are defined for bootloader:
44
45 bootloader_t
46
47 Note: semanage permissive -a bootloader_t can be used to make the
48 process type bootloader_t permissive. SELinux does not deny access to
49 permissive process types, but the AVC (SELinux denials) messages are
50 still generated.
51
52
54 SELinux policy is customizable based on least access required. boot‐
55 loader policy is extremely flexible and has several booleans that allow
56 you to manipulate the policy and run bootloader with the tightest
57 access possible.
58
59
60
61 If you want to allow users to resolve user passwd entries directly from
62 ldap rather then using a sssd server, you must turn on the authlo‐
63 gin_nsswitch_use_ldap boolean. Disabled by default.
64
65 setsebool -P authlogin_nsswitch_use_ldap 1
66
67
68
69 If you want to deny user domains applications to map a memory region as
70 both executable and writable, this is dangerous and the executable
71 should be reported in bugzilla, you must turn on the deny_execmem bool‐
72 ean. Enabled by default.
73
74 setsebool -P deny_execmem 1
75
76
77
78 If you want to deny any process from ptracing or debugging any other
79 processes, you must turn on the deny_ptrace boolean. Enabled by
80 default.
81
82 setsebool -P deny_ptrace 1
83
84
85
86 If you want to allow any process to mmap any file on system with
87 attribute file_type, you must turn on the domain_can_mmap_files bool‐
88 ean. Enabled by default.
89
90 setsebool -P domain_can_mmap_files 1
91
92
93
94 If you want to allow all domains write to kmsg_device, while kernel is
95 executed with systemd.log_target=kmsg parameter, you must turn on the
96 domain_can_write_kmsg boolean. Disabled by default.
97
98 setsebool -P domain_can_write_kmsg 1
99
100
101
102 If you want to allow all domains to use other domains file descriptors,
103 you must turn on the domain_fd_use boolean. Enabled by default.
104
105 setsebool -P domain_fd_use 1
106
107
108
109 If you want to allow all domains to have the kernel load modules, you
110 must turn on the domain_kernel_load_modules boolean. Disabled by
111 default.
112
113 setsebool -P domain_kernel_load_modules 1
114
115
116
117 If you want to allow all domains to execute in fips_mode, you must turn
118 on the fips_mode boolean. Enabled by default.
119
120 setsebool -P fips_mode 1
121
122
123
124 If you want to enable reading of urandom for all domains, you must turn
125 on the global_ssp boolean. Disabled by default.
126
127 setsebool -P global_ssp 1
128
129
130
131 If you want to allow s-c-kdump to run bootloader in bootloader_t, you
132 must turn on the kdumpgui_run_bootloader boolean. Disabled by default.
133
134 setsebool -P kdumpgui_run_bootloader 1
135
136
137
138 If you want to allow confined applications to run with kerberos, you
139 must turn on the kerberos_enabled boolean. Enabled by default.
140
141 setsebool -P kerberos_enabled 1
142
143
144
145 If you want to control the ability to mmap a low area of the address
146 space, as configured by /proc/sys/vm/mmap_min_addr, you must turn on
147 the mmap_low_allowed boolean. Disabled by default.
148
149 setsebool -P mmap_low_allowed 1
150
151
152
153 If you want to allow system to run with NIS, you must turn on the
154 nis_enabled boolean. Disabled by default.
155
156 setsebool -P nis_enabled 1
157
158
159
160 If you want to allow confined applications to use nscd shared memory,
161 you must turn on the nscd_use_shm boolean. Disabled by default.
162
163 setsebool -P nscd_use_shm 1
164
165
166
167 If you want to disable kernel module loading, you must turn on the
168 secure_mode_insmod boolean. Enabled by default.
169
170 setsebool -P secure_mode_insmod 1
171
172
173
174 If you want to boolean to determine whether the system permits loading
175 policy, setting enforcing mode, and changing boolean values. Set this
176 to true and you have to reboot to set it back, you must turn on the
177 secure_mode_policyload boolean. Enabled by default.
178
179 setsebool -P secure_mode_policyload 1
180
181
182
183 If you want to allow unconfined executables to make their heap memory
184 executable. Doing this is a really bad idea. Probably indicates a
185 badly coded executable, but could indicate an attack. This executable
186 should be reported in bugzilla, you must turn on the selin‐
187 uxuser_execheap boolean. Disabled by default.
188
189 setsebool -P selinuxuser_execheap 1
190
191
192
193 If you want to allow all unconfined executables to use libraries
194 requiring text relocation that are not labeled textrel_shlib_t, you
195 must turn on the selinuxuser_execmod boolean. Enabled by default.
196
197 setsebool -P selinuxuser_execmod 1
198
199
200
201 If you want to allow unconfined executables to make their stack exe‐
202 cutable. This should never, ever be necessary. Probably indicates a
203 badly coded executable, but could indicate an attack. This executable
204 should be reported in bugzilla, you must turn on the selinuxuser_exec‐
205 stack boolean. Enabled by default.
206
207 setsebool -P selinuxuser_execstack 1
208
209
210
211 If you want to support X userspace object manager, you must turn on the
212 xserver_object_manager boolean. Enabled by default.
213
214 setsebool -P xserver_object_manager 1
215
216
217
219 The SELinux process type bootloader_t can manage files labeled with the
220 following file types. The paths listed are the default paths for these
221 file types. Note the processes UID still need to have DAC permissions.
222
223 file_type
224
225 all files on the system
226
227
229 SELinux requires files to have an extended attribute to define the file
230 type.
231
232 You can see the context of a file using the -Z option to ls
233
234 Policy governs the access confined processes have to these files.
235 SELinux bootloader policy is very flexible allowing users to setup
236 their bootloader processes in as secure a method as possible.
237
238 STANDARD FILE CONTEXT
239
240 SELinux defines the file context types for the bootloader, if you
241 wanted to store files with these types in a diffent paths, you need to
242 execute the semanage command to sepecify alternate labeling and then
243 use restorecon to put the labels on disk.
244
245 semanage fcontext -a -t bootloader_var_run_t '/srv/mybootloader_con‐
246 tent(/.*)?'
247 restorecon -R -v /srv/mybootloader_content
248
249 Note: SELinux often uses regular expressions to specify labels that
250 match multiple files.
251
252 The following file types are defined for bootloader:
253
254
255
256 bootloader_etc_t
257
258 - Set files with the bootloader_etc_t type, if you want to store boot‐
259 loader files in the /etc directories.
260
261
262 Paths:
263 /etc/lilo.conf.*, /etc/zipl.conf.*, /etc/yaboot.conf.*,
264 /etc/default/grub
265
266
267 bootloader_exec_t
268
269 - Set files with the bootloader_exec_t type, if you want to transition
270 an executable to the bootloader_t domain.
271
272
273 Paths:
274 /sbin/grub.*, /sbin/lilo.*, /sbin/ybin.*, /usr/sbin/grub.*,
275 /usr/sbin/lilo.*, /usr/sbin/ybin.*, /sbin/zipl, /usr/sbin/zipl
276
277
278 bootloader_tmp_t
279
280 - Set files with the bootloader_tmp_t type, if you want to store boot‐
281 loader temporary files in the /tmp directories.
282
283
284
285 bootloader_var_lib_t
286
287 - Set files with the bootloader_var_lib_t type, if you want to store
288 the bootloader files under the /var/lib directory.
289
290
291
292 bootloader_var_run_t
293
294 - Set files with the bootloader_var_run_t type, if you want to store
295 the bootloader files under the /run or /var/run directory.
296
297
298
299 Note: File context can be temporarily modified with the chcon command.
300 If you want to permanently change the file context you need to use the
301 semanage fcontext command. This will modify the SELinux labeling data‐
302 base. You will need to use restorecon to apply the labels.
303
304
306 semanage fcontext can also be used to manipulate default file context
307 mappings.
308
309 semanage permissive can also be used to manipulate whether or not a
310 process type is permissive.
311
312 semanage module can also be used to enable/disable/install/remove pol‐
313 icy modules.
314
315 semanage boolean can also be used to manipulate the booleans
316
317
318 system-config-selinux is a GUI tool available to customize SELinux pol‐
319 icy settings.
320
321
323 This manual page was auto-generated using sepolicy manpage .
324
325
327 selinux(8), bootloader(8), semanage(8), restorecon(8), chcon(1), sepol‐
328 icy(8) , setsebool(8)
329
330
331
332bootloader 19-04-25 bootloader_selinux(8)