Linux Trigger如何实现安全审计
导读:Linux 审计触发的安全审计实现 一 概念与目标 在 Linux 中,“Trigger”通常指由文件/目录变更、系统调用、登录事件等触发的审计记录。实现安全审计的核心是启用并正确配置 auditd 审计子系统,通过预置规则让关键事件“触...
Linux 审计触发的安全审计实现
一 概念与目标
- 在 Linux 中,“Trigger”通常指由文件/目录变更、系统调用、登录事件等触发的审计记录。实现安全审计的核心是启用并正确配置 auditd 审计子系统,通过预置规则让关键事件“触发”写入结构化日志,便于溯源、告警与合规。审计不会替你阻止攻击,但能提供关键证据链,常与 SELinux/AppArmor 等强制访问控制配合,满足如等保对主机审计日志的要求。
二 快速落地步骤
- 安装与启动
- RHEL/CentOS/KylinOS:sudo yum install -y auditd*;Debian/Ubuntu:sudo apt install auditd
- 启动与自启:sudo systemctl enable --now auditd;检查:sudo systemctl status auditd
- 配置触发规则(示例)
- 监控关键配置文件变更:sudo auditctl -w /etc/passwd -p wa -k passwd_changes
- 监控特权账户文件:sudo auditctl -w /etc/shadow -p wa -k shadow_changes
- 监控关键目录:sudo auditctl -w /production -p wa -k prod_access
- 按系统调用精确触发(64 位):sudo auditctl -a always,exit -F arch=b64 -S chmod,fchmod,fchmodat -k chmod_events
- 持久化规则
- 在 /etc/audit/rules.d/audit.rules 写入上述规则,执行:sudo augenrules --load(或重启 auditd),使重启后依然生效
- 验证与查询
- 触发变更后检索:sudo ausearch -k passwd_changes;按文件:sudo ausearch -f /etc/passwd
- 生成报表:sudo aureport -a(综合)、sudo aureport -au(认证失败)、sudo aureport -m(账户变更)
三 典型触发场景与规则模板
| 场景 | 触发条件 | 规则示例 | 关键字段/用途 |
|---|---|---|---|
| 敏感文件被修改 | 对文件写入/属性变更 | -w /etc/passwd -p wa -k passwd_changes | 记录谁在何时改了关键文件 |
| 权限被修改 | chmod 类系统调用 | -a always,exit -F arch=b64 -S chmod,fchmod,fchmodat -k chmod_events | 发现越权与隐蔽提权路径 |
| 特权账户文件访问 | shadow 等被读/写 | -w /etc/shadow -p wa -k shadow_changes | 捕捉影子文件异常访问 |
| 关键目录访问 | 目录内增删改 | -w /var/www -p wa -k www_access | 覆盖 Web 目录变更 |
| 命令执行审计 | 进程执行事件 | -a always,exit -F arch=b64 -S execve -k proc_exec | 结合 PID/PPID/comm/exe 溯源 |
| 登录与提权 | 登录/提权相关 | -w /var/log/faillog -p wa -k user_logins | 辅助暴力破解与提权检测 |
| 说明:规则中的 -k 为自定义关键字,便于后续 ausearch 快速筛选;目录监控建议聚焦业务关键路径,避免全盘监控带来性能压力。 |
四 日志转发与集中化
- 通过 audispd 将审计事件转发至 rsyslog
- 启用插件:编辑 /etc/audisp/plugins.d/syslog.conf,设置 active=yes,args=LOG_LOCAL0
- 避免重复写入 messages:在 /etc/rsyslog.conf 的 *.info 行加入 local0.none
- 配置远程日志服务器:在 rsyslog 末尾添加 . @192.168.31.51:514(UDP),或 @@ 使用 TCP
- 重启服务:sudo systemctl restart auditd rsyslog
- 审计日志默认落盘于 /var/log/audit/audit.log,集中化后可统一做索引、留存与告警。
五 性能与合规要点
- 规则最小化与分层:优先监控关键文件/目录、特权账户文件、认证与权限变更,避免对大范围路径(如根目录)全盘监控
- 持久化与变更管理:规则统一放入 /etc/audit/rules.d/,用 augenrules 加载;变更前后用 auditctl -l 核对,保留变更记录
- 日志完整性与留存:确保 auditd 以 root 运行、日志目录受保护;配置合理的轮转与保留策略,防止日志被未授权篡改或磁盘被占满
- 性能与干扰:审慎使用系统调用监控,关注 arch(b64/b32) 匹配;与 SELinux/AppArmor 策略协同,避免相互干扰
- 合规与报表:定期用 aureport 生成账户、认证、文件等报表,对异常进行基线比对与告警联动。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux Trigger如何实现安全审计
本文地址: https://pptw.com/jishu/769691.html
