TMAegis
More rules for ros

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