TMAegis
More rules for ros

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