Linux - SecurityThis forum is for all security related questions.
Questions, tips, system compromises, firewalls, etc. are all included here.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you add a rule '-w /some/path/ -k log_tag' then auditd will translate that as '-a exit,always -F dir=/some/path/ -p rwxa -k log_tag' so basically you don't need to specify "rwxa" anyway. However 'man 8 auditctl', "-p" says: "Set permissions filter for a file system watch. r=read, w=write, x=execute, a=attribute change. These permissions are not the standard file permissions, but rather the kind of syscall that would do this kind of thing. The read & write syscalls are omitted from this set since they would overwhelm the logs.But rather for reads or writes, the open flags are looked at to see what permission was requested.". To illustrate this: even an explicit rule for open, close and write syscalls ('ausyscall 4') with exits based on EACCESS / EPERM DAC mismatch like '-a exit,always -S open -S close -S write -F dir=/some/path/ -F exit=-1 -F exit=-13 -k log_tag' won't show me type=SYSCALL log entries other than syscall=5 success=.* exit=.*.
i see. so the omitting of the syscalls is less a mistake then means to keep the log size reasonable.
The scenario I am trying to cover is the following:
- I want to know when a user accesses a file (as in "I read the memo")
- When a user modifies a file (as in "but I did update the statistics this morning")
- When a user deletes a file (as in "I never got that piece of informations")
I am aware of the "Big Brother"-implications that procedure brings with it, but this is a high sec server with non-public projects on it. Management insists on the ability to track user behavior to that detail when they are working on it.
The problem is that I am interested particularly in modifications along with the access.
Tripwire or FAM can tell me if the data has been modified, but I lack the info of whether it was just read. Also, it would also track only a single change between scans.
inotify can tell me both if a file was accessed or modified, but it can't track the uid along with it.
auditd can tell me who opened a file, but without the write-syscall I can't differentiate between just opening with write permissions open(filename, O_RW) an the actual modification.
I hoped that I could make auditd show me that, but that does not seem to be the case. Is there any other way to interrogate the kernels audit-structures so I dont's need to create a hyprib inotify/audit log?