构建 Linux 安全审计环境需启用 auditd 服务,安装后启动并设置开机自启,通过配置规则监控关键文件、系统调用及用户行为,如 /etc/passwd 读写、execve 调用和 UID 操作,使用 ausearch 与 aureport 分析日志,保护日志目录权限并定期备份,确保系统安全合规。

构建 Linux 安全审计环境的核心在于启用并合理配置 auditd 服务,通过系统级日志记录关键操作,实现对文件访问、用户行为、系统调用等的追踪。重点是明确监控目标、设置有效规则、定期分析日志。
安装与启动 auditd 服务
大多数 Linux 发行版默认未开启审计功能,需手动安装 auditd 包:
- CentOS/RHEL:yum install audit audit-libs -y
- Ubuntu/Debian:apt-get install auditd audispd-plugins -y
安装后启动服务并设为开机自启:
systemctl enable auditd –now
可通过 systemctl status auditd 确认运行状态。服务启动后,审计规则将加载 /etc/audit/rules.d/ 目录下的配置,并写入 /var/log/audit/audit.log。
配置核心审计规则
审计规则分为系统启动规则和实时规则,建议编辑静态规则文件避免重启失效:
监控关键系统文件或目录
例如监控 /etc/passwd、/etc/shadow、/etc/sudoers 的读写操作:
-a always,exit -F path=/etc/passwd -F perm=wa -k identity_change -a always,exit -F path=/etc/shadow -F perm=wa -k identity_change -a always,exit -F path=/etc/sudoers -F perm=wa -k privilege escalation
其中 -k 用于标记事件关键词,便于后续搜索。
监控特定系统调用
如监控所有用户的执行行为(execve):
-a always,exit -F arch=b64 -S execve -k execution_trace
可添加多个 - S 参数监控多个调用,常用于检测提权或可疑程序执行。
监控用户行为
针对特定 UID 的操作进行记录:
-a always,exit -F arch=b64 -S unlink,rmdir -F auid=1000 -k user_1000_delete
auid 表示原始登录用户,即使切换用户也能追溯。
日志查询与分析
使用 ausearch工具 按条件检索日志:
- 按关键字查:ausearch -k identity_change
- 按时间查:ausearch -ts yesterday -te today
- 按系统调用查:ausearch -sc execve
- 按用户查:ausearch -ua 1000
使用 aureport 生成摘要报告:
- aureport –summary:总体事件统计
- aureport -f -i:文件操作报告
- aureport -u -i:用户活动报告
发现异常后,结合具体事件的 ausearch 输出深入分析上下文。
安全加固与维护建议
审计日志本身也需保护,避免被篡改或删除:
- 限制 /var/log/audit/ 目录权限为 0700,属主 root:root
- 配置 logrotate 防止日志过大,保留策略符合合规要求
- 定期将日志同步到远程日志服务器(如通过 rsyslog 或 auditd 的 audispd 插件)
- 禁用不必要的审计规则以减少性能影响
- 测试新规则前先用 auditctl 临时加载验证效果
基本上就这些。合理配置后,Linux 审计系统能有效支撑入侵检测、行为追溯和合规审计需求。