核心是盯住谁、用什么命令、动了哪些关键数据三件事:通过审计高权限账户、监控擦除类命令执行、保护敏感目录、强化日志防篡改与远程留存,实现擦除行为可追溯、可定责、可回溯。

核心是盯住谁、用什么命令、动了哪些关键数据三件事。auditd不是防不住擦除,而是让擦除行为可追溯、可定责、可回溯。
锁定高权限账号的操作范围
不能只看root,要排查所有UID为0的账户和sudo白名单里的用户:
- 运行
awk -F: '$3 == 0 {print $1}' /etc/passwd,确认只有root存在;发现额外UID 0账户立即冻结并溯源 - 检查
sudo -l -U username输出,重点识别能执行rm、dd、shred等危险命令的用户 - 禁用
NOPASSWD泛授权,改为按命令精确控制,例如:%ops ALL=(ALL) /bin/rm, /usr/bin/dd
监控数据擦除类命令的执行
不是禁止命令,而是让每次调用都留下不可删的日志痕迹:
- 对
/usr/bin/rm、/usr/bin/dd、/usr/bin/shred、/bin/touch(用于覆盖时间戳)等工具加审计规则:-w /usr/bin/rm -p xa -k cmd_rm-w /usr/bin/dd -p xa -k cmd_dd - 特别注意
dd常被用于覆写磁盘或清空分区,需配合参数过滤(如if=/dev/zero或of=/dev/sdX),后续可通过aureport -m -i | grep dd提取完整命令行 - 规则写入
/etc/audit/rules.d/clean.rules,再执行augenrules --load生效
保护敏感数据目录不被批量删除
即使命令被允许,也要限制其作用域:
- 对业务数据根目录(如
/data、/var/www)开启递归监控:-w /data -p wa -k data_delete(记录写和属性变更) - 避免使用
-p rwxa全权限监控,会带来性能开销;优先用-p wa捕获删除、重命名、清空等关键动作 - 结合
inotifywait做实时告警补充:当/data下出现DELETE_SELF事件时触发脚本通知
日志留存与快速响应机制
审计日志本身必须防篡改,且能第一时间暴露异常:
- 配置
/etc/audit/auditd.conf:设置max_log_file = 100(MB)、num_logs = 10、disk_full_action = email、admin_space_left_action = halt - 启用远程日志转发,将
/var/log/audit/audit.log同步至独立日志服务器,防止攻击者本地清除 - 编写简易解析脚本,每天定时运行:
ausearch -m execve -i -ts yesterday | grep -E "(rm|dd|shred)" | awk '{print $13,$14,$15}' | sort | uniq -c | sort -nr,快速定位高频擦除操作

















