TMA-ROS1-1.7.1.2
Ensure AppArmor is enabled in the bootloader configuration
MediumLevel 1Automatedros
Description
Configure AppArmor to be enabled at boot time and verify that it has not been overwritten by the bootloader boot parameters. The audit requires apparmor=1 and security=apparmor on every linux line of /boot/grub/grub.cfg. 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
f=/boot/grub/grub.cfg; [ -r "$f" ] || f=/boot/grub2/grub.cfg; [ -r "$f" ] || exit 1
l=$(grep -E '^\s*linux' "$f" | grep -v '/boot/memtest86+')
[ -n "$l" ] || { echo 'no linux lines in grub.cfg'; exit 1; }
bad=$(printf '%s\n' "$l" | grep -Ev '(\s)apparmor=1(\s|$)')
[ -z "$bad" ] && { printf '%s\n' "$l" | grep -Ev '(\s)security=apparmor(\s|$)' | grep -q . && echo 'kernel lines without security=apparmor' || echo compliant; } || echo 'kernel lines without apparmor=1'- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
edit /etc/default/grub and add the appermor=1 and security=apparmor parameters to the GRUB_CMDLINE_LINUX= line GRUB_CMDLINE_LINUX="apparmor=1 security=apparmor" Run the following command to update the grub2 configuration: # update-grub
Properties
- Operating systems
- Any
- Tags
- rosros1melodicsystem
- Reference
- CIS ROS Melodic Benchmark v1.0.0 - 1.7.1.2 Ensure AppArmor is enabled in the bootloader configuration
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target ros