auditd未启动导致审计日志为空,需systemctl enable --now auditd并验证/var/log/audit/audit.log写入;-w监控需精准路径与权限,非递归通配;aureport默认不查压缩历史日志;合规留存应归档压缩而非仅轮转,配合key字段关联事件。

auditd 服务没启动,ausearch 查不到任何记录
auditd 是 Linux 审计子系统的守护进程,所有内核审计事件都得靠它收拢、写入磁盘。不运行它,auditctl 加的规则只是空转,ausearch 和 aureport 就像去空仓库翻账本——什么也没有。
实操建议:
Shop7z网上购物系统支持电脑版+手机版+支付宝及微信支付,支持QQ和微信一键登陆,系统集众家之所长,大气超美观页面+手机版+商品组合套餐+限时抢购秒杀+图片批量上传+淘宝数据包导入+弹出式分类菜单+不同规格不同价格+新订单邮件通知+销售报表打印与Excel输出+物流跟踪打印查询+会员积分及优惠券+邮件群发+图片在线管理+销售统计报表+五种价格体系+礼品礼券+微信公众号支付+扫码支付等等等。
- 先用
systemctl status auditd确认状态,别只看auditctl -s显示“enabled”就以为万事大吉 - 启动并设为开机自启:
systemctl enable --now auditd - 检查日志是否真在写:
ls -l /var/log/audit/audit.log,如果文件大小长期为 0 或权限异常(比如属主不是root:root),说明 auditd 没真正落盘 - 常见坑:SELinux 启用时,auditd 可能因策略限制无法写日志,临时验证可执行
setenforce 0,但生产环境必须配好auditd_t相关策略,不能关 SELinux
auditctl -w 监控文件无效,inotifywait 却能捕获
auditctl 的 -w 是基于内核审计规则匹配路径,不是监听文件系统事件。它只抓“经过 audit 规则判定的系统调用”,比如 openat、unlinkat,但前提是这些调用触发了你定义的规则条件(如 uid、key、perm);而 inotifywait 是用户态 fsnotify 机制,只要文件被访问就报,不管权限或上下文。
实操建议:
- 加监控时务必指定
-p wa(write + attribute change),否则只读操作不会触发,例如cat /etc/passwd默认不记 - 避免监控整个
/etc目录:auditd 对目录级 -w 会递归注册大量 inodes,导致规则数超限(默认max_rules=100),改用-F path=/etc/passwd -F perm=wa精准控制 - 注意路径解析:-w 后跟的路径必须是真实路径(非符号链接目标),且 auditd 不自动处理通配符,
/etc/*.conf这种写法完全无效 - 验证规则是否生效:
auditctl -l | grep passwd,再手动执行echo test >> /etc/passwd(当然别真这么干),然后ausearch -f /etc/passwd -i
日志滚动后 aureport --start today 查不到凌晨记录
auditd 默认按大小轮转日志(max_log_file = 6 MB),旧日志压缩为 audit.log.1.gz 等。但 aureport 和 ausearch 默认只查当前 audit.log,不自动解压或遍历历史文件。
实操建议:
- 查完整时间范围,必须显式指定日志路径:
aureport --start today -if /var/log/audit/audit.log -if /var/log/audit/audit.log.1.gz - gzip 文件需安装
zcat或zgrep,否则-if会静默跳过;可用zcat /var/log/audit/audit.log.1.gz | aureport -i --start today替代 - 生产环境建议调大
max_log_file并启用num_logs = 10,避免频繁滚动导致关键窗口期日志被覆盖 - 更稳妥的做法是把 audit 日志转发到远程 syslog 服务器,本地只保留短周期归档,规避单机日志丢失风险
合规要求“保留 180 天日志”,但 /var/log/audit/ 磁盘爆满
audit.log 文件增长极快,尤其开启 syscall 级监控后,一天几十 MB 很常见。硬留 180 天原始日志,既占空间又难检索,还可能因磁盘满导致 auditd 停写——这本身就会造成合规断点。
实操建议:
- 不要只靠
max_log_file_action = rotate被动清理;搭配space_left = 75和action_mail_acct = root,提前预警 - 定期归档压缩而非删除:
find /var/log/audit -name "audit.log.*" -mtime +180 -exec gzip {} \;,保留文件名和时间戳便于追溯 - 对合规审计真正需要的字段(如 uid、exe、key、a0-a3 参数),用
aureport -i --input /var/log/audit/audit.log --summary提取摘要,存为轻量 CSV,比原始二进制日志省 90% 空间 - 最易被忽略的一点:
auditd自身日志(/var/log/audit/audit.log)和应用日志(如 sshd、sudo)是两套体系,合规检查常要求两者时间对齐、事件可关联——得用key字段打标,比如给敏感命令规则加-k priv_cmd,再用ausearch -k priv_cmd联查









