documentation_complete: true

prodtype: rhel7

title: 'Ensure <tt>auditd</tt> Collects Information on Kernel Module Loading - init_module'

description: |-
    To capture kernel module loading events, use following line, setting ARCH to
    either b32 for 32-bit system, or having two lines for both b32 and b64 in case your system is 64-bit:
    <pre>-a always,exit -F arch=<i>ARCH</i> -S init_module -F key=modules</pre>

    Place to add the line depends on a way <tt>auditd</tt> daemon is configured. If it is configured
    to use the <tt>augenrules</tt> program (the default), add the line to a file with suffix
    <tt>.rules</tt> in the directory <tt>/etc/audit/rules.d</tt>.

    If the <tt>auditd</tt> daemon is configured to use the <tt>auditctl</tt> utility,
    add the line to file <tt>/etc/audit/audit.rules</tt>.

rationale: |-
    The addition of kernel modules can be used to alter the behavior of
    the kernel and potentially introduce malicious code into kernel space. It is important
    to have an audit trail of modules that have been introduced into the kernel.

severity: medium

identifiers:
    cce@rhel7: 80414-6

references:
    cis: 5.2.17
    cui: 3.1.7
    disa: 172
    nist: AC-17(7),AU-1(b),AU-2(a),AU-2(c),AU-2(d),AU-12(a),AU-12(c),IR-5
    ospp@rhel7: FAU_GEN.1.1.c
    pcidss: Req-10.2.7
    srg: SRG-OS-000471-GPOS-00216,SRG-OS-000477-GPOS-00222
    stigid@rhel7: "030820"

ocil: '<audit-syscall-check-macro syscall="init_module" />'
