Auditd

This roles installs auditd and activate it with 3 differents logging tags that are described bellow:

  1. exec_metal_admin
  2. exec_container_admin
  3. exec_container_user

1. Logging Commands by Admins on the Host

-a always,exit -F arch=b64 -S execve -F auid>=10000 -F auid<=10999 -k exec_metal_admin

2. Logging Commands by Admins in Containers

-a always,exit -F arch=b64 -S execve -F auid>=1010000 -F auid<=1010999 -k exec_container_admin

3. Logging Commands by Non-Admin Users in Containers

-a always,exit -F arch=b64 -S execve -F auid>=1012000 -F auid<=1012999 -k exec_container_user

Noise Reduction Rules

The following rules exclude specific message types to reduce unnecessary log entries:

-a exclude,always -F msgtype=CRED_ACQ
-a exclude,always -F msgtype=CRED_DISP
-a exclude,always -F msgtype=CRED_REFR
-a exclude,always -F msgtype=CWD
-a exclude,always -F msgtype=PATH
-a exclude,always -F msgtype=PROCTITLE
-a exclude,always -F msgtype=SERVICE_START
-a exclude,always -F msgtype=SERVICE_STOP
-a exclude,always -F msgtype=SOCKADDR
-a exclude,always -F msgtype=USER_ACCT
-a exclude,always -F msgtype=USER_AUTH
-a exclude,always -F msgtype=USER_END
-a exclude,always -F msgtype=USER_START
-a exclude,always -F auid=4294967295

Compliance and Validation

Log Shipping

Filebeat is used to send the logs to Elasticsearch for easy access via Kibana.

Auditd useful commands

Show current audit rules:

auditctl -l

Search logs by tags:

ausearch -k exec_metal_admin

Search by uid or uidnumber:

ausearch -ua adm-jgrauer