TMA-ROS1-1.7.1.4
Ensure all AppArmor Profiles are enforcing
MediumLevel 1Automatedros
Description
AppArmor profiles define what resources applications are able to access. The audit runs apparmor_status and requires every loaded profile to be in enforce mode and no unconfined processes. Host-level control from the CIS ROS Melodic benchmark (Ubuntu 18.04 robot hosts); run as root.
How it is checked
Audit method: Shell command
shell
out=$(apparmor_status 2>/dev/null) || exit 1
l=$(printf '%s\n' "$out" | awk '/profiles are loaded/{print $1; exit}')
c=$(printf '%s\n' "$out" | awk '/profiles are in complain mode/{print $1; exit}')
u=$(printf '%s\n' "$out" | awk '/processes are unconfined/{print $1; exit}')
[ "${l:-0}" -gt 0 ] || { echo 'no AppArmor profiles loaded'; exit 1; }
[ "${c:-0}" -eq 0 ] && [ "${u:-0}" -eq 0 ] && echo compliant || echo "complain: ${c:-0}, unconfined: ${u:-0}"- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Run the following command to set all profiles to enforce mode: # aa-enforce /etc/apparmor.d/* Any unconfined processes may need to have a profile created or activated for them and then be restarted.
Properties
- Operating systems
- Any
- Tags
- rosros1melodicsystem
- Reference
- CIS ROS Melodic Benchmark v1.0.0 - 1.7.1.4 Ensure all AppArmor Profiles are enforcing
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target ros