TMA-ROCKY8-3.2.2
Ensure can kernel module is not available
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
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.
tmaegis scan --target linux