Information
Unsuccessful attempts to access files could be an indicator of malicious activity on a system. Auditing these events could serve as evidence of potential system compromise.
The system call rules are loaded into a matching engine that intercepts each syscall made by all programs on the system. Therefore, it is very important to use syscall rules only when absolutely necessary, since these affect performance. The more rules, the bigger the performance hit. The performance can be helped, however, by combining syscalls into one rule whenever possible.
Solution
At a minimum, the audit system should collect unauthorized file accesses for all users and root. Add the following to '/etc/audit/audit.rules':
-a always,exit -F arch=b32 -S creat,open,openat,truncate,ftruncate,open_by_handle_at -F exit=-EACCES -F auid>=500 -F auid!=4294967295 -k access
-a always,exit -F arch=b32 -S creat,open,openat,truncate,ftruncate,open_by_handle_at -F exit=-EPERM -F auid>=500 -F auid!=4294967295 -k access
-a always,exit -F arch=b32 -S creat,open,openat,truncate,ftruncate,open_by_handle_at -F exit=-EACCES -F auid=0 -k access
-a always,exit -F arch=b32 -S creat,open,openat,truncate,ftruncate,open_by_handle_at -F exit=-EPERM -F auid=0 -k access
If the system is 64-bit, then also add the following:
-a always,exit -F arch=b64 -S creat,open,openat,truncate,ftruncate,open_by_handle_at -F exit=-EACCES -F auid>=500 -F auid!=4294967295 -k access
-a always,exit -F arch=b64 -S creat,open,openat,truncate,ftruncate,open_by_handle_at -F exit=-EPERM -F auid>=500 -F auid!=4294967295 -k access
-a always,exit -F arch=b64 -S creat,open,openat,truncate,ftruncate,open_by_handle_at -F exit=-EACCES -F auid=0 -k access
-a always,exit -F arch=b64 -S creat,open,openat,truncate,ftruncate,open_by_handle_at -F exit=-EPERM -F auid=0 -k access