TMAegis
More rules for linux

TMA-ROCKY8-3.2.2

Ensure can kernel module is not available

MediumLevel 1Automatedlinux

Description

The Controller Area Network (CAN) is a serial communications protocol, which was initially developed for automotive and is now also used in marine, industrial, and medical applications. Disabling CAN protects the system against exploitation of any flaws in its implementation.

How it is checked

Audit method: Shell command

shell
m=can; found=$(find /lib/modules/$(uname -r)/kernel /usr/lib/modules/$(uname -r)/kernel -path "*/can*" 2>/dev/null | head -n1); if [ -z "$found" ]; then echo compliant; exit 0; fi; lsmod | awk '{print $1}' | grep -Fxq -- "${m//-/_}" && { echo "$m is loaded"; exit 0; }; cfg=$(modprobe --showconfig 2>/dev/null); printf '%s\n' "$cfg" | grep -Pq -- "^\h*blacklist\h+${m//-/_}\b" || { echo "$m is not blacklisted"; exit 0; }; printf '%s\n' "$cfg" | grep -Pq -- "^\h*install\h+${m//-/_}\h+(/usr)?/bin/(true|false)\b" || { echo "$m install is not disabled"; exit 0; }; echo compliant
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

Unload and disable the can kernel module. 1. Run the following commands to unload the can kernel module: # modprobe -r can 2>/dev/null # rmmod can 2>/dev/null 2. Perform the following to disable the can kernel module: Create a file ending in .conf with install can /bin/false in the /etc/modprobe.d/ directory Example: # printf '\n%s\n' "install can /bin/false" >> /etc/modprobe.d/60-can.conf Create a file ending in .conf with blacklist can in the /etc/modprobe.d/ directory Example: # printf '\n%s\n' "blacklist can" >> /etc/modprobe.d/60-can.conf

Properties

Operating systems
rocky-8
Tags
cis-convertedkernellinuxmodules
Reference
CIS Rocky Linux 8 Benchmark v3.0.0 - 3.2.2

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target linux