Main index | Section 4 | Options |
Alternately, to load the MLS module at boot time, place the following line in your kernel configuration file: options MAC
and in loader.conf(5):
mac_mls_load="YES"
In MLS, all system subjects and objects are assigned confidentiality labels, made up of a sensitivity level and zero or more compartments. Together, these label elements permit all labels to be placed in a partial order, with confidentiality protections based on a dominance operator describing the order. The sensitivity level is expressed as a value between 0 and 65535, with higher values reflecting higher sensitivity levels. The compartment field is expressed as a set of up to 256 components, numbered from 1 to 256. A complete label consists of both sensitivity and compartment elements.
With normal labels, dominance is defined as a label having a higher or equal active sensitivity level, and having at least all of the same compartments as the label to which it is being compared. With respect to label comparisons, "lower" is defined as being dominated by the label to which it is being compared, and "higher" is defined as dominating the label to which it is being compared, and "equal" is defined as both labels being able to satisfy the dominance requirements over one another.
Three special label values exist:
Label | Comparison |
mls/low | dominated by all other labels |
mls/equal | equal to all other labels |
mls/high | dominates all other labels |
The "mls/equal" label may be applied to subjects and objects for which no enforcement of the MLS security policy is desired.
The MLS model enforces the following basic restrictions:
These rules prevent subjects of lower clearance from gaining access information classified beyond its clearance level in order to protect the confidentiality of classified information, subjects of higher clearance from writing to objects of lower classification in order to prevent the accidental or malicious leaking of information, and subjects of lower clearance from observing subjects of higher clearance altogether. In traditional trusted operating systems, the MLS confidentiality model is used in concert with the Biba integrity model ((mac_biba) 4) in order to protect the Trusted Code Base (TCB).
For example:
mls/10:2+3+6 mls/low
Subject labels consist of three label elements: an effective (active) label, as well as a range of available labels. This range is represented using two ordered MLS label elements, and when set on a process, permits the process to change its active label to any label of greater or equal integrity to the low end of the range, and lesser or equal integrity to the high end of the range. In general, subject labels are represented in the following form:
For example:
mls/10:2+3+6(5:2+3-20:2+3+4+5+6) mls/high(low-high)
Valid ranged labels must meet the following requirement regarding their elements:
One class of objects with ranges currently exists, the network interface. In the case of the network interface, the effective label element references the default label for packets received over the interface, and the range represents the range of acceptable labels of packets to be transmitted over the interface.
security.mac.mls.enabled | |
Enables the enforcement of the MLS confidentiality policy. (Default: 1). | |
security.mac.mls.ptys_equal | |
Label pty(4)s as "mls/equal" upon creation. (Default: 0). | |
security.mac.mls.revocation_enabled | |
Revoke access to objects if the label is changed to a more sensitive level than the subject. (Default: 0). | |
MAC_MLS (4) | July 25, 2015 |
Main index | Section 4 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
“ | This philosophy, in the hands of amateurs, leads to inexplicably mind-numbing botches like the existence of two programs, “head” and “tail,” which print the first part or the last part of a file, depending. Even though their operations are duals of one another, “head” and “tail” are different programs, written by different authors, and take different options! | ” |
— The Unix Haters' handbook |