Linux distributions
TMA-SLES16-6.2.4.4
Ensure audit log files group owner is configured
Description
Audit log files contain information about the system and system activity.
How it is checked
Audit method: Shell command
alt0() { o=$(bash -c '#!/usr/bin/env bash
{
l_output="" l_output2=""
if [ -e "/etc/audit/auditd.conf" ]; then
l_audit_log_directory="$(dirname "$(awk -F= '"'"'/^\s*log_file\s*/{print $2}'"'"' /etc/audit/auditd.conf | xargs)")"
l_audit_log_group="$(awk -F= '"'"'/^\s*log_group\s*/{print $2}'"'"' /etc/audit/auditd.conf | xargs)"
if grep -Pq -- '"'"'^\h*(root|audit)\h*$'"'"' <<< "$l_audit_log_group"; then
l_output="$l_output\n - Log file group correctly set to: \"$l_audit_log_group\" in \"/etc/audit/auditd.conf\""
else
l_output2="$l_output2\n - Log file group is set to: \"$l_audit_log_group\" in \"/etc/audit/auditd.conf\"\n (should be set to group: \"root or audit\")\n"
fi
if [ -d "$l_audit_log_directory" ]; then
while IFS= read -r -d $'"'"'\0'"'"' l_file; do
l_output2="$l_output2\n - File: \"$l_file\" is group owned by group: \"$(stat -Lc '"'"'%G'"'"' "$l_file")\"\n (should be group owned by group: \"root or audit\")\n"
done < <(find "$l_audit_log_directory" -maxdepth 1 -type f \( ! - group root -a ! -group audit \) -print0)
else
l_output2="$l_output2\n - Log file directory not set in \"/etc/audit/auditd.conf\" please set log file directory"
fi
else
l_output2="$l_output2\n - File: \"/etc/audit/auditd.conf\" not found.\n - ** Verify auditd is installed **"
fi
if [ -z "$l_output2" ]; then
l_output="$l_output\n - All files in \"$l_audit_log_directory\" are group owned by group: \"root or audit\"\n"
echo -e "\n- Audit Result:\n ** PASS **\n - * Correctly configured * :$l_output"
else
echo -e "\n- Audit Result:\n ** FAIL **\n - * Reasons for audit failure * :$l_output2\n"
[ -n "$l_output" ] && echo -e " - * Correctly configured * :\n$l_output\n"
fi
}' 2>&1); printf '%s\n' "$o" | grep -q '\*\* PASS \*\*' || { echo "step1: script did not report PASS"; return 1; }; }; if alt0; then echo compliant; fi- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Note The following scripts will set the group to either audit or root based on the existence of the group audit. If the group audit doesn't exist, or the log_group parameter is already set to root, the appropriate group is determined to be the group root Run the following script to configure the audit log files to be owned by appropriate group: #!/usr/bin/env bash { l_group=""; grep -Pq '^audit:' /etc/group && l_group="audit" [ -z "$l_group" ] || [ "$(awk -F= '$1~/^\s*log_group\s*$/{print $2}' /etc/audit/auditd.conf | xargs)" = root ] && l_group="root" find $(dirname $(awk -F"=" '/^\s*log_file\s*=\s*/ {print $2}' /etc/audit/auditd.conf | xargs)) -type f \( ! -group root -a ! -group audit \) …
Properties
- Operating systems
- sles-16
- Tags
- cis-convertedlinux
- Reference
- CIS SUSE Linux Enterprise 16 Benchmark v1.0.0 - 6.2.4.4
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target linux --level 2