System Audit Logs Must Have Mode 0640 or Less Permissive

Classification:

compliance

Framework:

Control:

Description

If log_group in /etc/audit/auditd.conf is set to a group other than the root group account, change the mode of the audit log files with the following command:

$ sudo chmod 0640 *audit\_file*

Otherwise, change the mode of the audit log files with the following command:

$ sudo chmod 0600 *audit\_file*

Rationale

If users can write to audit logs, audit trails can be modified or destroyed.

Remediation

Shell script

The following script can be run on the host to remediate the issue.

# Remediation is applicable only in certain platforms
if [ ! -f /.dockerenv ] && [ ! -f /run/.containerenv ] && dpkg-query --show --showformat='${db:Status-Status}\n' 'auditd' 2>/dev/null | grep -q installed; then

if LC\_ALL=C grep -iw ^log\_file /etc/audit/auditd.conf; then
 FILE=$(awk -F "=" '/^log\_file/ {print $2}' /etc/audit/auditd.conf | tr -d ' ')
else
 FILE="/var/log/audit/audit.log"
fi


if LC\_ALL=C grep -m 1 -q ^log\_group /etc/audit/auditd.conf; then
 GROUP=$(awk -F "=" '/log\_group/ {print $2}' /etc/audit/auditd.conf | tr -d ' ')
 if ! [ "${GROUP}" == 'root' ] ; then
 chmod 0640 $FILE
 chmod 0440 $FILE.\*
 else
 chmod 0600 $FILE
 chmod 0400 $FILE.\*
 fi
else
 chmod 0600 $FILE
 chmod 0400 $FILE.\*
fi

else
 >&2 echo 'Remediation is not applicable, nothing was done'
fi