当前位置: 首页 > news >正文

如何配置 Linux auditd 服务记录关键系统调用以便安全审计?

配置 Linux auditd 记录关键系统调用是安全审计的基础工作,建议优先监控 execve 系统调用以记录命令执行,并结合敏感文件访问规则,适用于需要合规审计或入侵排查的生产环境。

先说结论:auditd 是内核级审计工具,配置重点在于平衡日志量与审计需求,避免全量记录导致磁盘爆满。

  • 先判断:确认业务场景是否需要记录所有命令执行,还是仅关注敏感操作。
  • 优先做:先配置 execve 系统调用监控和关键文件访问规则,务必添加 UID 过滤(auid>=1000),再逐步细化。
  • 再验证:通过触发操作检查/var/log/audit/audit.log 是否有对应记录。
  • 注意:修改规则建议使用 reload 或 auditctl -R 加载,避免 restart 导致审计中断。

命令速用版

# 查看 auditd 状态
systemctl status auditd# 临时添加规则监控 execve 系统调用(重启失效,已加 UID 过滤)
auditctl -a exit,always -F arch=b64 -S execve -F auid>=1000 -F auid!=4294967295 -k command_exec# 查看当前规则列表
auditctl -l# 搜索最近的 execve 记录
ausearch -sc execve -ts recent

为什么会这样

auditd 服务直接与 Linux 内核审计子系统交互,能够记录系统调用层面的事件。与普通日志不同,它不依赖应用程序输出,因此即使攻击者删除了 bash_history,auditd 依然可能保留执行记录。配置系统调用(syscall)规则是因为它是程序与内核交互的接口,记录它相当于记录了“谁在什么时候让内核做了什么”。

分步处理

1. 确认服务状态
首先检查 auditd 是否安装并运行。大多数主流发行版默认安装,但未启用。

systemctl enable auditd
systemctl start auditd

2. 备份现有规则
在修改前备份当前规则,防止配置错误导致无法恢复。

auditctl -l > /root/audit_rules_backup.txt

3. 配置关键系统调用规则
建议将规则写入/etc/audit/rules.d/目录下的配置文件,以便重启后持久化。使用 vim 创建一个自定义规则文件,例如 99-custom.rules。

vim /etc/audit/rules.d/99-custom.rules

在文件中写入以下内容(注意已添加 UID 过滤,避免记录系统进程):

# 监控所有用户执行的命令(execve 系统调用,过滤系统用户)
-a exit,always -F arch=b64 -S execve -F auid>=1000 -F auid!=4294967295 -k command_exec# 监控敏感文件访问(如/etc/shadow)
-w /etc/shadow -p wa -k shadow_access# 监控挂载操作
-a exit,always -F arch=b64 -S mount -k mount_ops

4. 加载规则
修改配置后,不建议直接重启服务,以免短暂中断审计。使用 auditctl -R 加载规则文件或 systemctl reload。

# 推荐方式:直接加载规则文件,无需重启服务
auditctl -R /etc/audit/rules.d/99-custom.rules# 或者使用 systemd reload
systemctl reload auditd

怎么验证是否生效

1. 检查规则列表
使用 auditctl -l 查看当前内核中加载的规则,确认刚才配置的规则是否存在。

auditctl -l | grep command_exec

2. 触发操作并查询日志
执行一个简单的命令,然后使用 ausearch 查询日志。日志默认位于/var/log/audit/audit.log。

ls /tmp
ausearch -k command_exec -ts recent

如果输出中包含 type=SYSCALL 且 comm 字段显示刚才执行的命令,说明配置生效。

常见坑

1. 日志磁盘空间
监控 execve 会产生大量日志,尤其是高并发服务器。务必添加 auid>=1000 过滤,否则系统进程执行也会被记录,迅速写满磁盘。同时配置 logrotate 或设置 auditd 的最大日志文件大小(max_log_file)。

2. 规则顺序影响性能
auditd 规则按顺序匹配,过于复杂的规则或过多的通配符会增加内核开销。建议先少量关键规则,观察负载后再扩展。

3. 临时规则与持久化
使用 auditctl 命令添加的规则重启后失效。生产环境必须将规则写入/etc/audit/rules.d/*.rules 文件并确保服务重启后自动加载。

4. 容器环境限制
容器内通常共享宿主机内核审计 namespace,建议在宿主机配置规则并通过容器 ID 过滤。直接在容器内配置 auditd 通常不可行或效果受限。

参考来源

  • Red Hat Documentation, "Configuring the audit framework", access.redhat.com
  • Linux Audit Project, "Auditd Configuration", linux-audit.com
  • Linux Man Pages, "auditctl(8)", man7.org

原文链接:https://www.zjcp.cc/ask/11369.html

http://www.jsqmd.com/news/835422/

相关文章:

  • 2026年4月小儿高烧药产品口碑推荐,扁桃体炎高烧药/肺炎高烧药/流感高烧药/高烧药/肺炎发烧药,高烧药产品哪家好 - 品牌推荐师
  • 2026年|最新12个降AI工具实测 - 降AI实验室
  • PTA作业集心得总结
  • (sprint)第6天:前端页面开发(评估反馈详情和表单)
  • 2026年北美黑胡桃家具工厂,推荐一下北美黑胡桃家具厂,源头北美黑胡桃家具工厂 - 品牌推广大师
  • Claude Code快捷键+指令大全! 13大类速查不用背,从Ctrl+C到多Agent协作一次整理
  • C++ 容器常见问题:emplace_back、push_back、reserve、resize 的区别
  • 2026年论文降AI率教程:专家亲授的去AI痕迹技巧 - 降AI实验室
  • 5.13 项目进度
  • 天下熙熙,皆为利来-----中国是部金融史上读后感
  • OO 作业集 1-3 航班货物配载与载重平衡系统总结博客
  • 开源 WAF 雷池与商业云盾在防护 CC 攻击方面的区别对比?
  • 自主可控新纪元:2026 信创芯片产业全景图
  • 5.12 vue工程化
  • 跑了6家嵌入式培训机构,说说我的真实感受(2026年)
  • 变化检测“假阳性灾难”的突围之路:从 SCanNet v1 到 v6 的实战复盘
  • 2026年4月目前优质的电动葫芦公司推荐,铝合金KBK/安徽电动葫芦/刚性KBK,电动葫芦实力厂家选哪家 - 品牌推荐师
  • 2026年|知网AIGC率高怎么办?亲测6款降AI工具,这款真保住格式!(附对比图) - 降AI实验室
  • 2026年4月优秀的双组份密封胶厂商口碑推荐,聚乙烯闭孔泡沫板/聚硫密封胶/钢边止水带,双组份密封胶品牌口碑推荐 - 品牌推荐师
  • 99.鄂尔多斯报考CPPM与SCMP,职场进阶优选众智商学院 - 众智商学院课程中心
  • 97.桂林报考CPPM与SCMP,职场进阶优选众智商学院 - 众智商学院课程中心
  • 98.肇庆报考CPPM与SCMP,职场进阶优选众智商学院 - 众智商学院课程中心
  • 佛山:报考中质协六西格玛黑带和绿带指定报考机构推荐 - 众智商学院课程中心
  • 服务器感染挖矿病毒后如何彻底清理定时任务与隐藏进程?
  • 全自动太阳能清扫机器人 - GrowthUME
  • 96.阜阳报考CPPM与SCMP,职场进阶优选众智商学院 - 众智商学院课程中心
  • 推荐一个石家庄的旅行社 20年多的老旅行社了-石家庄燕赵旅行社 - 好物推荐官
  • 京郊顺义初夏|一树樱桃红,赴一场京郊田园甜蜜之约 - GrowthUME
  • Vue自定义指令实现点击事件权限拦截控制的npm插件
  • 国补政策2026年最新消息通知:5月第二批国补625亿申领中!618买手机空调电脑家电叠加国补领取入口操作流程一览 - 速递信息