|Finding ID||Version||Rule ID||IA Controls||Severity|
|Control of program execution is a mechanism used to prevent execution of unauthorized programs. Some operating systems may provide a capability that runs counter to the mission or provides users with functionality that exceeds mission requirements. This includes functions and services installed at the operating system level. Some of the programs, installed by default, may be harmful or may not be necessary to support essential organizational operations (e.g., key missions, functions). Removal of executable programs is not always possible; therefore, establishing a method of preventing program execution is critical to maintaining a secure system baseline. Methods for complying with this requirement include restricting execution of programs in certain environments, while preventing execution in other environments; or limiting execution of certain program functionality based on organization-defined criteria (e.g., privileges, subnets, sandboxed environments, or roles).|
|Canonical Ubuntu 18.04 LTS Security Technical Implementation Guide||2022-12-06|
|Check Text ( C-21049r305300_chk )|
| Verify that the Ubuntu operating system is configured to employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs and access to user home directories. |
Check that "Apparmor" is configured to employ application whitelisting and home directory access control with the following command:
# sudo apparmor_status
apparmor module is loaded.
17 profiles are loaded.
17 profiles are in enforce mode.
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
If the defined profiles do not match the organization's list of authorized software, this is a finding.
|Fix Text (F-21048r305301_fix)|
| Configure the Ubuntu operating system to employ a deny-all, permit-by-exception policy to allow the execution of authorized software programs. |
Install "Apparmor" (if it is not installed) with the following command:
# sudo apt-get install apparmor
Enable "Apparmor" (if it is not already active) with the following command:
# sudo systemctl enable apparmor.service
Start "Apparmor" with the following command:
# sudo systemctl start apparmor.service
Note: Apparmor must have properly configured profiles for applications and home directories. All configurations will be based on the actual system setup and organization and normally are on a per role basis. See the "Apparmor" documentation for more information on configuring profiles.