售前咨询400-838-0503

云服务器Linux如何配置系统审计(auditd)?

发布:2025-05-07 02:00

Linux系统审计(auditd)完整配置指南:从入门到精通

在云服务器环境中,系统审计是保障服务器安全的重要防线。auditd作为Linux内核的审计工具,能够详细记录系统中发生的各种事件。本文将详细介绍如何在云服务器上配置auditd审计系统,帮助您构建完善的安全监控机制。

一、auditd基础概念

auditd是Linux内核的一个子系统,它由以下核心组件构成:

  • 内核模块:负责捕获系统事件
  • 用户空间守护进程:收集并记录审计信息
  • 规则配置工具:auditctl用于管理审计规则
  • 日志分析工具:ausearch和aureport用于查询和分析审计日志

二、安装auditd服务

大多数主流Linux发行版默认已安装auditd,若未安装可通过以下命令安装:

# Ubuntu/Debian
sudo apt update && sudo apt install auditd -y

# CentOS/RHEL
sudo yum install audit audit-libs -y

三、auditd核心配置

1. 主配置文件/etc/audit/auditd.conf

关键配置参数说明:

# 日志文件位置
log_file = /var/log/audit/audit.log

# 日志轮转策略
max_log_file = 8
num_logs = 5

# 磁盘空间不足时的处理方式
space_left = 75
space_left_action = email
action_mail_acct = root
admin_space_left = 50
admin_space_left_action = suspend

2. 审计规则配置

通过auditctl命令添加临时规则:

# 监控/etc/passwd文件访问
sudo auditctl -w /etc/passwd -p warx -k password_file

# 监控sudo命令执行
sudo auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo

永久规则需添加到/etc/audit/rules.d/目录下的规则文件中。

四、实战配置案例

1. 监控用户登录

sudo auditctl -a always,exit -F arch=b64 -S login -S sshd -k authentication

2. 监控敏感目录

sudo auditctl -w /etc/ -p wa -k etc_changes
sudo auditctl -w /var/www/ -p wa -k web_content

3. 监控特权命令

sudo auditctl -a always,exit -F path=/usr/bin/passwd -F perm=x -k password_changes
sudo auditctl -a always,exit -F path=/usr/sbin/visudo -F perm=x -k sudo_changes

五、日志分析与报告

使用ausearch查询特定事件:

# 查询所有与sudo相关的事件
sudo ausearch -k sudo_changes

# 查询指定时间范围内的事件
sudo ausearch -ts "12/15/2023 00:00:00" -te "12/15/2023 23:59:59"

使用aureport生成汇总报告:

# 生成系统事件汇总报告
sudo aureport

# 生成用户登录报告
sudo aureport -au

六、最佳实践建议

  • 将审计日志发送到远程日志服务器,防止本地篡改
  • 定期检查审计日志,建议设置自动化分析脚本
  • 对于高负载服务器,需优化审计规则避免性能影响
  • 结合SELinux使用可提供更全面的安全监控
  • 重要规则应设置为不可变规则(-i选项)

通过合理配置auditd审计系统,管理员可以全面掌握云服务器的安全状况,及时发现潜在威胁。建议根据实际业务需求定制审计规则,并建立定期的日志审查机制,才能真正发挥系统审计的价值。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单