USD ($)
$
United States Dollar
Euro Member Countries
India Rupee
د.إ
United Arab Emirates dirham
ر.س
Saudi Arabia Riyal

Linux Audit Framework (Auditd) Configuration and Log Analysis

Lesson 16/31 | Study Time: 20 Min

The Linux Audit Framework, primarily implemented via the auditd daemon, is a powerful system designed for tracking security-relevant events on Linux hosts. It provides detailed logging of system calls, file accesses, user activities, and configuration changes, supporting compliance, forensic investigations, and proactive security monitoring. 

Linux Audit Framework

The purpose of auditd is to monitor and record security-relevant events at both the kernel and user-space levels of a system. It captures detailed information about process activities, file modifications, system calls, and policy violations, providing deep visibility into system behavior.

By maintaining an immutable and reliable audit trail, auditd helps organizations meet compliance requirements for standards such as PCI DSS, HIPAA, and GDPR while supporting security monitoring and forensic analysis.

Configuring auditd

Configuring auditd involves installing the service and defining rules to monitor security-relevant system events. The key configuration steps and rule types are outlined below.


Installation and Enabling


1. Install with package managers (e.g., yum install audit or apt-get install auditd).

2. Enable and start the service:

text
systemctl enable auditd
systemctl start auditd


Audit Rules Configuration


1. Rules define what events to monitor and are configured in /etc/audit/audit.rules or loaded dynamically via auditctl.

2. Types of rules:


File watches: Monitor access or changes to files/directories (e.g., /etc/passwd).

Syscall auditing: Track specific system calls (e.g., open, execve).

User/group auditing: Monitor actions by specific users or groups.


3. Example: Audit changes to /etc/passwd:

text
auditctl -w /etc/passwd -p wa -k passwd_changes


4. Persistent rules are placed in /etc/audit/rules.d/ with .rules files.

Rule Syntax Essentials


Audit Log Analysis

Effective audit log analysis helps detect unauthorized activity and supports investigations. The key practices and commands used for analyzing audit logs are described below.


Audit Log Location and Format


1. Logs are stored under /var/log/audit/audit.log.

2. Logs are in an extensible plain-text format with metadata including timestamps, event IDs, process info, etc.


Using ausearch


1. Search by key/tag:

text
ausearch -k passwd_changes


2. Filter by event type, user ID, process, or date ranges to narrow investigations.


3. Example: Search for failed logins:

text
ausearch -m USER_LOGIN -sv no


Generating Reports with aureport


1. Summarize audit logs by event type or user:

text
aureport -su # Summary by user
aureport -m # Summary by message type


2. Useful for compliance reports and trend analysis.


Andrew Foster

Andrew Foster

Product Designer
Profile

Class Sessions

1- Linux Security Model Overview 2- Kernel-Level Security Features (Namespaces, Capabilities, SELinux, AppArmor) 3- Linux File System Permissions and Extended Attributes (Xattr) 4- Secure User and Group Management Fundamentals 5- Best Practices for Sudo Configuration and Privilege Escalation Control 6- Disabling Unneeded Services and Configuring Secure Boot 7- Firewall Setup: Iptables/Nftables Basics and Advanced Rule Creation 8- Securing SSH: Key Management, Configuration, and Tunneling 9- Mandatory Access Control (SELinux/AppArmor Detailed Configuration) 10- Deployment of PAM for Enhanced Authentication 11- Linux Network Namespaces and Container Isolation Basics 12- TLS/SSL Configuration for Linux Services 13- VPN Setup for Secure Remote Access (OpenVPN, WireGuard) 14- Cryptographic Tools: GPG Encryption, Hashing Utilities, and Key Management 15- Intrusion Detection Systems and Log Monitoring Tools Overview 16- Linux Audit Framework (Auditd) Configuration and Log Analysis 17- Using Syslog, Journald, and Centralized Logging Solutions 18- File Integrity Monitoring with AIDE And Tripwire 19- Compliance Frameworks Introduction (PCI DSS, GDPR, HIPAA) 20- Incident Response Preparation and Forensic Readiness Basics 21- Bash Scripting Best Practices for Security and Automation 22- Conditional Logic, Loops, and Functions for Modular Scripts 23- Handling Errors, Signals, and Debugging Scripts Effectively 24- Automating User and Permission Audits with Scripts 25- Integrating Shell Scripts with System Tools (Cron Jobs, Systemd Timers) 26- Automating Log Analysis and Alerting Via Scripting 27- Writing Scripts for Automated Patch and Vulnerability Management 28- Automating Firewall and SSH Key Rotation Policies 29- Integrating Shell Scripts with Security Scanning Tools (Lynis, OpenVAS) 30- Case Studies on Automated Incident Detection and Response 31- Using Open-Source Tools for Orchestration with Scripting