Multi-Level Security Policy
A Multi-Level Security (MLS) policy applies access controls to multiple levels of processes
with each level having different rules for user access. Users can't obtain access to
information if they don't have the correct authorization to run a process at a specific level.
In SELinux, MLS implements the Bell-LaPadula (BLP) model for system security, which applies
labels to files, processes, and other system objects to control the flow of information
between security levels. In a typical implementation, the labels for security levels might
range from the most secure, top secret
, through secret
, and
classified
, to the least secure, unclassified
. For
example, under MLS, you might configure a program labeled secret
that can
write to a file that's labeled top secret
, but can't read from it. Similarly,
you would configure the same program to read from and write to a file labeled
secret
, but only to read classified
or
unclassified
files. So, information that passes through the program can
flow upwards through the hierarchy of security levels, but not downwards.
Note:
You must install the selinux-policy-mls
package to apply the MLS policy.
Note:
Oracle does not recommend using the MLS policy on a system that is running the X Window System.
Note:
SELinux denials are more common with MLS for the following main reasons:
-
MLS disables the unconfined policy module.
-
MLS makes use of sensitivity levels.