Hi all, I'm working on what will hopefully eventually be a port/package for doing audit logging based on files (as opposed to the current system which only allows user-based auditing), but am conflicted on how it should be designed. The passion project started from my employer's need for PCI-compliant file integrity monitoring (though my employer won't be using what I make so this is just a hobby project) and an apparent lack of file filtering in FreeBSD auditing, so my first thought was that it ought to be an easy(-ish) to use system with simple configuration; something like:
# file path : what to log : exclude?
/bin:write:
/home:all:exclude
/private:read:
But the more I write the program the more I get lost in trying to interpret what should count as what -- should running stat on a file be counted as a read? would literally anyone care if someone statted a file? And the more I wonder if it should be a clone of /etc/security/audit_user for files; that is, it would be like:
# user : audit classes to log : audit classes not to log
root:all:no
nfsuser:fw,fr:no
It seems like a classic dilemma of ease-of-use versus customization capabilities but I suppose the problem is I'm not expecting anyone to use this anyways and I have no target audience (that I think would realistically use my project), so I've no idea which direction I want to go. Hopefully y'all can make the decision for me
# file path : what to log : exclude?
/bin:write:
/home:all:exclude
/private:read:
But the more I write the program the more I get lost in trying to interpret what should count as what -- should running stat on a file be counted as a read? would literally anyone care if someone statted a file? And the more I wonder if it should be a clone of /etc/security/audit_user for files; that is, it would be like:
# user : audit classes to log : audit classes not to log
root:all:no
nfsuser:fw,fr:no
It seems like a classic dilemma of ease-of-use versus customization capabilities but I suppose the problem is I'm not expecting anyone to use this anyways and I have no target audience (that I think would realistically use my project), so I've no idea which direction I want to go. Hopefully y'all can make the decision for me
