答案:Linux系统审计通过auditd服务记录关键操作,保障安全并满足合规要求。安装后启动auditd服务,使用auditctl添加临时规则或编辑/etc/audit/rules.d/audit.rules实现持久化规则,如监控文件访问和系统调用;日志存于/var/log/audit/audit.log,可用ausearch按关键词、用户、时间查询,aureport生成汇总、文件、用户报告;重点审计敏感文件、目录、特权命令及登录事件,避免过度审计影响性能,高安全场景建议日志转发至SIEM系统。

Linux系统审计是保障系统安全的重要手段,通过记录关键操作行为,帮助管理员追踪异常活动、排查问题和满足合规要求。配置和分析审计日志主要依赖auditd服务,它是Linux审计框架的核心组件。
启用并配置auditd服务
大多数主流Linux发行版(如CentOS、RHEL、Ubuntu)默认提供auditd包,需先确认安装并启动服务。
1. 安装auditd(如未预装):- CentOS/RHEL:
yum install audit audit-libs- Ubuntu/Debian:
apt-get install auditd audispd-plugins安装完成后启动服务并设置开机自启:
systemctl start auditdsystemctl enable auditd
可通过systemctl status auditd检查运行状态。
配置审计规则
审计规则定义了需要监控的系统调用或文件访问行为。规则分为临时规则(运行时添加)和永久规则(重启后保留)。
常用auditctl命令添加临时规则:- 监控特定文件的读写执行:
auditctl -w /etc/passwd -p rwxa -k passwd_access其中 -p 指定权限(read/write/execute/attribute),-k 是用户定义的关键词便于搜索。
- 监控系统调用(如所有用户删除文件操作):
auditctl -a always,exit -F arch=b64 -S unlink -S unlinkat -k file_deletion要使规则持久化,需将规则写入配置文件/etc/audit/rules.d/audit.rules,例如:
-w /etc/shadow -p rw -k shadow_write -a always,exit -F arch=b64 -S execve -k command_execution
保存后重启auditd服务生效:systemctl restart auditd。
查看与分析审计日志
审计日志默认存储在/var/log/audit/audit.log。直接查看该文件内容即可获取原始记录。
- 按关键词查找:
ausearch -k passwd_access- 查看特定用户的操作:
ausearch -ui 1000(UID为1000的用户)- 查询某时间段的日志:
ausearch -ts recent -te tomorrow使用aureport可生成摘要报告:
-
aureport --summary:总体事件汇总 -
aureport -f -i:文件访问报告(-i表示人性化输出) -
aureport -u -i:用户活动报告
常见审计场景建议
实际环境中可重点关注以下审计点:
- 关键配置文件:/etc/passwd、/etc/shadow、/etc/sudoers
- 敏感目录:/root、/home/*/.ssh/
- 特权命令执行:通过execve系统调用监控sudo、su、reboot等
- 登录与登出事件:已由系统自动记录,可通过ausearch -m USER_LOGIN查看
定期审查日志,结合时间、用户、操作类型综合判断是否存在异常行为。对于高安全需求环境,建议将日志集中转发至SIEM系统。
基本上就这些。合理配置审计规则并定期分析日志,能显著提升系统的可观测性和安全性。注意避免过度审计导致日志膨胀影响性能。










