Probable bug in auditd
Steve Grubb
sgrubb at redhat.com
Wed Jan 20 21:38:55 UTC 2021
Hello,
On Wednesday, January 20, 2021 3:54:45 PM EST Shourya Jaiswal wrote:
> I have found a weird behavior in auditd. File "/abc" does not exist.
>
> audit.rules:
>
> -a always,exit -F arch=b32 -S open -S openat
>
> -a always,exit -F arch=b64 -S open -S openat
>
> A non-root user executes "echo > /abc", it doesn't get logged in audit.log.
This is because name resolution fails before it gets to audit hooks inside
the kernel. The audit hooks want to collect device, inode, permission, owner,
group, etc. IOW, things that do not exist.
> Same with "echo > /etc/abc" A non-root user executes "cat /abc", it gets
> logged in audit.log
>
> Since auditd is monitoring all the open and openat syscalls, ideally both
> the cases (i.e. read and write) should have be logged.
It's the kernel doing it. This comes up from time to time. It is logged here:
https://github.com/linux-audit/audit-kernel/issues/118
> After I execute "chmod a+w /" then "chmod a-w /", if a non-root user
> executes "echo > /abc", then it gets logged in audit.log.
>
> This looks like a bug to me. Kindly let me know if it's a bug or an
> intended feature.
This is essentially how it works. But, there will be an improvement at some
future point when issue 118 is resolved.
-Steve
> System used to test: Linux 5.4.0-56-generic #62-Ubuntu SMP x86_64 x86_64
> x86_64 GNU/Linux
>
More information about the Linux-audit
mailing list