====== 4.1.17 Ensure kernel module loading and unloading is collected (Scored) ======
=====Profile Applicability=====
Level 2 - Server
Level 2 - Workstation
=====Description=====
Monitor the loading and unloading of kernel modules. The programs ''insmod'' (install a kernel module), ''rmmod'' (remove a kernel module), and ''modprobe'' (a more sophisticated program to load and unload modules, as well as some other features) control loading and unloading of modules. The ''init_module'' (load a module) and ''delete_module'' (delete a module) system calls control loading and unloading of modules. Any execution of the loading and unloading module programs and system calls will trigger an audit record with an identifier of "modules".
=====Rationale=====
Monitoring the use of ''insmod'', ''rmmod'' and ''modprobe'' could provide system administrators with evidence that an unauthorized user loaded or unloaded a kernel module, possibly compromising the security of the system. Monitoring of the ''init_module'' and ''delete_module'' system calls would reflect an unauthorized user attempting to use a different program to load and unload modules.
=====Audit=====
On a 32 bit system run the following command and verify the output matches:
# grep modules /etc/audit/audit.rules
-w /sbin/insmod -p x -k modules
-w /sbin/rmmod -p x -k modules
-w /sbin/modprobe -p x -k modules
-a always,exit arch=b32 -S init_module -S delete_module -k modules
On a 64 bit system run the following command and verify the output matches:
# grep modules /etc/audit/audit.rules
-w /sbin/insmod -p x -k modules
-w /sbin/rmmod -p x -k modules
-w /sbin/modprobe -p x -k modules
-a always,exit arch=b64 -S init_module -S delete_module -k modules
=====Remediation=====
For 32 bit systems add the following lines to the ''/etc/audit/audit.rules'' file:
-w /sbin/insmod -p x -k modules
-w /sbin/rmmod -p x -k modules
-w /sbin/modprobe -p x -k modules
-a always,exit arch=b32 -S init_module -S delete_module -k modules
For 64 bit systems add the following lines to the ''/etc/audit/audit.rules'' file:
-w /sbin/insmod -p x -k modules
-w /sbin/rmmod -p x -k modules
-w /sbin/modprobe -p x -k modules
-a always,exit arch=b64 -S init_module -S delete_module -k modules