Vulnerability Discussion
Preventing nonprivileged users from executing privileged functions mitigates the risk that unauthorized individuals or processes may gain unnecessary access to information or privileges.
Privileged functions include, for example, establishing accounts, performing system integrity checks, or administering cryptographic key management activities. Nonprivileged users are individuals who do not possess appropriate authorizations. Circumventing intrusion detection and prevention mechanisms or malicious code protection mechanisms are examples of privileged functions that require protection from nonprivileged users.
Check
Verify the operating system prevents nonprivileged users from executing privileged functions, including disabling, circumventing, or altering implemented security safeguards/countermeasures.
Obtain a list of authorized users (other than system administrator and guest accounts) for the system.
Check the list against the system by using the following command:
$ sudo semanage login -l | more
Login Name SELinux User MLS/MCS Range Service
__default__ user_u s0-s0:c0.c1023 *
root unconfined_u s0-s0:c0.c1023 *
system_u system_u s0-s0:c0.c1023 *
joe staff_u s0-s0:c0.c1023 *
All administrators must be mapped to the "sysadm_u", "staff_u", or an appropriately tailored confined role as defined by the organization.
All authorized nonadministrative users must be mapped to the "user_u" role.
If they are not mapped in this way, this is a finding.
Fix
Configure RHEL 8 to prevent nonprivileged users from executing privileged functions, including disabling, circumventing, or altering implemented security safeguards/countermeasures.
Use the following command to map a new user to the "sysadm_u" role:
$ sudo semanage login -a -s sysadm_u
Use the following command to map an existing user to the "sysadm_u" role:
$ sudo semanage login -m -s sysadm_u
Use the following command to map a new user to the "staff_u" role:
$ sudo semanage login -a -s staff_u
Use the following command to map an existing user to the "staff_u" role:
$ sudo semanage login -m -s staff_u
Use the following command to map a new user to the "user_u" role:
$ sudo semanage login -a -s user_u
Use the following command to map an existing user to the "user_u" role:
$ sudo semanage login -m -s user_u
Note: SELinux confined users mapped to sysadm_u are not allowed to log in to the system over SSH, by default. If this is a required function, it can be configured by setting the ssh_sysadm_login SELinux boolean to "on" with the following command:
$ sudo setsebool -P ssh_sysadm_login on
This must be documented with the information system security officer (ISSO) as an operational requirement.