我已经出于 PCI 合规原因配置了 auditd
PCI 规定,现有日志不能更改,否则会发出警报
本文http://ptresearch.blogspot.com/2010/11/requirement-10-track-and-monitor-all.html建议这样做:
-w /var/log/-k 日志访问 -p rwxa
这个 auditctl 命令能工作吗?你肯定会陷入一个循环,一个审计事件写入日志,引发另一个审计事件等等?
答案1
您的审计命令行将完美运行。但是,如果您需要一些额外的保护层:
- 使用 chattr 将您的日志更改为仅附加
- 有一个集中的日志服务器
- 使用 SElinux 规则设置一条规则,强制只有 syslog 和守护进程本身可以写入 /var/log
- 使用 Unix 权限确保只有少数人可以访问 /var/log。
答案2
该文章中接下来的部分指出"These messages are processed by daemon syslog, not auditd."
据推测,这意味着 syslog 守护进程配置为远程而不是本地记录这些特定消息。
从安全角度来看,这很聪明,因为如果您在某人正在修改的同一文件中记录该事实,他们也可以简单地删除该条目。如果您远程记录它们,攻击者将很难修改它们。远程记录这些消息还可以解决您的编辑循环问题。
auditd
可能有一个例外可以解决这个循环问题,但作者可能只是希望你不要首先创建循环。