如何在Linux上设置系统安全审计

来源:网站主作者:弦宿​头衔:草根站长
导读:本期聚焦于小伙伴创作的《如何在Linux上设置系统安全审计》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Linux上设置系统安全审计》有用,将其分享出去将是对创作者最好的鼓励。

在Linux系统中设置系统安全审计,核心是通过auditd服务实现系统操作的全程记录,方便后续安全排查和合规性检查。auditd是Linux内核自带的审计框架的用户态组件,能够捕获系统调用、文件访问、用户登录等各类事件,是服务器安全防护的重要工具。

如何在Linux上设置系统安全审计

安装并启动auditd服务

大多数主流Linux发行版默认已经预装了auditd,若未安装可通过对应包管理器手动安装。

不同发行版安装命令

  • CentOS/RHEL系统:yum install audit
  • Ubuntu/Debian系统:apt-get install auditd

安装完成后需要启动服务并设置开机自启,避免服务重启后审计功能失效。

# 启动auditd服务
systemctl start auditd
# 设置开机自启
systemctl enable auditd
# 检查服务运行状态
systemctl status auditd

配置基础审计规则

auditd的审计规则分为临时规则和永久规则,临时规则重启后会失效,永久规则需要写入配置文件持久化保存。

临时规则配置

使用auditctl命令可以添加临时审计规则,以下是几个常用场景的示例。

# 监控/etc/passwd文件的读写和属性修改操作
auditctl -w /etc/passwd -p rwxa -k passwd_change
# 监控所有用户的登录和注销操作,关联系统调用
auditctl -a always,exit -F arch=b64 -S login -S logout -k user_login
# 监控sudo命令的执行操作
auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k sudo_exec

规则中的参数说明:-w指定监控的文件路径,-p指定监控的权限类型(r读、w写、x执行、a属性修改),-k指定规则标签方便后续日志筛选,-a指定规则添加到对应队列,-F指定过滤条件,-S指定监控的系统调用。

永久规则配置

临时规则在系统重启后会丢失,需要将规则写入/etc/audit/rules.d/audit.rules文件实现持久化。以下是上述临时规则对应的永久配置内容。

# 监控/etc/passwd文件操作
-w /etc/passwd -p rwxa -k passwd_change
# 监控用户登录注销
-a always,exit -F arch=b64 -S login -S logout -k user_login
# 监控sudo执行
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k sudo_exec

写入完成后执行以下命令让规则生效:

# 重新加载审计规则
augenrules --load
# 验证规则是否生效
auditctl -l

审计日志查看与分析

auditd的审计日志默认存储在/var/log/audit/audit.log文件中,直接查看原始日志可读性较差,可结合ausearchaureport工具进行分析。

使用ausearch筛选日志

ausearch可以根据规则标签、时间、事件类型等条件筛选日志,以下是常用示例。

# 根据规则标签passwd_change筛选相关日志
ausearch -k passwd_change
# 查看今天的所有审计日志
ausearch --start today
# 查看指定用户的操作日志,uid替换为实际用户ID
ausearch -ui 1000

使用aureport生成统计报告

aureport可以生成格式化的审计报告,方便快速了解系统审计概况。

# 生成所有事件的汇总报告
aureport
# 生成用户登录相关的报告
aureport -l
# 生成文件访问相关的报告
aureport -f

审计日志的日常维护

审计日志会持续增长,需要做好日志轮转和存储空间管理,避免日志占满磁盘影响系统运行。

Linux系统默认已经配置了audit.log的日志轮转规则,配置文件为/etc/logrotate.d/audit,可以根据实际需求调整轮转周期和保留份数。同时可以设置日志大小阈值,当日志达到指定大小时自动触发告警,方便管理员及时处理。

注意事项

  • 审计规则不宜设置过多,否则会产生大量冗余日志,增加存储和分析压力,建议只监控关键文件和核心操作。
  • 审计日志属于敏感数据,需要设置严格的文件权限,避免非授权用户查看或篡改。
  • 定期备份审计日志,防止日志丢失导致安全事件无法追溯。

Linux系统安全审计auditd审计规则日志分析修改时间:2026-07-07 01:27:23

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。