I don't know whether this question can be meaningfully answered, though I'm not quite sure enough of that to vote to close it.
But I do think that in any cost-benefit analysis, you mustn't forget the benefit: which in this case, is the avoidance of the cost of failure. You say that frequent checking can be "resource demanding", and this may well be so: but how resource-demanding is rebuilding your backend infrastructure from golden backups because some intrusion occurred?
How much you spend on securing a system is a function of what the system is worth, in terms of integrity and functionality. For myself, any machine that'll be exposed to the internet gets daily tripwire checks, and reports by email. Nearly everything syslog
s to a centralised log host, off-system; any footprints an intruder might generate on the way in can't be removed from the remote syslogger. More sensitive machines may also get RPM integrity checks, selinux
enabled (with all the horrendous hassle that that entails when running non-standard software), tripwire running from read-only media, and even more integrity protection. It all depends on how much the machine is worth.
Edit: I hadn't understood that you meant the auditd
software service, rather than the general concept of auditing, it's true, but even if I had my answer would have been the same: defence in depth, the depth justified by the value of the asset. If there was a single, simple, cheap, absolutely reliable service called complete-securityd
, we'd all be running it; as there isn't, the more precautions you take the less likely a compromise is to (a) happen, and (b) go undetected when it does.
Since you ask about types of intrusion that auditd
might miss and tripwire
might catch, the customised kernel module exploit is one such, because tripwire can be run from read-only media and kernel, and auditd
can't.